jni.h revision 1472
5a3bd0ef762b8a3238869ac9963194555e39e6a7jpikus * Copyright (c) 1997, 2007, Oracle and/or its affiliates. All rights reserved.
5a3bd0ef762b8a3238869ac9963194555e39e6a7jpikus * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5a3bd0ef762b8a3238869ac9963194555e39e6a7jpikus * This code is free software; you can redistribute it and/or modify it
5a3bd0ef762b8a3238869ac9963194555e39e6a7jpikus * under the terms of the GNU General Public License version 2 only, as
* or visit www.oracle.com if you need additional information or have any
#ifndef _JAVASOFT_JNI_H_
#define _JAVASOFT_JNI_H_
#include <stdio.h>
#include <stdarg.h>
/* jni_md.h contains the machine-dependent typedefs for jbyte, jint
#include "jni_md.h"
#ifdef __cplusplus
typedef unsigned char jboolean;
typedef unsigned short jchar;
typedef short jshort;
typedef float jfloat;
typedef double jdouble;
#ifdef __cplusplus
struct _jobject;
typedef union jvalue {
jboolean z;
jbyte b;
jchar c;
jshort s;
jint i;
jlong j;
jfloat f;
jdouble d;
jobject l;
} jvalue;
struct _jfieldID;
struct _jmethodID;
typedef enum _jobjectType {
JNIInvalidRefType = 0,
#define JNI_FALSE 0
char *name;
char *signature;
void *fnPtr;
struct JNINativeInterface_;
struct JNIEnv_;
#ifdef __cplusplus
struct JNIInvokeInterface_;
struct JavaVM_;
#ifdef __cplusplus
struct JNINativeInterface_ {
void *reserved0;
void *reserved1;
void *reserved2;
void *reserved3;
struct JNIEnv_ {
#ifdef __cplusplus
void ExceptionDescribe() {
void ExceptionClear() {
return result;
const char *sig) {
return result;
return result;
return result;
return result;
return result;
return result;
return result;
return result;
return result;
return result;
return result;
return result;
return result;
return result;
return result;
return result;
return result;
return result;
const char *sig) {
const char *sig) {
return result;
return result;
return result;
return result;
return result;
return result;
return result;
return result;
return result;
const char *sig) {
typedef struct JavaVMOption {
char *optionString;
void *extraInfo;
} JavaVMOption;
typedef struct JavaVMInitArgs {
typedef struct JavaVMAttachArgs {
char *name;
#define JDK1_2
#define JDK1_4
struct JNIInvokeInterface_ {
void *reserved0;
void *reserved1;
void *reserved2;
struct JavaVM_ {
#ifdef __cplusplus
#ifdef _JNI_IMPLEMENTATION_
#ifdef __cplusplus