1 /* 2 * Copyright (c) 1997, 2008, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. Oracle designates this 8 * particular file as subject to the "Classpath" exception as provided 9 * by Oracle in the LICENSE file that accompanied this code. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26 #ifndef _JAVASOFT_JVM_MD_H_ 27 #define _JAVASOFT_JVM_MD_H_ 28 29 /* 30 * This file is currently collecting system-specific dregs for the 31 * JNI conversion, which should be sorted out later. 32 */ 33 34 #include <dirent.h> /* For DIR */ 35 #include <sys/param.h> /* For MAXPATHLEN */ 36 #include <unistd.h> /* For F_OK, R_OK, W_OK */ 37 #include <stddef.h> /* For ptrdiff_t */ 38 #include <stdint.h> /* For uintptr_t */ 39 40 #define JNI_ONLOAD_SYMBOLS {"JNI_OnLoad"} 41 #define JNI_ONUNLOAD_SYMBOLS {"JNI_OnUnload"} 42 43 #define JNI_LIB_PREFIX "lib" 44 #ifdef __APPLE__ 45 #define JNI_LIB_SUFFIX ".dylib" 46 #define VERSIONED_JNI_LIB_NAME(NAME, VERSION) JNI_LIB_PREFIX NAME "." VERSION JNI_LIB_SUFFIX 47 #else 48 #define JNI_LIB_SUFFIX ".so" 49 #define VERSIONED_JNI_LIB_NAME(NAME, VERSION) JNI_LIB_PREFIX NAME JNI_LIB_SUFFIX "." VERSION 50 #endif 51 #define JNI_LIB_NAME(NAME) JNI_LIB_PREFIX NAME JNI_LIB_SUFFIX 52 53 #define JVM_MAXPATHLEN MAXPATHLEN 54 55 #define JVM_R_OK R_OK 56 #define JVM_W_OK W_OK 57 #define JVM_X_OK X_OK 58 #define JVM_F_OK F_OK 59 60 /* 61 * File I/O 62 */ 63 64 #include <sys/types.h> 65 #include <sys/stat.h> 66 #include <fcntl.h> 67 #include <errno.h> 68 // Android-changed: Fuchsia: Point to correct header location. http://b/119426171 69 // #include <sys/signal.h> 70 #if !defined(__Fuchsia__) 71 #include <sys/signal.h> 72 #else 73 #include <signal.h> 74 #endif 75 76 /* O Flags */ 77 78 #define JVM_O_RDONLY O_RDONLY 79 #define JVM_O_WRONLY O_WRONLY 80 #define JVM_O_RDWR O_RDWR 81 #define JVM_O_O_APPEND O_APPEND 82 #define JVM_O_EXCL O_EXCL 83 #define JVM_O_CREAT O_CREAT 84 // JVM_O_DELETE use is discouraged (until b/28950284 is fixed), 85 // may cause bugs on some filesystems. 86 #define JVM_O_DELETE 0x10000 87 88 /* Signals */ 89 90 #define JVM_SIGINT SIGINT 91 #define JVM_SIGTERM SIGTERM 92 93 94 #endif /* !_JAVASOFT_JVM_MD_H_ */ 95