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 <windef.h> 35#include <winbase.h> 36 37#include "jni.h" 38 39#define JNI_ONLOAD_SYMBOLS {"_JNI_OnLoad@8", "JNI_OnLoad"} 40#define JNI_ONUNLOAD_SYMBOLS {"_JNI_OnUnload@8", "JNI_OnUnload"} 41 42#define JNI_LIB_PREFIX "" 43#define JNI_LIB_SUFFIX ".dll" 44 45struct dirent { 46 char d_name[MAX_PATH]; 47}; 48 49typedef struct { 50 struct dirent dirent; 51 char *path; 52 HANDLE handle; 53 WIN32_FIND_DATA find_data; 54} DIR; 55 56#include <stddef.h> /* For uintptr_t */ 57#include <stdlib.h> 58 59#define JVM_MAXPATHLEN _MAX_PATH 60 61#define JVM_R_OK 4 62#define JVM_W_OK 2 63#define JVM_X_OK 1 64#define JVM_F_OK 0 65 66JNIEXPORT void * JNICALL 67JVM_GetThreadInterruptEvent(); 68 69/* 70 * These routines are only reentrant on Windows 71 */ 72 73JNIEXPORT struct protoent * JNICALL 74JVM_GetProtoByName(char* name); 75 76JNIEXPORT struct hostent* JNICALL 77JVM_GetHostByAddr(const char* name, int len, int type); 78 79JNIEXPORT struct hostent* JNICALL 80JVM_GetHostByName(char* name); 81 82/* 83 * File I/O 84 */ 85 86#include <sys/types.h> 87#include <sys/stat.h> 88#include <fcntl.h> 89#include <errno.h> 90#include <signal.h> 91 92/* O Flags */ 93 94#define JVM_O_RDONLY O_RDONLY 95#define JVM_O_WRONLY O_WRONLY 96#define JVM_O_RDWR O_RDWR 97#define JVM_O_O_APPEND O_APPEND 98#define JVM_O_EXCL O_EXCL 99#define JVM_O_CREAT O_CREAT 100 101/* Signals */ 102 103#define JVM_SIGINT SIGINT 104#define JVM_SIGTERM SIGTERM 105 106 107#endif /* !_JAVASOFT_JVM_MD_H_ */ 108