Commit 93745862 by Ranjit Mathew Committed by Tom Tromey

jni.h: Add missing JNICALL and JNIEXPORT attributes to function and function pointer...

2002-11-19  Ranjit Mathew <rmathew@hotmail.com>

	* include/jni.h: Add missing JNICALL and JNIEXPORT attributes
	to function and function pointer declarations in accordance with
	Sun's JDKs. Define JNIIMPEXP to either JNIEXPORT or JNIIMPORT
	based on whether __GCJ_JNI_IMPL__ has been defined or not.
	* jni.cc: Add missing JNICALL and JNIEXPORT attributes to
	JNI function definitions.

From-SVN: r59277
parent d5fc82c5
2002-11-19 Ranjit Mathew <rmathew@hotmail.com>
* include/jni.h: Add missing JNICALL and JNIEXPORT attributes
to function and function pointer declarations in accordance with
Sun's JDKs. Define JNIIMPEXP to either JNIEXPORT or JNIIMPORT
based on whether __GCJ_JNI_IMPL__ has been defined or not.
* jni.cc: Add missing JNICALL and JNIEXPORT attributes to
JNI function definitions.
2002-11-18 Jesse Rosenstock <jmr@ugcs.caltech.edu> 2002-11-18 Jesse Rosenstock <jmr@ugcs.caltech.edu>
* java/nio/charset/CoderResult.java (Cache.get): Fix a bug * java/nio/charset/CoderResult.java (Cache.get): Fix a bug
......
...@@ -174,7 +174,7 @@ typedef void *jmethodID; ...@@ -174,7 +174,7 @@ typedef void *jmethodID;
#define JNI_EVERSION -3 #define JNI_EVERSION -3
/* Linkage and calling conventions. */ /* Linkage and calling conventions. */
#if defined(_WIN32) || defined (__WIN32__) || defined (WIN32) #if defined (_WIN32) || defined (__WIN32__) || defined (WIN32)
#define JNIIMPORT __declspec(dllimport) #define JNIIMPORT __declspec(dllimport)
#define JNIEXPORT __declspec(dllexport) #define JNIEXPORT __declspec(dllexport)
...@@ -188,6 +188,12 @@ typedef void *jmethodID; ...@@ -188,6 +188,12 @@ typedef void *jmethodID;
#endif /* !( _WIN32 || __WIN32__ || WIN32) */ #endif /* !( _WIN32 || __WIN32__ || WIN32) */
#ifdef __GCJ_JNI_IMPL__
#define JNIIMPEXP JNIEXPORT
#else
#define JNIIMPEXP JNIIMPORT
#endif /* ! __GCJ_JNI_IMPL__ */
#ifdef __cplusplus #ifdef __cplusplus
extern "C" extern "C"
{ {
...@@ -195,14 +201,14 @@ extern "C" ...@@ -195,14 +201,14 @@ extern "C"
/* These functions might be defined in libraries which we load; the /* These functions might be defined in libraries which we load; the
JNI implementation calls them at the appropriate times. */ JNI implementation calls them at the appropriate times. */
extern jint JNI_OnLoad (JavaVM *, void *); extern JNIEXPORT jint JNICALL JNI_OnLoad (JavaVM *, void *);
extern void JNI_OnUnload (JavaVM *, void *); extern JNIEXPORT void JNICALL JNI_OnUnload (JavaVM *, void *);
/* These functions are called by user code to start using the /* These functions are called by user code to start using the
invocation API. */ invocation API. */
extern jint JNI_GetDefaultJavaVMInitArgs (void *); extern JNIIMPEXP jint JNICALL JNI_GetDefaultJavaVMInitArgs (void *);
extern jint JNI_CreateJavaVM (JavaVM **, void **, void *); extern JNIIMPEXP jint JNICALL JNI_CreateJavaVM (JavaVM **, void **, void *);
extern jint JNI_GetCreatedJavaVMs(JavaVM **, jsize, jsize *); extern JNIIMPEXP jint JNICALL JNI_GetCreatedJavaVMs(JavaVM **, jsize, jsize *);
#ifdef __cplusplus #ifdef __cplusplus
}; };
...@@ -242,419 +248,418 @@ struct JNINativeInterface ...@@ -242,419 +248,418 @@ struct JNINativeInterface
_Jv_func reserved2; _Jv_func reserved2;
_Jv_func reserved3; _Jv_func reserved3;
jint (*GetVersion) (JNIEnv *); jint (JNICALL *GetVersion) (JNIEnv *);
jclass (*DefineClass) (JNIEnv *, jobject, jclass (JNICALL *DefineClass) (JNIEnv *, jobject,
const jbyte *, jsize); const jbyte *, jsize);
jclass (*FindClass) (JNIEnv *, const char *); jclass (JNICALL *FindClass) (JNIEnv *, const char *);
jmethodID (*FromReflectedMethod) (JNIEnv *, jobject); jmethodID (JNICALL *FromReflectedMethod) (JNIEnv *, jobject);
jfieldID (*FromReflectedField) (JNIEnv *, jobject); jfieldID (JNICALL *FromReflectedField) (JNIEnv *, jobject);
jobject (*ToReflectedMethod) (JNIEnv *, jclass, jmethodID, jobject (JNICALL *ToReflectedMethod) (JNIEnv *, jclass, jmethodID,
jboolean); jboolean);
jclass (*GetSuperclass) (JNIEnv *, jclass); jclass (JNICALL *GetSuperclass) (JNIEnv *, jclass);
jboolean (*IsAssignableFrom) (JNIEnv *, jclass, jclass); jboolean (JNICALL *IsAssignableFrom) (JNIEnv *, jclass, jclass);
jobject (*ToReflectedField) (JNIEnv *, jclass, jfieldID, jobject (JNICALL *ToReflectedField) (JNIEnv *, jclass, jfieldID,
jboolean); jboolean);
jint (*Throw) (JNIEnv *, jthrowable); jint (JNICALL *Throw) (JNIEnv *, jthrowable);
jint (*ThrowNew) (JNIEnv *, jclass, const char *); jint (JNICALL *ThrowNew) (JNIEnv *, jclass,
jthrowable (*ExceptionOccurred) (JNIEnv *); const char *);
void (*ExceptionDescribe) (JNIEnv *); jthrowable (JNICALL *ExceptionOccurred) (JNIEnv *);
void (*ExceptionClear) (JNIEnv *); void (JNICALL *ExceptionDescribe) (JNIEnv *);
void (*FatalError) (JNIEnv *, const char *); void (JNICALL *ExceptionClear) (JNIEnv *);
void (JNICALL *FatalError) (JNIEnv *, const char *);
jint (*PushLocalFrame) (JNIEnv *, jint);
jobject (*PopLocalFrame) (JNIEnv *, jobject); jint (JNICALL *PushLocalFrame) (JNIEnv *, jint);
jobject (JNICALL *PopLocalFrame) (JNIEnv *, jobject);
jobject (*NewGlobalRef) (JNIEnv *, jobject);
void (*DeleteGlobalRef) (JNIEnv *, jobject); jobject (JNICALL *NewGlobalRef) (JNIEnv *, jobject);
void (*DeleteLocalRef) (JNIEnv *, jobject); void (JNICALL *DeleteGlobalRef) (JNIEnv *, jobject);
jboolean (*IsSameObject) (JNIEnv *, jobject, jobject); void (JNICALL *DeleteLocalRef) (JNIEnv *, jobject);
jboolean (JNICALL *IsSameObject) (JNIEnv *, jobject,
jobject (*NewLocalRef) (JNIEnv *, jobject); jobject);
jint (*EnsureLocalCapacity) (JNIEnv *, jint);
jobject (JNICALL *NewLocalRef) (JNIEnv *, jobject);
jobject (*AllocObject) (JNIEnv *, jclass); jint (JNICALL *EnsureLocalCapacity) (JNIEnv *, jint);
jobject (*NewObject) (JNIEnv *, jclass, jmethodID, ...);
jobject (*NewObjectV) (JNIEnv *, jclass, jmethodID, jobject (JNICALL *AllocObject) (JNIEnv *, jclass);
_Jv_va_list); jobject (JNICALL *NewObject) (JNIEnv *, jclass,
jobject (*NewObjectA) (JNIEnv *, jclass, jmethodID, jmethodID, ...);
jvalue *); jobject (JNICALL *NewObjectV) (JNIEnv *, jclass,
jmethodID, _Jv_va_list);
jclass (*GetObjectClass) (JNIEnv *, jobject); jobject (JNICALL *NewObjectA) (JNIEnv *, jclass,
jboolean (*IsInstanceOf) (JNIEnv *, jobject, jclass); jmethodID, jvalue *);
jmethodID (*GetMethodID) (JNIEnv *, jclass, const char *,
jclass (JNICALL *GetObjectClass) (JNIEnv *, jobject);
jboolean (JNICALL *IsInstanceOf) (JNIEnv *, jobject, jclass);
jmethodID (JNICALL *GetMethodID) (JNIEnv *, jclass,
const char *, const char *);
jobject (JNICALL *CallObjectMethod) (JNIEnv *, jobject, jmethodID, ...);
jobject (JNICALL *CallObjectMethodV) (JNIEnv *, jobject, jmethodID,
_Jv_va_list);
jobject (JNICALL *CallObjectMethodA) (JNIEnv *, jobject, jmethodID,
jvalue *);
jboolean (JNICALL *CallBooleanMethod) (JNIEnv *, jobject, jmethodID,
...);
jboolean (JNICALL *CallBooleanMethodV) (JNIEnv *, jobject, jmethodID,
_Jv_va_list);
jboolean (JNICALL *CallBooleanMethodA) (JNIEnv *, jobject, jmethodID,
jvalue *);
jbyte (JNICALL *CallByteMethod) (JNIEnv *, jobject, jmethodID, ...);
jbyte (JNICALL *CallByteMethodV) (JNIEnv *, jobject, jmethodID,
_Jv_va_list);
jbyte (JNICALL *CallByteMethodA) (JNIEnv *, jobject, jmethodID,
jvalue *);
jchar (JNICALL *CallCharMethod) (JNIEnv *, jobject, jmethodID, ...);
jchar (JNICALL *CallCharMethodV) (JNIEnv *, jobject, jmethodID,
_Jv_va_list);
jchar (JNICALL *CallCharMethodA) (JNIEnv *, jobject, jmethodID,
jvalue *);
jshort (JNICALL *CallShortMethod) (JNIEnv *, jobject, jmethodID, ...);
jshort (JNICALL *CallShortMethodV) (JNIEnv *, jobject, jmethodID,
_Jv_va_list);
jshort (JNICALL *CallShortMethodA) (JNIEnv *, jobject, jmethodID,
jvalue *);
jint (JNICALL *CallIntMethod) (JNIEnv *, jobject, jmethodID, ...);
jint (JNICALL *CallIntMethodV) (JNIEnv *, jobject, jmethodID,
_Jv_va_list);
jint (JNICALL *CallIntMethodA) (JNIEnv *, jobject, jmethodID,
jvalue *);
jlong (JNICALL *CallLongMethod) (JNIEnv *, jobject, jmethodID, ...);
jlong (JNICALL *CallLongMethodV) (JNIEnv *, jobject, jmethodID,
_Jv_va_list);
jlong (JNICALL *CallLongMethodA) (JNIEnv *, jobject, jmethodID,
jvalue *);
jfloat (JNICALL *CallFloatMethod) (JNIEnv *, jobject, jmethodID, ...);
jfloat (JNICALL *CallFloatMethodV) (JNIEnv *, jobject, jmethodID,
_Jv_va_list);
jfloat (JNICALL *CallFloatMethodA) (JNIEnv *, jobject, jmethodID,
jvalue *);
jdouble (JNICALL *CallDoubleMethod) (JNIEnv *, jobject, jmethodID, ...);
jdouble (JNICALL *CallDoubleMethodV) (JNIEnv *, jobject, jmethodID,
_Jv_va_list);
jdouble (JNICALL *CallDoubleMethodA) (JNIEnv *, jobject, jmethodID,
jvalue *);
void (JNICALL *CallVoidMethod) (JNIEnv *, jobject, jmethodID, ...);
void (JNICALL *CallVoidMethodV) (JNIEnv *, jobject, jmethodID,
_Jv_va_list);
void (JNICALL *CallVoidMethodA) (JNIEnv *, jobject, jmethodID,
jvalue *);
jobject (JNICALL *CallNonvirtualObjectMethod) (JNIEnv *, jobject, jclass,
jmethodID, ...);
jobject (JNICALL *CallNonvirtualObjectMethodV) (JNIEnv *, jobject, jclass,
jmethodID, _Jv_va_list);
jobject (JNICALL *CallNonvirtualObjectMethodA) (JNIEnv *, jobject, jclass,
jmethodID, jvalue *);
jboolean (JNICALL *CallNonvirtualBooleanMethod) (JNIEnv *, jobject, jclass,
jmethodID, ...);
jboolean (JNICALL *CallNonvirtualBooleanMethodV) (JNIEnv *, jobject, jclass,
jmethodID, _Jv_va_list);
jboolean (JNICALL *CallNonvirtualBooleanMethodA) (JNIEnv *, jobject, jclass,
jmethodID, jvalue *);
jbyte (JNICALL *CallNonvirtualByteMethod) (JNIEnv *, jobject, jclass,
jmethodID, ...);
jbyte (JNICALL *CallNonvirtualByteMethodV) (JNIEnv *, jobject, jclass,
jmethodID, _Jv_va_list);
jbyte (JNICALL *CallNonvirtualByteMethodA) (JNIEnv *, jobject, jclass,
jmethodID, jvalue *);
jchar (JNICALL *CallNonvirtualCharMethod) (JNIEnv *, jobject, jclass,
jmethodID, ...);
jchar (JNICALL *CallNonvirtualCharMethodV) (JNIEnv *, jobject, jclass,
jmethodID, _Jv_va_list);
jchar (JNICALL *CallNonvirtualCharMethodA) (JNIEnv *, jobject, jclass,
jmethodID, jvalue *);
jshort (JNICALL *CallNonvirtualShortMethod) (JNIEnv *, jobject, jclass,
jmethodID, ...);
jshort (JNICALL *CallNonvirtualShortMethodV) (JNIEnv *, jobject, jclass,
jmethodID, _Jv_va_list);
jshort (JNICALL *CallNonvirtualShortMethodA) (JNIEnv *, jobject, jclass,
jmethodID, jvalue *);
jint (JNICALL *CallNonvirtualIntMethod) (JNIEnv *, jobject, jclass,
jmethodID, ...);
jint (JNICALL *CallNonvirtualIntMethodV) (JNIEnv *, jobject, jclass,
jmethodID, _Jv_va_list);
jint (JNICALL *CallNonvirtualIntMethodA) (JNIEnv *, jobject, jclass,
jmethodID, jvalue *);
jlong (JNICALL *CallNonvirtualLongMethod) (JNIEnv *, jobject, jclass,
jmethodID, ...);
jlong (JNICALL *CallNonvirtualLongMethodV) (JNIEnv *, jobject, jclass,
jmethodID, _Jv_va_list);
jlong (JNICALL *CallNonvirtualLongMethodA) (JNIEnv *, jobject, jclass,
jmethodID, jvalue *);
jfloat (JNICALL *CallNonvirtualFloatMethod) (JNIEnv *, jobject, jclass,
jmethodID, ...);
jfloat (JNICALL *CallNonvirtualFloatMethodV) (JNIEnv *, jobject, jclass,
jmethodID, _Jv_va_list);
jfloat (JNICALL *CallNonvirtualFloatMethodA) (JNIEnv *, jobject, jclass,
jmethodID, jvalue *);
jdouble (JNICALL *CallNonvirtualDoubleMethod) (JNIEnv *, jobject, jclass,
jmethodID, ...);
jdouble (JNICALL *CallNonvirtualDoubleMethodV) (JNIEnv *, jobject, jclass,
jmethodID, _Jv_va_list);
jdouble (JNICALL *CallNonvirtualDoubleMethodA) (JNIEnv *, jobject, jclass,
jmethodID, jvalue *);
void (JNICALL *CallNonvirtualVoidMethod) (JNIEnv *, jobject, jclass,
jmethodID, ...);
void (JNICALL *CallNonvirtualVoidMethodV) (JNIEnv *, jobject, jclass,
jmethodID, _Jv_va_list);
void (JNICALL *CallNonvirtualVoidMethodA) (JNIEnv *, jobject, jclass,
jmethodID, jvalue *);
jfieldID (JNICALL *GetFieldID) (JNIEnv *, jclass, const char *,
const char *); const char *);
jobject (*CallObjectMethod) (JNIEnv *, jobject, jmethodID, jobject (JNICALL *GetObjectField) (JNIEnv *, jobject, jfieldID);
...); jboolean (JNICALL *GetBooleanField) (JNIEnv *, jobject, jfieldID);
jobject (*CallObjectMethodV) (JNIEnv *, jobject, jmethodID, jbyte (JNICALL *GetByteField) (JNIEnv *, jobject, jfieldID);
_Jv_va_list); jchar (JNICALL *GetCharField) (JNIEnv *, jobject, jfieldID);
jobject (*CallObjectMethodA) (JNIEnv *, jobject, jmethodID, jshort (JNICALL *GetShortField) (JNIEnv *, jobject, jfieldID);
jvalue *); jint (JNICALL *GetIntField) (JNIEnv *, jobject, jfieldID);
jboolean (*CallBooleanMethod) (JNIEnv *, jobject, jmethodID, jlong (JNICALL *GetLongField) (JNIEnv *, jobject, jfieldID);
...); jfloat (JNICALL *GetFloatField) (JNIEnv *, jobject, jfieldID);
jboolean (*CallBooleanMethodV) (JNIEnv *, jobject, jmethodID, jdouble (JNICALL *GetDoubleField) (JNIEnv *, jobject, jfieldID);
_Jv_va_list);
jboolean (*CallBooleanMethodA) (JNIEnv *, jobject, jmethodID, void (JNICALL *SetObjectField) (JNIEnv *, jobject,
jvalue *);
jbyte (*CallByteMethod) (JNIEnv *, jobject, jmethodID,
...);
jbyte (*CallByteMethodV) (JNIEnv *, jobject, jmethodID,
_Jv_va_list);
jbyte (*CallByteMethodA) (JNIEnv *, jobject, jmethodID,
jvalue *);
jchar (*CallCharMethod) (JNIEnv *, jobject, jmethodID,
...);
jchar (*CallCharMethodV) (JNIEnv *, jobject, jmethodID,
_Jv_va_list);
jchar (*CallCharMethodA) (JNIEnv *, jobject, jmethodID,
jvalue *);
jshort (*CallShortMethod) (JNIEnv *, jobject, jmethodID,
...);
jshort (*CallShortMethodV) (JNIEnv *, jobject, jmethodID,
_Jv_va_list);
jshort (*CallShortMethodA) (JNIEnv *, jobject, jmethodID,
jvalue *);
jint (*CallIntMethod) (JNIEnv *, jobject, jmethodID,
...);
jint (*CallIntMethodV) (JNIEnv *, jobject, jmethodID,
_Jv_va_list);
jint (*CallIntMethodA) (JNIEnv *, jobject, jmethodID,
jvalue *);
jlong (*CallLongMethod) (JNIEnv *, jobject, jmethodID,
...);
jlong (*CallLongMethodV) (JNIEnv *, jobject, jmethodID,
_Jv_va_list);
jlong (*CallLongMethodA) (JNIEnv *, jobject, jmethodID,
jvalue *);
jfloat (*CallFloatMethod) (JNIEnv *, jobject, jmethodID,
...);
jfloat (*CallFloatMethodV) (JNIEnv *, jobject, jmethodID,
_Jv_va_list);
jfloat (*CallFloatMethodA) (JNIEnv *, jobject, jmethodID,
jvalue *);
jdouble (*CallDoubleMethod) (JNIEnv *, jobject, jmethodID,
...);
jdouble (*CallDoubleMethodV) (JNIEnv *, jobject, jmethodID,
_Jv_va_list);
jdouble (*CallDoubleMethodA) (JNIEnv *, jobject, jmethodID,
jvalue *);
void (*CallVoidMethod) (JNIEnv *, jobject, jmethodID,
...);
void (*CallVoidMethodV) (JNIEnv *, jobject, jmethodID,
_Jv_va_list);
void (*CallVoidMethodA) (JNIEnv *, jobject, jmethodID,
jvalue *);
jobject (*CallNonvirtualObjectMethod) (JNIEnv *, jobject, jclass,
jmethodID, ...);
jobject (*CallNonvirtualObjectMethodV) (JNIEnv *, jobject, jclass,
jmethodID, _Jv_va_list);
jobject (*CallNonvirtualObjectMethodA) (JNIEnv *, jobject, jclass,
jmethodID, jvalue *);
jboolean (*CallNonvirtualBooleanMethod) (JNIEnv *, jobject, jclass,
jmethodID, ...);
jboolean (*CallNonvirtualBooleanMethodV) (JNIEnv *, jobject, jclass,
jmethodID, _Jv_va_list);
jboolean (*CallNonvirtualBooleanMethodA) (JNIEnv *, jobject, jclass,
jmethodID, jvalue *);
jbyte (*CallNonvirtualByteMethod) (JNIEnv *, jobject, jclass,
jmethodID, ...);
jbyte (*CallNonvirtualByteMethodV) (JNIEnv *, jobject, jclass,
jmethodID, _Jv_va_list);
jbyte (*CallNonvirtualByteMethodA) (JNIEnv *, jobject, jclass,
jmethodID, jvalue *);
jchar (*CallNonvirtualCharMethod) (JNIEnv *, jobject, jclass,
jmethodID, ...);
jchar (*CallNonvirtualCharMethodV) (JNIEnv *, jobject, jclass,
jmethodID, _Jv_va_list);
jchar (*CallNonvirtualCharMethodA) (JNIEnv *, jobject, jclass,
jmethodID, jvalue *);
jshort (*CallNonvirtualShortMethod) (JNIEnv *, jobject, jclass,
jmethodID, ...);
jshort (*CallNonvirtualShortMethodV) (JNIEnv *, jobject, jclass,
jmethodID, _Jv_va_list);
jshort (*CallNonvirtualShortMethodA) (JNIEnv *, jobject, jclass,
jmethodID, jvalue *);
jint (*CallNonvirtualIntMethod) (JNIEnv *, jobject, jclass,
jmethodID, ...);
jint (*CallNonvirtualIntMethodV) (JNIEnv *, jobject, jclass,
jmethodID, _Jv_va_list);
jint (*CallNonvirtualIntMethodA) (JNIEnv *, jobject, jclass,
jmethodID, jvalue *);
jlong (*CallNonvirtualLongMethod) (JNIEnv *, jobject, jclass,
jmethodID, ...);
jlong (*CallNonvirtualLongMethodV) (JNIEnv *, jobject, jclass,
jmethodID, _Jv_va_list);
jlong (*CallNonvirtualLongMethodA) (JNIEnv *, jobject, jclass,
jmethodID, jvalue *);
jfloat (*CallNonvirtualFloatMethod) (JNIEnv *, jobject, jclass,
jmethodID, ...);
jfloat (*CallNonvirtualFloatMethodV) (JNIEnv *, jobject, jclass,
jmethodID, _Jv_va_list);
jfloat (*CallNonvirtualFloatMethodA) (JNIEnv *, jobject, jclass,
jmethodID, jvalue *);
jdouble (*CallNonvirtualDoubleMethod) (JNIEnv *, jobject, jclass,
jmethodID, ...);
jdouble (*CallNonvirtualDoubleMethodV) (JNIEnv *, jobject, jclass,
jmethodID, _Jv_va_list);
jdouble (*CallNonvirtualDoubleMethodA) (JNIEnv *, jobject, jclass,
jmethodID, jvalue *);
void (*CallNonvirtualVoidMethod) (JNIEnv *, jobject, jclass,
jmethodID, ...);
void (*CallNonvirtualVoidMethodV) (JNIEnv *, jobject, jclass,
jmethodID, _Jv_va_list);
void (*CallNonvirtualVoidMethodA) (JNIEnv *, jobject, jclass,
jmethodID, jvalue *);
jfieldID (*GetFieldID) (JNIEnv *, jclass, const char *,
const char *);
jobject (*GetObjectField) (JNIEnv *, jobject, jfieldID);
jboolean (*GetBooleanField) (JNIEnv *, jobject, jfieldID);
jbyte (*GetByteField) (JNIEnv *, jobject, jfieldID);
jchar (*GetCharField) (JNIEnv *, jobject, jfieldID);
jshort (*GetShortField) (JNIEnv *, jobject, jfieldID);
jint (*GetIntField) (JNIEnv *, jobject, jfieldID);
jlong (*GetLongField) (JNIEnv *, jobject, jfieldID);
jfloat (*GetFloatField) (JNIEnv *, jobject, jfieldID);
jdouble (*GetDoubleField) (JNIEnv *, jobject, jfieldID);
void (*SetObjectField) (JNIEnv *, jobject,
jfieldID, jobject); jfieldID, jobject);
void (*SetBooleanField) (JNIEnv *, jobject, void (JNICALL *SetBooleanField) (JNIEnv *, jobject,
jfieldID, jboolean); jfieldID, jboolean);
void (*SetByteField) (JNIEnv *, jobject, void (JNICALL *SetByteField) (JNIEnv *, jobject,
jfieldID, jbyte); jfieldID, jbyte);
void (*SetCharField) (JNIEnv *, jobject, void (JNICALL *SetCharField) (JNIEnv *, jobject,
jfieldID, jchar); jfieldID, jchar);
void (*SetShortField) (JNIEnv *, jobject, void (JNICALL *SetShortField) (JNIEnv *, jobject,
jfieldID, jshort); jfieldID, jshort);
void (*SetIntField) (JNIEnv *, jobject, void (JNICALL *SetIntField) (JNIEnv *, jobject,
jfieldID, jint); jfieldID, jint);
void (*SetLongField) (JNIEnv *, jobject, void (JNICALL *SetLongField) (JNIEnv *, jobject,
jfieldID, jlong); jfieldID, jlong);
void (*SetFloatField) (JNIEnv *, jobject, void (JNICALL *SetFloatField) (JNIEnv *, jobject,
jfieldID, jfloat); jfieldID, jfloat);
void (*SetDoubleField) (JNIEnv *, jobject, void (JNICALL *SetDoubleField) (JNIEnv *, jobject,
jfieldID, jdouble); jfieldID, jdouble);
jmethodID (*GetStaticMethodID) (JNIEnv *, jclass, const char *, jmethodID (JNICALL *GetStaticMethodID) (JNIEnv *, jclass, const char *,
const char *);
jobject (*CallStaticObjectMethod) (JNIEnv *, jclass, jmethodID,
...);
jobject (*CallStaticObjectMethodV) (JNIEnv *, jclass, jmethodID,
_Jv_va_list);
jobject (*CallStaticObjectMethodA) (JNIEnv *, jclass, jmethodID,
jvalue *);
jboolean (*CallStaticBooleanMethod) (JNIEnv *, jclass, jmethodID,
...);
jboolean (*CallStaticBooleanMethodV) (JNIEnv *, jclass, jmethodID,
_Jv_va_list);
jboolean (*CallStaticBooleanMethodA) (JNIEnv *, jclass, jmethodID,
jvalue *);
jbyte (*CallStaticByteMethod) (JNIEnv *, jclass, jmethodID,
...);
jbyte (*CallStaticByteMethodV) (JNIEnv *, jclass, jmethodID,
_Jv_va_list);
jbyte (*CallStaticByteMethodA) (JNIEnv *, jclass, jmethodID,
jvalue *);
jchar (*CallStaticCharMethod) (JNIEnv *, jclass, jmethodID,
...);
jchar (*CallStaticCharMethodV) (JNIEnv *, jclass, jmethodID,
_Jv_va_list);
jchar (*CallStaticCharMethodA) (JNIEnv *, jclass, jmethodID,
jvalue *);
jshort (*CallStaticShortMethod) (JNIEnv *, jclass, jmethodID,
...);
jshort (*CallStaticShortMethodV) (JNIEnv *, jclass, jmethodID,
_Jv_va_list);
jshort (*CallStaticShortMethodA) (JNIEnv *, jclass, jmethodID,
jvalue *);
jint (*CallStaticIntMethod) (JNIEnv *, jclass, jmethodID,
...);
jint (*CallStaticIntMethodV) (JNIEnv *, jclass, jmethodID,
_Jv_va_list);
jint (*CallStaticIntMethodA) (JNIEnv *, jclass, jmethodID,
jvalue *);
jlong (*CallStaticLongMethod) (JNIEnv *, jclass, jmethodID,
...);
jlong (*CallStaticLongMethodV) (JNIEnv *, jclass, jmethodID,
_Jv_va_list);
jlong (*CallStaticLongMethodA) (JNIEnv *, jclass, jmethodID,
jvalue *);
jfloat (*CallStaticFloatMethod) (JNIEnv *, jclass, jmethodID,
...);
jfloat (*CallStaticFloatMethodV) (JNIEnv *, jclass, jmethodID,
_Jv_va_list);
jfloat (*CallStaticFloatMethodA) (JNIEnv *, jclass, jmethodID,
jvalue *);
jdouble (*CallStaticDoubleMethod) (JNIEnv *, jclass, jmethodID,
...);
jdouble (*CallStaticDoubleMethodV) (JNIEnv *, jclass, jmethodID,
_Jv_va_list);
jdouble (*CallStaticDoubleMethodA) (JNIEnv *, jclass, jmethodID,
jvalue *);
void (*CallStaticVoidMethod) (JNIEnv *, jclass, jmethodID,
...);
void (*CallStaticVoidMethodV) (JNIEnv *, jclass, jmethodID,
_Jv_va_list);
void (*CallStaticVoidMethodA) (JNIEnv *, jclass, jmethodID,
jvalue *);
jfieldID (*GetStaticFieldID) (JNIEnv *, jclass, const char *,
const char *); const char *);
jobject (*GetStaticObjectField) (JNIEnv *, jclass, jfieldID); jobject (JNICALL *CallStaticObjectMethod) (JNIEnv *, jclass, jmethodID,
jboolean (*GetStaticBooleanField) (JNIEnv *, jclass, jfieldID); ...);
jbyte (*GetStaticByteField) (JNIEnv *, jclass, jfieldID); jobject (JNICALL *CallStaticObjectMethodV) (JNIEnv *, jclass, jmethodID,
jchar (*GetStaticCharField) (JNIEnv *, jclass, jfieldID); _Jv_va_list);
jshort (*GetStaticShortField) (JNIEnv *, jclass, jfieldID); jobject (JNICALL *CallStaticObjectMethodA) (JNIEnv *, jclass, jmethodID,
jint (*GetStaticIntField) (JNIEnv *, jclass, jfieldID); jvalue *);
jlong (*GetStaticLongField) (JNIEnv *, jclass, jfieldID); jboolean (JNICALL *CallStaticBooleanMethod) (JNIEnv *, jclass, jmethodID,
jfloat (*GetStaticFloatField) (JNIEnv *, jclass, jfieldID); ...);
jdouble (*GetStaticDoubleField) (JNIEnv *, jclass, jfieldID); jboolean (JNICALL *CallStaticBooleanMethodV) (JNIEnv *, jclass, jmethodID,
_Jv_va_list);
void (*SetStaticObjectField) (JNIEnv *, jclass, jboolean (JNICALL *CallStaticBooleanMethodA) (JNIEnv *, jclass, jmethodID,
jvalue *);
jbyte (JNICALL *CallStaticByteMethod) (JNIEnv *, jclass, jmethodID,
...);
jbyte (JNICALL *CallStaticByteMethodV) (JNIEnv *, jclass, jmethodID,
_Jv_va_list);
jbyte (JNICALL *CallStaticByteMethodA) (JNIEnv *, jclass, jmethodID,
jvalue *);
jchar (JNICALL *CallStaticCharMethod) (JNIEnv *, jclass, jmethodID,
...);
jchar (JNICALL *CallStaticCharMethodV) (JNIEnv *, jclass, jmethodID,
_Jv_va_list);
jchar (JNICALL *CallStaticCharMethodA) (JNIEnv *, jclass, jmethodID,
jvalue *);
jshort (JNICALL *CallStaticShortMethod) (JNIEnv *, jclass, jmethodID,
...);
jshort (JNICALL *CallStaticShortMethodV) (JNIEnv *, jclass, jmethodID,
_Jv_va_list);
jshort (JNICALL *CallStaticShortMethodA) (JNIEnv *, jclass, jmethodID,
jvalue *);
jint (JNICALL *CallStaticIntMethod) (JNIEnv *, jclass, jmethodID,
...);
jint (JNICALL *CallStaticIntMethodV) (JNIEnv *, jclass, jmethodID,
_Jv_va_list);
jint (JNICALL *CallStaticIntMethodA) (JNIEnv *, jclass, jmethodID,
jvalue *);
jlong (JNICALL *CallStaticLongMethod) (JNIEnv *, jclass, jmethodID,
...);
jlong (JNICALL *CallStaticLongMethodV) (JNIEnv *, jclass, jmethodID,
_Jv_va_list);
jlong (JNICALL *CallStaticLongMethodA) (JNIEnv *, jclass, jmethodID,
jvalue *);
jfloat (JNICALL *CallStaticFloatMethod) (JNIEnv *, jclass, jmethodID,
...);
jfloat (JNICALL *CallStaticFloatMethodV) (JNIEnv *, jclass, jmethodID,
_Jv_va_list);
jfloat (JNICALL *CallStaticFloatMethodA) (JNIEnv *, jclass, jmethodID,
jvalue *);
jdouble (JNICALL *CallStaticDoubleMethod) (JNIEnv *, jclass, jmethodID,
...);
jdouble (JNICALL *CallStaticDoubleMethodV) (JNIEnv *, jclass, jmethodID,
_Jv_va_list);
jdouble (JNICALL *CallStaticDoubleMethodA) (JNIEnv *, jclass, jmethodID,
jvalue *);
void (JNICALL *CallStaticVoidMethod) (JNIEnv *, jclass, jmethodID,
...);
void (JNICALL *CallStaticVoidMethodV) (JNIEnv *, jclass, jmethodID,
_Jv_va_list);
void (JNICALL *CallStaticVoidMethodA) (JNIEnv *, jclass, jmethodID,
jvalue *);
jfieldID (JNICALL *GetStaticFieldID) (JNIEnv *, jclass, const char *,
const char *);
jobject (JNICALL *GetStaticObjectField) (JNIEnv *, jclass, jfieldID);
jboolean (JNICALL *GetStaticBooleanField) (JNIEnv *, jclass, jfieldID);
jbyte (JNICALL *GetStaticByteField) (JNIEnv *, jclass, jfieldID);
jchar (JNICALL *GetStaticCharField) (JNIEnv *, jclass, jfieldID);
jshort (JNICALL *GetStaticShortField) (JNIEnv *, jclass, jfieldID);
jint (JNICALL *GetStaticIntField) (JNIEnv *, jclass, jfieldID);
jlong (JNICALL *GetStaticLongField) (JNIEnv *, jclass, jfieldID);
jfloat (JNICALL *GetStaticFloatField) (JNIEnv *, jclass, jfieldID);
jdouble (JNICALL *GetStaticDoubleField) (JNIEnv *, jclass, jfieldID);
void (JNICALL *SetStaticObjectField) (JNIEnv *, jclass,
jfieldID, jobject); jfieldID, jobject);
void (*SetStaticBooleanField) (JNIEnv *, jclass, void (JNICALL *SetStaticBooleanField) (JNIEnv *, jclass,
jfieldID, jboolean); jfieldID, jboolean);
void (*SetStaticByteField) (JNIEnv *, jclass, void (JNICALL *SetStaticByteField) (JNIEnv *, jclass,
jfieldID, jbyte); jfieldID, jbyte);
void (*SetStaticCharField) (JNIEnv *, jclass, void (JNICALL *SetStaticCharField) (JNIEnv *, jclass,
jfieldID, jchar); jfieldID, jchar);
void (*SetStaticShortField) (JNIEnv *, jclass, void (JNICALL *SetStaticShortField) (JNIEnv *, jclass,
jfieldID, jshort); jfieldID, jshort);
void (*SetStaticIntField) (JNIEnv *, jclass, void (JNICALL *SetStaticIntField) (JNIEnv *, jclass,
jfieldID, jint); jfieldID, jint);
void (*SetStaticLongField) (JNIEnv *, jclass, void (JNICALL *SetStaticLongField) (JNIEnv *, jclass,
jfieldID, jlong); jfieldID, jlong);
void (*SetStaticFloatField) (JNIEnv *, jclass, void (JNICALL *SetStaticFloatField) (JNIEnv *, jclass,
jfieldID, jfloat); jfieldID, jfloat);
void (*SetStaticDoubleField) (JNIEnv *, jclass, void (JNICALL *SetStaticDoubleField) (JNIEnv *, jclass,
jfieldID, jdouble); jfieldID, jdouble);
jstring (*NewString) (JNIEnv *, const jchar *, jsize); jstring (JNICALL *NewString) (JNIEnv *, const jchar *, jsize);
jsize (*GetStringLength) (JNIEnv *, jstring); jsize (JNICALL *GetStringLength) (JNIEnv *, jstring);
const jchar * (*GetStringChars) (JNIEnv *, jstring, jboolean *); const jchar * (JNICALL *GetStringChars) (JNIEnv *, jstring, jboolean *);
void (*ReleaseStringChars) (JNIEnv *, jstring, const jchar *); void (JNICALL *ReleaseStringChars) (JNIEnv *, jstring, const jchar *);
jstring (*NewStringUTF) (JNIEnv *, const char *); jstring (JNICALL *NewStringUTF) (JNIEnv *, const char *);
jsize (*GetStringUTFLength) (JNIEnv *, jstring); jsize (JNICALL *GetStringUTFLength) (JNIEnv *, jstring);
const char * (*GetStringUTFChars) (JNIEnv *, jstring, jboolean *); const char * (JNICALL *GetStringUTFChars) (JNIEnv *, jstring, jboolean *);
void (*ReleaseStringUTFChars) (JNIEnv *, jstring, const char *); void (JNICALL *ReleaseStringUTFChars) (JNIEnv *, jstring, const char *);
jsize (*GetArrayLength) (JNIEnv *, jarray); jsize (JNICALL *GetArrayLength) (JNIEnv *, jarray);
jarray (*NewObjectArray) (JNIEnv *, jsize, jclass, jobject); jarray (JNICALL *NewObjectArray) (JNIEnv *, jsize, jclass, jobject);
jobject (*GetObjectArrayElement) (JNIEnv *, jobjectArray, jsize); jobject (JNICALL *GetObjectArrayElement) (JNIEnv *, jobjectArray, jsize);
void (*SetObjectArrayElement) (JNIEnv *, jobjectArray, jsize, void (JNICALL *SetObjectArrayElement) (JNIEnv *, jobjectArray, jsize,
jobject); jobject);
jbooleanArray (*NewBooleanArray) (JNIEnv *, jsize); jbooleanArray (JNICALL *NewBooleanArray) (JNIEnv *, jsize);
jbyteArray (*NewByteArray) (JNIEnv *, jsize); jbyteArray (JNICALL *NewByteArray) (JNIEnv *, jsize);
jcharArray (*NewCharArray) (JNIEnv *, jsize); jcharArray (JNICALL *NewCharArray) (JNIEnv *, jsize);
jshortArray (*NewShortArray) (JNIEnv *, jsize); jshortArray (JNICALL *NewShortArray) (JNIEnv *, jsize);
jintArray (*NewIntArray) (JNIEnv *, jsize); jintArray (JNICALL *NewIntArray) (JNIEnv *, jsize);
jlongArray (*NewLongArray) (JNIEnv *, jsize); jlongArray (JNICALL *NewLongArray) (JNIEnv *, jsize);
jfloatArray (*NewFloatArray) (JNIEnv *, jsize); jfloatArray (JNICALL *NewFloatArray) (JNIEnv *, jsize);
jdoubleArray (*NewDoubleArray) (JNIEnv *, jsize); jdoubleArray (JNICALL *NewDoubleArray) (JNIEnv *, jsize);
jboolean * (*GetBooleanArrayElements) (JNIEnv *, jbooleanArray, jboolean * (JNICALL *GetBooleanArrayElements) (JNIEnv *, jbooleanArray,
jboolean *); jboolean *);
jbyte * (*GetByteArrayElements) (JNIEnv *, jbyteArray, jbyte * (JNICALL *GetByteArrayElements) (JNIEnv *, jbyteArray,
jboolean *); jboolean *);
jchar * (*GetCharArrayElements) (JNIEnv *, jcharArray, jchar * (JNICALL *GetCharArrayElements) (JNIEnv *, jcharArray,
jboolean *); jboolean *);
jshort * (*GetShortArrayElements) (JNIEnv *, jshortArray, jshort * (JNICALL *GetShortArrayElements) (JNIEnv *, jshortArray,
jboolean *); jboolean *);
jint * (*GetIntArrayElements) (JNIEnv *, jintArray, jint * (JNICALL *GetIntArrayElements) (JNIEnv *, jintArray,
jboolean *); jboolean *);
jlong * (*GetLongArrayElements) (JNIEnv *, jlongArray, jlong * (JNICALL *GetLongArrayElements) (JNIEnv *, jlongArray,
jboolean *); jboolean *);
jfloat * (*GetFloatArrayElements) (JNIEnv *, jfloatArray, jfloat * (JNICALL *GetFloatArrayElements) (JNIEnv *, jfloatArray,
jboolean *); jboolean *);
jdouble * (*GetDoubleArrayElements) (JNIEnv *, jdoubleArray, jdouble * (JNICALL *GetDoubleArrayElements) (JNIEnv *, jdoubleArray,
jboolean *); jboolean *);
void (*ReleaseBooleanArrayElements) (JNIEnv *, jbooleanArray, void (JNICALL *ReleaseBooleanArrayElements) (JNIEnv *, jbooleanArray,
jboolean *, jint); jboolean *, jint);
void (*ReleaseByteArrayElements) (JNIEnv *, jbyteArray, void (JNICALL *ReleaseByteArrayElements) (JNIEnv *, jbyteArray,
jbyte *, jint); jbyte *, jint);
void (*ReleaseCharArrayElements) (JNIEnv *, jcharArray, void (JNICALL *ReleaseCharArrayElements) (JNIEnv *, jcharArray,
jchar *, jint); jchar *, jint);
void (*ReleaseShortArrayElements) (JNIEnv *, jshortArray, void (JNICALL *ReleaseShortArrayElements) (JNIEnv *, jshortArray,
jshort *, jint); jshort *, jint);
void (*ReleaseIntArrayElements) (JNIEnv *, jintArray, void (JNICALL *ReleaseIntArrayElements) (JNIEnv *, jintArray,
jint *, jint); jint *, jint);
void (*ReleaseLongArrayElements) (JNIEnv *, jlongArray, void (JNICALL *ReleaseLongArrayElements) (JNIEnv *, jlongArray,
jlong *, jint); jlong *, jint);
void (*ReleaseFloatArrayElements) (JNIEnv *, jfloatArray, void (JNICALL *ReleaseFloatArrayElements) (JNIEnv *, jfloatArray,
jfloat *, jint); jfloat *, jint);
void (*ReleaseDoubleArrayElements) (JNIEnv *, jdoubleArray, void (JNICALL *ReleaseDoubleArrayElements) (JNIEnv *, jdoubleArray,
jdouble *, jint); jdouble *, jint);
void (*GetBooleanArrayRegion) (JNIEnv *, jbooleanArray, void (JNICALL *GetBooleanArrayRegion) (JNIEnv *, jbooleanArray,
jsize, jsize, jboolean *); jsize, jsize, jboolean *);
void (*GetByteArrayRegion) (JNIEnv *, jbyteArray, void (JNICALL *GetByteArrayRegion) (JNIEnv *, jbyteArray,
jsize, jsize, jbyte *); jsize, jsize, jbyte *);
void (*GetCharArrayRegion) (JNIEnv *, jcharArray, void (JNICALL *GetCharArrayRegion) (JNIEnv *, jcharArray,
jsize, jsize, jchar *); jsize, jsize, jchar *);
void (*GetShortArrayRegion) (JNIEnv *, jshortArray, void (JNICALL *GetShortArrayRegion) (JNIEnv *, jshortArray,
jsize, jsize, jshort *); jsize, jsize, jshort *);
void (*GetIntArrayRegion) (JNIEnv *, jintArray, void (JNICALL *GetIntArrayRegion) (JNIEnv *, jintArray,
jsize, jsize, jint *); jsize, jsize, jint *);
void (*GetLongArrayRegion) (JNIEnv *, jlongArray, void (JNICALL *GetLongArrayRegion) (JNIEnv *, jlongArray,
jsize, jsize, jlong *); jsize, jsize, jlong *);
void (*GetFloatArrayRegion) (JNIEnv *, jfloatArray, void (JNICALL *GetFloatArrayRegion) (JNIEnv *, jfloatArray,
jsize, jsize, jfloat *); jsize, jsize, jfloat *);
void (*GetDoubleArrayRegion) (JNIEnv *, jdoubleArray, void (JNICALL *GetDoubleArrayRegion) (JNIEnv *, jdoubleArray,
jsize, jsize, jdouble *); jsize, jsize, jdouble *);
void (*SetBooleanArrayRegion) (JNIEnv *, jbooleanArray, void (JNICALL *SetBooleanArrayRegion) (JNIEnv *, jbooleanArray,
jsize, jsize, jboolean *); jsize, jsize, jboolean *);
void (*SetByteArrayRegion) (JNIEnv *, jbyteArray, void (JNICALL *SetByteArrayRegion) (JNIEnv *, jbyteArray,
jsize, jsize, jbyte *); jsize, jsize, jbyte *);
void (*SetCharArrayRegion) (JNIEnv *, jcharArray, void (JNICALL *SetCharArrayRegion) (JNIEnv *, jcharArray,
jsize, jsize, jchar *); jsize, jsize, jchar *);
void (*SetShortArrayRegion) (JNIEnv *, jshortArray, void (JNICALL *SetShortArrayRegion) (JNIEnv *, jshortArray,
jsize, jsize, jshort *); jsize, jsize, jshort *);
void (*SetIntArrayRegion) (JNIEnv *, jintArray, void (JNICALL *SetIntArrayRegion) (JNIEnv *, jintArray,
jsize, jsize, jint *); jsize, jsize, jint *);
void (*SetLongArrayRegion) (JNIEnv *, jlongArray, void (JNICALL *SetLongArrayRegion) (JNIEnv *, jlongArray,
jsize, jsize, jlong *); jsize, jsize, jlong *);
void (*SetFloatArrayRegion) (JNIEnv *, jfloatArray, void (JNICALL *SetFloatArrayRegion) (JNIEnv *, jfloatArray,
jsize, jsize, jfloat *); jsize, jsize, jfloat *);
void (*SetDoubleArrayRegion) (JNIEnv *, jdoubleArray, void (JNICALL *SetDoubleArrayRegion) (JNIEnv *, jdoubleArray,
jsize, jsize, jdouble *); jsize, jsize, jdouble *);
jint (*RegisterNatives) (JNIEnv *, jclass, jint (JNICALL *RegisterNatives) (JNIEnv *, jclass,
const JNINativeMethod *, jint); const JNINativeMethod *,
jint (*UnregisterNatives) (JNIEnv *, jclass); jint);
jint (*MonitorEnter) (JNIEnv *, jobject); jint (JNICALL *UnregisterNatives) (JNIEnv *, jclass);
jint (*MonitorExit) (JNIEnv *, jobject); jint (JNICALL *MonitorEnter) (JNIEnv *, jobject);
jint (*GetJavaVM) (JNIEnv *, JavaVM **); jint (JNICALL *MonitorExit) (JNIEnv *, jobject);
jint (JNICALL *GetJavaVM) (JNIEnv *, JavaVM **);
void (*GetStringRegion) (JNIEnv *, jstring, jsize,
jsize, jchar *); void (JNICALL *GetStringRegion) (JNIEnv *, jstring, jsize,
void (*GetStringUTFRegion) (JNIEnv *, jstring, jsize, jsize, jchar *);
jsize, char *); void (JNICALL *GetStringUTFRegion) (JNIEnv *, jstring, jsize,
jsize, char *);
void * (*GetPrimitiveArrayCritical) (JNIEnv *, jarray, jboolean *);
void (*ReleasePrimitiveArrayCritical) (JNIEnv *, jarray, void *, jint); void * (JNICALL *GetPrimitiveArrayCritical) (JNIEnv *, jarray,
jboolean *);
const jchar * (*GetStringCritical) (JNIEnv *, jstring, jboolean *); void (JNICALL *ReleasePrimitiveArrayCritical) (JNIEnv *, jarray, void *,
void (*ReleaseStringCritical) (JNIEnv *, jstring, const jchar *); jint);
jweak (*NewWeakGlobalRef) (JNIEnv *, jobject); const jchar * (JNICALL *GetStringCritical) (JNIEnv *, jstring,
void (*DeleteWeakGlobalRef) (JNIEnv *, jweak); jboolean *);
void (JNICALL *ReleaseStringCritical) (JNIEnv *, jstring,
jboolean (*ExceptionCheck) (JNIEnv *); const jchar *);
jobject (*NewDirectByteBuffer) (JNIEnv *, void *, jlong); jweak (JNICALL *NewWeakGlobalRef) (JNIEnv *, jobject);
void * (*GetDirectBufferAddress) (JNIEnv *, jobject); void (JNICALL *DeleteWeakGlobalRef) (JNIEnv *, jweak);
jlong (*GetDirectBufferCapacity) (JNIEnv *, jobject);
jboolean (JNICALL *ExceptionCheck) (JNIEnv *);
jobject (JNICALL *NewDirectByteBuffer) (JNIEnv *, void *, jlong);
void * (JNICALL *GetDirectBufferAddress) (JNIEnv *, jobject);
jlong (JNICALL *GetDirectBufferCapacity) (JNIEnv *, jobject);
}; };
#ifdef __cplusplus #ifdef __cplusplus
...@@ -1558,11 +1563,11 @@ struct JNIInvokeInterface ...@@ -1558,11 +1563,11 @@ struct JNIInvokeInterface
_Jv_func reserved1; _Jv_func reserved1;
_Jv_func reserved2; _Jv_func reserved2;
jint (*DestroyJavaVM) (JavaVM *); jint (JNICALL *DestroyJavaVM) (JavaVM *);
jint (*AttachCurrentThread) (JavaVM *, void **, void *); jint (JNICALL *AttachCurrentThread) (JavaVM *, void **, void *);
jint (*DetachCurrentThread) (JavaVM *); jint (JNICALL *DetachCurrentThread) (JavaVM *);
jint (*GetEnv) (JavaVM *, void **, jint); jint (JNICALL *GetEnv) (JavaVM *, void **, jint);
jint (*AttachCurrentThreadAsDaemon) (JavaVM *, void **, void *); jint (JNICALL *AttachCurrentThreadAsDaemon) (JavaVM *, void **, void *);
}; };
#ifdef __cplusplus #ifdef __cplusplus
......
...@@ -217,7 +217,7 @@ unwrap (T *obj) ...@@ -217,7 +217,7 @@ unwrap (T *obj)
static jobject static jobject
_Jv_JNI_NewGlobalRef (JNIEnv *, jobject obj) (JNICALL _Jv_JNI_NewGlobalRef) (JNIEnv *, jobject obj)
{ {
// This seems weird but I think it is correct. // This seems weird but I think it is correct.
obj = unwrap (obj); obj = unwrap (obj);
...@@ -226,7 +226,7 @@ _Jv_JNI_NewGlobalRef (JNIEnv *, jobject obj) ...@@ -226,7 +226,7 @@ _Jv_JNI_NewGlobalRef (JNIEnv *, jobject obj)
} }
static void static void
_Jv_JNI_DeleteGlobalRef (JNIEnv *, jobject obj) (JNICALL _Jv_JNI_DeleteGlobalRef) (JNIEnv *, jobject obj)
{ {
// This seems weird but I think it is correct. // This seems weird but I think it is correct.
obj = unwrap (obj); obj = unwrap (obj);
...@@ -234,7 +234,7 @@ _Jv_JNI_DeleteGlobalRef (JNIEnv *, jobject obj) ...@@ -234,7 +234,7 @@ _Jv_JNI_DeleteGlobalRef (JNIEnv *, jobject obj)
} }
static void static void
_Jv_JNI_DeleteLocalRef (JNIEnv *env, jobject obj) (JNICALL _Jv_JNI_DeleteLocalRef) (JNIEnv *env, jobject obj)
{ {
_Jv_JNI_LocalFrame *frame; _Jv_JNI_LocalFrame *frame;
...@@ -261,7 +261,7 @@ _Jv_JNI_DeleteLocalRef (JNIEnv *env, jobject obj) ...@@ -261,7 +261,7 @@ _Jv_JNI_DeleteLocalRef (JNIEnv *env, jobject obj)
} }
static jint static jint
_Jv_JNI_EnsureLocalCapacity (JNIEnv *env, jint size) (JNICALL _Jv_JNI_EnsureLocalCapacity) (JNIEnv *env, jint size)
{ {
// It is easier to just always allocate a new frame of the requested // It is easier to just always allocate a new frame of the requested
// size. This isn't the most efficient thing, but for now we don't // size. This isn't the most efficient thing, but for now we don't
...@@ -289,7 +289,7 @@ _Jv_JNI_EnsureLocalCapacity (JNIEnv *env, jint size) ...@@ -289,7 +289,7 @@ _Jv_JNI_EnsureLocalCapacity (JNIEnv *env, jint size)
} }
static jint static jint
_Jv_JNI_PushLocalFrame (JNIEnv *env, jint size) (JNICALL _Jv_JNI_PushLocalFrame) (JNIEnv *env, jint size)
{ {
jint r = _Jv_JNI_EnsureLocalCapacity (env, size); jint r = _Jv_JNI_EnsureLocalCapacity (env, size);
if (r < 0) if (r < 0)
...@@ -302,7 +302,7 @@ _Jv_JNI_PushLocalFrame (JNIEnv *env, jint size) ...@@ -302,7 +302,7 @@ _Jv_JNI_PushLocalFrame (JNIEnv *env, jint size)
} }
static jobject static jobject
_Jv_JNI_NewLocalRef (JNIEnv *env, jobject obj) (JNICALL _Jv_JNI_NewLocalRef) (JNIEnv *env, jobject obj)
{ {
// This seems weird but I think it is correct. // This seems weird but I think it is correct.
obj = unwrap (obj); obj = unwrap (obj);
...@@ -343,7 +343,7 @@ _Jv_JNI_NewLocalRef (JNIEnv *env, jobject obj) ...@@ -343,7 +343,7 @@ _Jv_JNI_NewLocalRef (JNIEnv *env, jobject obj)
} }
static jobject static jobject
_Jv_JNI_PopLocalFrame (JNIEnv *env, jobject result, int stop) (JNICALL _Jv_JNI_PopLocalFrame) (JNIEnv *env, jobject result, int stop)
{ {
_Jv_JNI_LocalFrame *rf = env->locals; _Jv_JNI_LocalFrame *rf = env->locals;
...@@ -378,7 +378,7 @@ _Jv_JNI_PopLocalFrame (JNIEnv *env, jobject result, int stop) ...@@ -378,7 +378,7 @@ _Jv_JNI_PopLocalFrame (JNIEnv *env, jobject result, int stop)
} }
static jobject static jobject
_Jv_JNI_PopLocalFrame (JNIEnv *env, jobject result) (JNICALL _Jv_JNI_PopLocalFrame) (JNIEnv *env, jobject result)
{ {
return _Jv_JNI_PopLocalFrame (env, result, MARK_USER); return _Jv_JNI_PopLocalFrame (env, result, MARK_USER);
} }
...@@ -422,14 +422,14 @@ wrap_value (JNIEnv *env, T *value) ...@@ -422,14 +422,14 @@ wrap_value (JNIEnv *env, T *value)
static jint static jint
_Jv_JNI_GetVersion (JNIEnv *) (JNICALL _Jv_JNI_GetVersion) (JNIEnv *)
{ {
return JNI_VERSION_1_4; return JNI_VERSION_1_4;
} }
static jclass static jclass
_Jv_JNI_DefineClass (JNIEnv *env, jobject loader, (JNICALL _Jv_JNI_DefineClass) (JNIEnv *env, jobject loader,
const jbyte *buf, jsize bufLen) const jbyte *buf, jsize bufLen)
{ {
try try
{ {
...@@ -454,7 +454,7 @@ _Jv_JNI_DefineClass (JNIEnv *env, jobject loader, ...@@ -454,7 +454,7 @@ _Jv_JNI_DefineClass (JNIEnv *env, jobject loader,
} }
static jclass static jclass
_Jv_JNI_FindClass (JNIEnv *env, const char *name) (JNICALL _Jv_JNI_FindClass) (JNIEnv *env, const char *name)
{ {
// FIXME: assume that NAME isn't too long. // FIXME: assume that NAME isn't too long.
int len = strlen (name); int len = strlen (name);
...@@ -490,19 +490,19 @@ _Jv_JNI_FindClass (JNIEnv *env, const char *name) ...@@ -490,19 +490,19 @@ _Jv_JNI_FindClass (JNIEnv *env, const char *name)
} }
static jclass static jclass
_Jv_JNI_GetSuperclass (JNIEnv *env, jclass clazz) (JNICALL _Jv_JNI_GetSuperclass) (JNIEnv *env, jclass clazz)
{ {
return (jclass) wrap_value (env, unwrap (clazz)->getSuperclass ()); return (jclass) wrap_value (env, unwrap (clazz)->getSuperclass ());
} }
static jboolean static jboolean
_Jv_JNI_IsAssignableFrom(JNIEnv *, jclass clazz1, jclass clazz2) (JNICALL _Jv_JNI_IsAssignableFrom) (JNIEnv *, jclass clazz1, jclass clazz2)
{ {
return unwrap (clazz1)->isAssignableFrom (unwrap (clazz2)); return unwrap (clazz1)->isAssignableFrom (unwrap (clazz2));
} }
static jint static jint
_Jv_JNI_Throw (JNIEnv *env, jthrowable obj) (JNICALL _Jv_JNI_Throw) (JNIEnv *env, jthrowable obj)
{ {
// We check in case the user did some funky cast. // We check in case the user did some funky cast.
obj = unwrap (obj); obj = unwrap (obj);
...@@ -512,7 +512,7 @@ _Jv_JNI_Throw (JNIEnv *env, jthrowable obj) ...@@ -512,7 +512,7 @@ _Jv_JNI_Throw (JNIEnv *env, jthrowable obj)
} }
static jint static jint
_Jv_JNI_ThrowNew (JNIEnv *env, jclass clazz, const char *message) (JNICALL _Jv_JNI_ThrowNew) (JNIEnv *env, jclass clazz, const char *message)
{ {
using namespace java::lang::reflect; using namespace java::lang::reflect;
...@@ -549,32 +549,32 @@ _Jv_JNI_ThrowNew (JNIEnv *env, jclass clazz, const char *message) ...@@ -549,32 +549,32 @@ _Jv_JNI_ThrowNew (JNIEnv *env, jclass clazz, const char *message)
} }
static jthrowable static jthrowable
_Jv_JNI_ExceptionOccurred (JNIEnv *env) (JNICALL _Jv_JNI_ExceptionOccurred) (JNIEnv *env)
{ {
return (jthrowable) wrap_value (env, env->ex); return (jthrowable) wrap_value (env, env->ex);
} }
static void static void
_Jv_JNI_ExceptionDescribe (JNIEnv *env) (JNICALL _Jv_JNI_ExceptionDescribe) (JNIEnv *env)
{ {
if (env->ex != NULL) if (env->ex != NULL)
env->ex->printStackTrace(); env->ex->printStackTrace();
} }
static void static void
_Jv_JNI_ExceptionClear (JNIEnv *env) (JNICALL _Jv_JNI_ExceptionClear) (JNIEnv *env)
{ {
env->ex = NULL; env->ex = NULL;
} }
static jboolean static jboolean
_Jv_JNI_ExceptionCheck (JNIEnv *env) (JNICALL _Jv_JNI_ExceptionCheck) (JNIEnv *env)
{ {
return env->ex != NULL; return env->ex != NULL;
} }
static void static void
_Jv_JNI_FatalError (JNIEnv *, const char *message) (JNICALL _Jv_JNI_FatalError) (JNIEnv *, const char *message)
{ {
JvFail (message); JvFail (message);
} }
...@@ -582,13 +582,13 @@ _Jv_JNI_FatalError (JNIEnv *, const char *message) ...@@ -582,13 +582,13 @@ _Jv_JNI_FatalError (JNIEnv *, const char *message)
static jboolean static jboolean
_Jv_JNI_IsSameObject (JNIEnv *, jobject obj1, jobject obj2) (JNICALL _Jv_JNI_IsSameObject) (JNIEnv *, jobject obj1, jobject obj2)
{ {
return unwrap (obj1) == unwrap (obj2); return unwrap (obj1) == unwrap (obj2);
} }
static jobject static jobject
_Jv_JNI_AllocObject (JNIEnv *env, jclass clazz) (JNICALL _Jv_JNI_AllocObject) (JNIEnv *env, jclass clazz)
{ {
jobject obj = NULL; jobject obj = NULL;
using namespace java::lang::reflect; using namespace java::lang::reflect;
...@@ -611,7 +611,7 @@ _Jv_JNI_AllocObject (JNIEnv *env, jclass clazz) ...@@ -611,7 +611,7 @@ _Jv_JNI_AllocObject (JNIEnv *env, jclass clazz)
} }
static jclass static jclass
_Jv_JNI_GetObjectClass (JNIEnv *env, jobject obj) (JNICALL _Jv_JNI_GetObjectClass) (JNIEnv *env, jobject obj)
{ {
obj = unwrap (obj); obj = unwrap (obj);
JvAssert (obj); JvAssert (obj);
...@@ -619,7 +619,7 @@ _Jv_JNI_GetObjectClass (JNIEnv *env, jobject obj) ...@@ -619,7 +619,7 @@ _Jv_JNI_GetObjectClass (JNIEnv *env, jobject obj)
} }
static jboolean static jboolean
_Jv_JNI_IsInstanceOf (JNIEnv *, jobject obj, jclass clazz) (JNICALL _Jv_JNI_IsInstanceOf) (JNIEnv *, jobject obj, jclass clazz)
{ {
return unwrap (clazz)->isInstance(unwrap (obj)); return unwrap (clazz)->isInstance(unwrap (obj));
} }
...@@ -632,8 +632,8 @@ _Jv_JNI_IsInstanceOf (JNIEnv *, jobject obj, jclass clazz) ...@@ -632,8 +632,8 @@ _Jv_JNI_IsInstanceOf (JNIEnv *, jobject obj, jclass clazz)
template<jboolean is_static> template<jboolean is_static>
static jmethodID static jmethodID
_Jv_JNI_GetAnyMethodID (JNIEnv *env, jclass clazz, (JNICALL _Jv_JNI_GetAnyMethodID) (JNIEnv *env, jclass clazz,
const char *name, const char *sig) const char *name, const char *sig)
{ {
try try
{ {
...@@ -728,8 +728,8 @@ array_from_valist (jvalue *values, JArray<jclass> *arg_types, va_list vargs) ...@@ -728,8 +728,8 @@ array_from_valist (jvalue *values, JArray<jclass> *arg_types, va_list vargs)
// constructor. // constructor.
template<typename T, invocation_type style> template<typename T, invocation_type style>
static T static T
_Jv_JNI_CallAnyMethodV (JNIEnv *env, jobject obj, jclass klass, (JNICALL _Jv_JNI_CallAnyMethodV) (JNIEnv *env, jobject obj, jclass klass,
jmethodID id, va_list vargs) jmethodID id, va_list vargs)
{ {
obj = unwrap (obj); obj = unwrap (obj);
klass = unwrap (klass); klass = unwrap (klass);
...@@ -776,8 +776,8 @@ _Jv_JNI_CallAnyMethodV (JNIEnv *env, jobject obj, jclass klass, ...@@ -776,8 +776,8 @@ _Jv_JNI_CallAnyMethodV (JNIEnv *env, jobject obj, jclass klass,
template<typename T, invocation_type style> template<typename T, invocation_type style>
static T static T
_Jv_JNI_CallAnyMethod (JNIEnv *env, jobject obj, jclass klass, (JNICALL _Jv_JNI_CallAnyMethod) (JNIEnv *env, jobject obj, jclass klass,
jmethodID method, ...) jmethodID method, ...)
{ {
va_list args; va_list args;
T result; T result;
...@@ -791,8 +791,8 @@ _Jv_JNI_CallAnyMethod (JNIEnv *env, jobject obj, jclass klass, ...@@ -791,8 +791,8 @@ _Jv_JNI_CallAnyMethod (JNIEnv *env, jobject obj, jclass klass,
template<typename T, invocation_type style> template<typename T, invocation_type style>
static T static T
_Jv_JNI_CallAnyMethodA (JNIEnv *env, jobject obj, jclass klass, (JNICALL _Jv_JNI_CallAnyMethodA) (JNIEnv *env, jobject obj, jclass klass,
jmethodID id, jvalue *args) jmethodID id, jvalue *args)
{ {
obj = unwrap (obj); obj = unwrap (obj);
klass = unwrap (klass); klass = unwrap (klass);
...@@ -846,8 +846,8 @@ _Jv_JNI_CallAnyMethodA (JNIEnv *env, jobject obj, jclass klass, ...@@ -846,8 +846,8 @@ _Jv_JNI_CallAnyMethodA (JNIEnv *env, jobject obj, jclass klass,
template<invocation_type style> template<invocation_type style>
static void static void
_Jv_JNI_CallAnyVoidMethodV (JNIEnv *env, jobject obj, jclass klass, (JNICALL _Jv_JNI_CallAnyVoidMethodV) (JNIEnv *env, jobject obj, jclass klass,
jmethodID id, va_list vargs) jmethodID id, va_list vargs)
{ {
obj = unwrap (obj); obj = unwrap (obj);
klass = unwrap (klass); klass = unwrap (klass);
...@@ -887,8 +887,8 @@ _Jv_JNI_CallAnyVoidMethodV (JNIEnv *env, jobject obj, jclass klass, ...@@ -887,8 +887,8 @@ _Jv_JNI_CallAnyVoidMethodV (JNIEnv *env, jobject obj, jclass klass,
template<invocation_type style> template<invocation_type style>
static void static void
_Jv_JNI_CallAnyVoidMethod (JNIEnv *env, jobject obj, jclass klass, (JNICALL _Jv_JNI_CallAnyVoidMethod) (JNIEnv *env, jobject obj, jclass klass,
jmethodID method, ...) jmethodID method, ...)
{ {
va_list args; va_list args;
...@@ -899,8 +899,8 @@ _Jv_JNI_CallAnyVoidMethod (JNIEnv *env, jobject obj, jclass klass, ...@@ -899,8 +899,8 @@ _Jv_JNI_CallAnyVoidMethod (JNIEnv *env, jobject obj, jclass klass,
template<invocation_type style> template<invocation_type style>
static void static void
_Jv_JNI_CallAnyVoidMethodA (JNIEnv *env, jobject obj, jclass klass, (JNICALL _Jv_JNI_CallAnyVoidMethodA) (JNIEnv *env, jobject obj, jclass klass,
jmethodID id, jvalue *args) jmethodID id, jvalue *args)
{ {
if (style == normal) if (style == normal)
id = _Jv_LookupDeclaredMethod (obj->getClass (), id->name, id->signature); id = _Jv_LookupDeclaredMethod (obj->getClass (), id->name, id->signature);
...@@ -943,7 +943,8 @@ _Jv_JNI_CallAnyVoidMethodA (JNIEnv *env, jobject obj, jclass klass, ...@@ -943,7 +943,8 @@ _Jv_JNI_CallAnyVoidMethodA (JNIEnv *env, jobject obj, jclass klass,
// the CallMethod family. // the CallMethod family.
template<typename T> template<typename T>
static T static T
_Jv_JNI_CallMethodV (JNIEnv *env, jobject obj, jmethodID id, va_list args) (JNICALL _Jv_JNI_CallMethodV) (JNIEnv *env, jobject obj,
jmethodID id, va_list args)
{ {
return _Jv_JNI_CallAnyMethodV<T, normal> (env, obj, NULL, id, args); return _Jv_JNI_CallAnyMethodV<T, normal> (env, obj, NULL, id, args);
} }
...@@ -952,7 +953,7 @@ _Jv_JNI_CallMethodV (JNIEnv *env, jobject obj, jmethodID id, va_list args) ...@@ -952,7 +953,7 @@ _Jv_JNI_CallMethodV (JNIEnv *env, jobject obj, jmethodID id, va_list args)
// the CallMethod family. // the CallMethod family.
template<typename T> template<typename T>
static T static T
_Jv_JNI_CallMethod (JNIEnv *env, jobject obj, jmethodID id, ...) (JNICALL _Jv_JNI_CallMethod) (JNIEnv *env, jobject obj, jmethodID id, ...)
{ {
va_list args; va_list args;
T result; T result;
...@@ -968,19 +969,21 @@ _Jv_JNI_CallMethod (JNIEnv *env, jobject obj, jmethodID id, ...) ...@@ -968,19 +969,21 @@ _Jv_JNI_CallMethod (JNIEnv *env, jobject obj, jmethodID id, ...)
// the CallMethod family. // the CallMethod family.
template<typename T> template<typename T>
static T static T
_Jv_JNI_CallMethodA (JNIEnv *env, jobject obj, jmethodID id, jvalue *args) (JNICALL _Jv_JNI_CallMethodA) (JNIEnv *env, jobject obj,
jmethodID id, jvalue *args)
{ {
return _Jv_JNI_CallAnyMethodA<T, normal> (env, obj, NULL, id, args); return _Jv_JNI_CallAnyMethodA<T, normal> (env, obj, NULL, id, args);
} }
static void static void
_Jv_JNI_CallVoidMethodV (JNIEnv *env, jobject obj, jmethodID id, va_list args) (JNICALL _Jv_JNI_CallVoidMethodV) (JNIEnv *env, jobject obj,
jmethodID id, va_list args)
{ {
_Jv_JNI_CallAnyVoidMethodV<normal> (env, obj, NULL, id, args); _Jv_JNI_CallAnyVoidMethodV<normal> (env, obj, NULL, id, args);
} }
static void static void
_Jv_JNI_CallVoidMethod (JNIEnv *env, jobject obj, jmethodID id, ...) (JNICALL _Jv_JNI_CallVoidMethod) (JNIEnv *env, jobject obj, jmethodID id, ...)
{ {
va_list args; va_list args;
...@@ -990,7 +993,8 @@ _Jv_JNI_CallVoidMethod (JNIEnv *env, jobject obj, jmethodID id, ...) ...@@ -990,7 +993,8 @@ _Jv_JNI_CallVoidMethod (JNIEnv *env, jobject obj, jmethodID id, ...)
} }
static void static void
_Jv_JNI_CallVoidMethodA (JNIEnv *env, jobject obj, jmethodID id, jvalue *args) (JNICALL _Jv_JNI_CallVoidMethodA) (JNIEnv *env, jobject obj,
jmethodID id, jvalue *args)
{ {
_Jv_JNI_CallAnyVoidMethodA<normal> (env, obj, NULL, id, args); _Jv_JNI_CallAnyVoidMethodA<normal> (env, obj, NULL, id, args);
} }
...@@ -999,8 +1003,8 @@ _Jv_JNI_CallVoidMethodA (JNIEnv *env, jobject obj, jmethodID id, jvalue *args) ...@@ -999,8 +1003,8 @@ _Jv_JNI_CallVoidMethodA (JNIEnv *env, jobject obj, jmethodID id, jvalue *args)
// the CallStaticMethod family. // the CallStaticMethod family.
template<typename T> template<typename T>
static T static T
_Jv_JNI_CallStaticMethodV (JNIEnv *env, jclass klass, (JNICALL _Jv_JNI_CallStaticMethodV) (JNIEnv *env, jclass klass,
jmethodID id, va_list args) jmethodID id, va_list args)
{ {
JvAssert (((id->accflags) & java::lang::reflect::Modifier::STATIC)); JvAssert (((id->accflags) & java::lang::reflect::Modifier::STATIC));
JvAssert (java::lang::Class::class$.isInstance (unwrap (klass))); JvAssert (java::lang::Class::class$.isInstance (unwrap (klass)));
...@@ -1012,7 +1016,8 @@ _Jv_JNI_CallStaticMethodV (JNIEnv *env, jclass klass, ...@@ -1012,7 +1016,8 @@ _Jv_JNI_CallStaticMethodV (JNIEnv *env, jclass klass,
// the CallStaticMethod family. // the CallStaticMethod family.
template<typename T> template<typename T>
static T static T
_Jv_JNI_CallStaticMethod (JNIEnv *env, jclass klass, jmethodID id, ...) (JNICALL _Jv_JNI_CallStaticMethod) (JNIEnv *env, jclass klass,
jmethodID id, ...)
{ {
va_list args; va_list args;
T result; T result;
...@@ -1032,8 +1037,8 @@ _Jv_JNI_CallStaticMethod (JNIEnv *env, jclass klass, jmethodID id, ...) ...@@ -1032,8 +1037,8 @@ _Jv_JNI_CallStaticMethod (JNIEnv *env, jclass klass, jmethodID id, ...)
// the CallStaticMethod family. // the CallStaticMethod family.
template<typename T> template<typename T>
static T static T
_Jv_JNI_CallStaticMethodA (JNIEnv *env, jclass klass, jmethodID id, (JNICALL _Jv_JNI_CallStaticMethodA) (JNIEnv *env, jclass klass, jmethodID id,
jvalue *args) jvalue *args)
{ {
JvAssert (((id->accflags) & java::lang::reflect::Modifier::STATIC)); JvAssert (((id->accflags) & java::lang::reflect::Modifier::STATIC));
JvAssert (java::lang::Class::class$.isInstance (unwrap (klass))); JvAssert (java::lang::Class::class$.isInstance (unwrap (klass)));
...@@ -1042,14 +1047,15 @@ _Jv_JNI_CallStaticMethodA (JNIEnv *env, jclass klass, jmethodID id, ...@@ -1042,14 +1047,15 @@ _Jv_JNI_CallStaticMethodA (JNIEnv *env, jclass klass, jmethodID id,
} }
static void static void
_Jv_JNI_CallStaticVoidMethodV (JNIEnv *env, jclass klass, jmethodID id, (JNICALL _Jv_JNI_CallStaticVoidMethodV) (JNIEnv *env, jclass klass,
va_list args) jmethodID id, va_list args)
{ {
_Jv_JNI_CallAnyVoidMethodV<static_type> (env, NULL, klass, id, args); _Jv_JNI_CallAnyVoidMethodV<static_type> (env, NULL, klass, id, args);
} }
static void static void
_Jv_JNI_CallStaticVoidMethod (JNIEnv *env, jclass klass, jmethodID id, ...) (JNICALL _Jv_JNI_CallStaticVoidMethod) (JNIEnv *env, jclass klass,
jmethodID id, ...)
{ {
va_list args; va_list args;
...@@ -1059,15 +1065,15 @@ _Jv_JNI_CallStaticVoidMethod (JNIEnv *env, jclass klass, jmethodID id, ...) ...@@ -1059,15 +1065,15 @@ _Jv_JNI_CallStaticVoidMethod (JNIEnv *env, jclass klass, jmethodID id, ...)
} }
static void static void
_Jv_JNI_CallStaticVoidMethodA (JNIEnv *env, jclass klass, jmethodID id, (JNICALL _Jv_JNI_CallStaticVoidMethodA) (JNIEnv *env, jclass klass,
jvalue *args) jmethodID id, jvalue *args)
{ {
_Jv_JNI_CallAnyVoidMethodA<static_type> (env, NULL, klass, id, args); _Jv_JNI_CallAnyVoidMethodA<static_type> (env, NULL, klass, id, args);
} }
static jobject static jobject
_Jv_JNI_NewObjectV (JNIEnv *env, jclass klass, (JNICALL _Jv_JNI_NewObjectV) (JNIEnv *env, jclass klass,
jmethodID id, va_list args) jmethodID id, va_list args)
{ {
JvAssert (klass && ! klass->isArray ()); JvAssert (klass && ! klass->isArray ());
JvAssert (! strcmp (id->name->data, "<init>") JvAssert (! strcmp (id->name->data, "<init>")
...@@ -1081,7 +1087,7 @@ _Jv_JNI_NewObjectV (JNIEnv *env, jclass klass, ...@@ -1081,7 +1087,7 @@ _Jv_JNI_NewObjectV (JNIEnv *env, jclass klass,
} }
static jobject static jobject
_Jv_JNI_NewObject (JNIEnv *env, jclass klass, jmethodID id, ...) (JNICALL _Jv_JNI_NewObject) (JNIEnv *env, jclass klass, jmethodID id, ...)
{ {
JvAssert (klass && ! klass->isArray ()); JvAssert (klass && ! klass->isArray ());
JvAssert (! strcmp (id->name->data, "<init>") JvAssert (! strcmp (id->name->data, "<init>")
...@@ -1102,8 +1108,8 @@ _Jv_JNI_NewObject (JNIEnv *env, jclass klass, jmethodID id, ...) ...@@ -1102,8 +1108,8 @@ _Jv_JNI_NewObject (JNIEnv *env, jclass klass, jmethodID id, ...)
} }
static jobject static jobject
_Jv_JNI_NewObjectA (JNIEnv *env, jclass klass, jmethodID id, (JNICALL _Jv_JNI_NewObjectA) (JNIEnv *env, jclass klass, jmethodID id,
jvalue *args) jvalue *args)
{ {
JvAssert (klass && ! klass->isArray ()); JvAssert (klass && ! klass->isArray ());
JvAssert (! strcmp (id->name->data, "<init>") JvAssert (! strcmp (id->name->data, "<init>")
...@@ -1120,7 +1126,7 @@ _Jv_JNI_NewObjectA (JNIEnv *env, jclass klass, jmethodID id, ...@@ -1120,7 +1126,7 @@ _Jv_JNI_NewObjectA (JNIEnv *env, jclass klass, jmethodID id,
template<typename T> template<typename T>
static T static T
_Jv_JNI_GetField (JNIEnv *env, jobject obj, jfieldID field) (JNICALL _Jv_JNI_GetField) (JNIEnv *env, jobject obj, jfieldID field)
{ {
obj = unwrap (obj); obj = unwrap (obj);
JvAssert (obj); JvAssert (obj);
...@@ -1130,7 +1136,7 @@ _Jv_JNI_GetField (JNIEnv *env, jobject obj, jfieldID field) ...@@ -1130,7 +1136,7 @@ _Jv_JNI_GetField (JNIEnv *env, jobject obj, jfieldID field)
template<typename T> template<typename T>
static void static void
_Jv_JNI_SetField (JNIEnv *, jobject obj, jfieldID field, T value) (JNICALL _Jv_JNI_SetField) (JNIEnv *, jobject obj, jfieldID field, T value)
{ {
obj = unwrap (obj); obj = unwrap (obj);
value = unwrap (value); value = unwrap (value);
...@@ -1142,8 +1148,8 @@ _Jv_JNI_SetField (JNIEnv *, jobject obj, jfieldID field, T value) ...@@ -1142,8 +1148,8 @@ _Jv_JNI_SetField (JNIEnv *, jobject obj, jfieldID field, T value)
template<jboolean is_static> template<jboolean is_static>
static jfieldID static jfieldID
_Jv_JNI_GetAnyFieldID (JNIEnv *env, jclass clazz, (JNICALL _Jv_JNI_GetAnyFieldID) (JNIEnv *env, jclass clazz,
const char *name, const char *sig) const char *name, const char *sig)
{ {
try try
{ {
...@@ -1203,7 +1209,7 @@ _Jv_JNI_GetAnyFieldID (JNIEnv *env, jclass clazz, ...@@ -1203,7 +1209,7 @@ _Jv_JNI_GetAnyFieldID (JNIEnv *env, jclass clazz,
template<typename T> template<typename T>
static T static T
_Jv_JNI_GetStaticField (JNIEnv *env, jclass, jfieldID field) (JNICALL _Jv_JNI_GetStaticField) (JNIEnv *env, jclass, jfieldID field)
{ {
T *ptr = (T *) field->u.addr; T *ptr = (T *) field->u.addr;
return wrap_value (env, *ptr); return wrap_value (env, *ptr);
...@@ -1211,7 +1217,7 @@ _Jv_JNI_GetStaticField (JNIEnv *env, jclass, jfieldID field) ...@@ -1211,7 +1217,7 @@ _Jv_JNI_GetStaticField (JNIEnv *env, jclass, jfieldID field)
template<typename T> template<typename T>
static void static void
_Jv_JNI_SetStaticField (JNIEnv *, jclass, jfieldID field, T value) (JNICALL _Jv_JNI_SetStaticField) (JNIEnv *, jclass, jfieldID field, T value)
{ {
value = unwrap (value); value = unwrap (value);
T *ptr = (T *) field->u.addr; T *ptr = (T *) field->u.addr;
...@@ -1219,7 +1225,7 @@ _Jv_JNI_SetStaticField (JNIEnv *, jclass, jfieldID field, T value) ...@@ -1219,7 +1225,7 @@ _Jv_JNI_SetStaticField (JNIEnv *, jclass, jfieldID field, T value)
} }
static jstring static jstring
_Jv_JNI_NewString (JNIEnv *env, const jchar *unichars, jsize len) (JNICALL _Jv_JNI_NewString) (JNIEnv *env, const jchar *unichars, jsize len)
{ {
try try
{ {
...@@ -1234,13 +1240,13 @@ _Jv_JNI_NewString (JNIEnv *env, const jchar *unichars, jsize len) ...@@ -1234,13 +1240,13 @@ _Jv_JNI_NewString (JNIEnv *env, const jchar *unichars, jsize len)
} }
static jsize static jsize
_Jv_JNI_GetStringLength (JNIEnv *, jstring string) (JNICALL _Jv_JNI_GetStringLength) (JNIEnv *, jstring string)
{ {
return unwrap (string)->length(); return unwrap (string)->length();
} }
static const jchar * static const jchar *
_Jv_JNI_GetStringChars (JNIEnv *, jstring string, jboolean *isCopy) (JNICALL _Jv_JNI_GetStringChars) (JNIEnv *, jstring string, jboolean *isCopy)
{ {
string = unwrap (string); string = unwrap (string);
jchar *result = _Jv_GetStringChars (string); jchar *result = _Jv_GetStringChars (string);
...@@ -1251,13 +1257,13 @@ _Jv_JNI_GetStringChars (JNIEnv *, jstring string, jboolean *isCopy) ...@@ -1251,13 +1257,13 @@ _Jv_JNI_GetStringChars (JNIEnv *, jstring string, jboolean *isCopy)
} }
static void static void
_Jv_JNI_ReleaseStringChars (JNIEnv *, jstring string, const jchar *) (JNICALL _Jv_JNI_ReleaseStringChars) (JNIEnv *, jstring string, const jchar *)
{ {
unmark_for_gc (unwrap (string), global_ref_table); unmark_for_gc (unwrap (string), global_ref_table);
} }
static jstring static jstring
_Jv_JNI_NewStringUTF (JNIEnv *env, const char *bytes) (JNICALL _Jv_JNI_NewStringUTF) (JNIEnv *env, const char *bytes)
{ {
try try
{ {
...@@ -1272,13 +1278,14 @@ _Jv_JNI_NewStringUTF (JNIEnv *env, const char *bytes) ...@@ -1272,13 +1278,14 @@ _Jv_JNI_NewStringUTF (JNIEnv *env, const char *bytes)
} }
static jsize static jsize
_Jv_JNI_GetStringUTFLength (JNIEnv *, jstring string) (JNICALL _Jv_JNI_GetStringUTFLength) (JNIEnv *, jstring string)
{ {
return JvGetStringUTFLength (unwrap (string)); return JvGetStringUTFLength (unwrap (string));
} }
static const char * static const char *
_Jv_JNI_GetStringUTFChars (JNIEnv *env, jstring string, jboolean *isCopy) (JNICALL _Jv_JNI_GetStringUTFChars) (JNIEnv *env, jstring string,
jboolean *isCopy)
{ {
string = unwrap (string); string = unwrap (string);
jsize len = JvGetStringUTFLength (string); jsize len = JvGetStringUTFLength (string);
...@@ -1301,14 +1308,14 @@ _Jv_JNI_GetStringUTFChars (JNIEnv *env, jstring string, jboolean *isCopy) ...@@ -1301,14 +1308,14 @@ _Jv_JNI_GetStringUTFChars (JNIEnv *env, jstring string, jboolean *isCopy)
} }
static void static void
_Jv_JNI_ReleaseStringUTFChars (JNIEnv *, jstring, const char *utf) (JNICALL _Jv_JNI_ReleaseStringUTFChars) (JNIEnv *, jstring, const char *utf)
{ {
_Jv_Free ((void *) utf); _Jv_Free ((void *) utf);
} }
static void static void
_Jv_JNI_GetStringRegion (JNIEnv *env, jstring string, jsize start, jsize len, (JNICALL _Jv_JNI_GetStringRegion) (JNIEnv *env, jstring string, jsize start,
jchar *buf) jsize len, jchar *buf)
{ {
string = unwrap (string); string = unwrap (string);
jchar *result = _Jv_GetStringChars (string); jchar *result = _Jv_GetStringChars (string);
...@@ -1329,8 +1336,8 @@ _Jv_JNI_GetStringRegion (JNIEnv *env, jstring string, jsize start, jsize len, ...@@ -1329,8 +1336,8 @@ _Jv_JNI_GetStringRegion (JNIEnv *env, jstring string, jsize start, jsize len,
} }
static void static void
_Jv_JNI_GetStringUTFRegion (JNIEnv *env, jstring str, jsize start, (JNICALL _Jv_JNI_GetStringUTFRegion) (JNIEnv *env, jstring str, jsize start,
jsize len, char *buf) jsize len, char *buf)
{ {
str = unwrap (str); str = unwrap (str);
...@@ -1351,7 +1358,7 @@ _Jv_JNI_GetStringUTFRegion (JNIEnv *env, jstring str, jsize start, ...@@ -1351,7 +1358,7 @@ _Jv_JNI_GetStringUTFRegion (JNIEnv *env, jstring str, jsize start,
} }
static const jchar * static const jchar *
_Jv_JNI_GetStringCritical (JNIEnv *, jstring str, jboolean *isCopy) (JNICALL _Jv_JNI_GetStringCritical) (JNIEnv *, jstring str, jboolean *isCopy)
{ {
jchar *result = _Jv_GetStringChars (unwrap (str)); jchar *result = _Jv_GetStringChars (unwrap (str));
if (isCopy) if (isCopy)
...@@ -1360,20 +1367,20 @@ _Jv_JNI_GetStringCritical (JNIEnv *, jstring str, jboolean *isCopy) ...@@ -1360,20 +1367,20 @@ _Jv_JNI_GetStringCritical (JNIEnv *, jstring str, jboolean *isCopy)
} }
static void static void
_Jv_JNI_ReleaseStringCritical (JNIEnv *, jstring, const jchar *) (JNICALL _Jv_JNI_ReleaseStringCritical) (JNIEnv *, jstring, const jchar *)
{ {
// Nothing. // Nothing.
} }
static jsize static jsize
_Jv_JNI_GetArrayLength (JNIEnv *, jarray array) (JNICALL _Jv_JNI_GetArrayLength) (JNIEnv *, jarray array)
{ {
return unwrap (array)->length; return unwrap (array)->length;
} }
static jarray static jarray
_Jv_JNI_NewObjectArray (JNIEnv *env, jsize length, jclass elementClass, (JNICALL _Jv_JNI_NewObjectArray) (JNIEnv *env, jsize length,
jobject init) jclass elementClass, jobject init)
{ {
try try
{ {
...@@ -1391,15 +1398,16 @@ _Jv_JNI_NewObjectArray (JNIEnv *env, jsize length, jclass elementClass, ...@@ -1391,15 +1398,16 @@ _Jv_JNI_NewObjectArray (JNIEnv *env, jsize length, jclass elementClass,
} }
static jobject static jobject
_Jv_JNI_GetObjectArrayElement (JNIEnv *env, jobjectArray array, jsize index) (JNICALL _Jv_JNI_GetObjectArrayElement) (JNIEnv *env, jobjectArray array,
jsize index)
{ {
jobject *elts = elements (unwrap (array)); jobject *elts = elements (unwrap (array));
return wrap_value (env, elts[index]); return wrap_value (env, elts[index]);
} }
static void static void
_Jv_JNI_SetObjectArrayElement (JNIEnv *env, jobjectArray array, jsize index, (JNICALL _Jv_JNI_SetObjectArrayElement) (JNIEnv *env, jobjectArray array,
jobject value) jsize index, jobject value)
{ {
try try
{ {
...@@ -1418,7 +1426,7 @@ _Jv_JNI_SetObjectArrayElement (JNIEnv *env, jobjectArray array, jsize index, ...@@ -1418,7 +1426,7 @@ _Jv_JNI_SetObjectArrayElement (JNIEnv *env, jobjectArray array, jsize index,
template<typename T, jclass K> template<typename T, jclass K>
static JArray<T> * static JArray<T> *
_Jv_JNI_NewPrimitiveArray (JNIEnv *env, jsize length) (JNICALL _Jv_JNI_NewPrimitiveArray) (JNIEnv *env, jsize length)
{ {
try try
{ {
...@@ -1433,8 +1441,8 @@ _Jv_JNI_NewPrimitiveArray (JNIEnv *env, jsize length) ...@@ -1433,8 +1441,8 @@ _Jv_JNI_NewPrimitiveArray (JNIEnv *env, jsize length)
template<typename T> template<typename T>
static T * static T *
_Jv_JNI_GetPrimitiveArrayElements (JNIEnv *, JArray<T> *array, (JNICALL _Jv_JNI_GetPrimitiveArrayElements) (JNIEnv *, JArray<T> *array,
jboolean *isCopy) jboolean *isCopy)
{ {
array = unwrap (array); array = unwrap (array);
T *elts = elements (array); T *elts = elements (array);
...@@ -1449,8 +1457,8 @@ _Jv_JNI_GetPrimitiveArrayElements (JNIEnv *, JArray<T> *array, ...@@ -1449,8 +1457,8 @@ _Jv_JNI_GetPrimitiveArrayElements (JNIEnv *, JArray<T> *array,
template<typename T> template<typename T>
static void static void
_Jv_JNI_ReleasePrimitiveArrayElements (JNIEnv *, JArray<T> *array, (JNICALL _Jv_JNI_ReleasePrimitiveArrayElements) (JNIEnv *, JArray<T> *array,
T *, jint /* mode */) T *, jint /* mode */)
{ {
array = unwrap (array); array = unwrap (array);
// Note that we ignore MODE. We can do this because we never copy // Note that we ignore MODE. We can do this because we never copy
...@@ -1461,8 +1469,8 @@ _Jv_JNI_ReleasePrimitiveArrayElements (JNIEnv *, JArray<T> *array, ...@@ -1461,8 +1469,8 @@ _Jv_JNI_ReleasePrimitiveArrayElements (JNIEnv *, JArray<T> *array,
template<typename T> template<typename T>
static void static void
_Jv_JNI_GetPrimitiveArrayRegion (JNIEnv *env, JArray<T> *array, (JNICALL _Jv_JNI_GetPrimitiveArrayRegion) (JNIEnv *env, JArray<T> *array,
jsize start, jsize len, jsize start, jsize len,
T *buf) T *buf)
{ {
array = unwrap (array); array = unwrap (array);
...@@ -1491,8 +1499,8 @@ _Jv_JNI_GetPrimitiveArrayRegion (JNIEnv *env, JArray<T> *array, ...@@ -1491,8 +1499,8 @@ _Jv_JNI_GetPrimitiveArrayRegion (JNIEnv *env, JArray<T> *array,
template<typename T> template<typename T>
static void static void
_Jv_JNI_SetPrimitiveArrayRegion (JNIEnv *env, JArray<T> *array, (JNICALL _Jv_JNI_SetPrimitiveArrayRegion) (JNIEnv *env, JArray<T> *array,
jsize start, jsize len, T *buf) jsize start, jsize len, T *buf)
{ {
array = unwrap (array); array = unwrap (array);
...@@ -1518,8 +1526,8 @@ _Jv_JNI_SetPrimitiveArrayRegion (JNIEnv *env, JArray<T> *array, ...@@ -1518,8 +1526,8 @@ _Jv_JNI_SetPrimitiveArrayRegion (JNIEnv *env, JArray<T> *array,
} }
static void * static void *
_Jv_JNI_GetPrimitiveArrayCritical (JNIEnv *, jarray array, (JNICALL _Jv_JNI_GetPrimitiveArrayCritical) (JNIEnv *, jarray array,
jboolean *isCopy) jboolean *isCopy)
{ {
array = unwrap (array); array = unwrap (array);
// FIXME: does this work? // FIXME: does this work?
...@@ -1532,13 +1540,13 @@ _Jv_JNI_GetPrimitiveArrayCritical (JNIEnv *, jarray array, ...@@ -1532,13 +1540,13 @@ _Jv_JNI_GetPrimitiveArrayCritical (JNIEnv *, jarray array,
} }
static void static void
_Jv_JNI_ReleasePrimitiveArrayCritical (JNIEnv *, jarray, void *, jint) (JNICALL _Jv_JNI_ReleasePrimitiveArrayCritical) (JNIEnv *, jarray, void *, jint)
{ {
// Nothing. // Nothing.
} }
static jint static jint
_Jv_JNI_MonitorEnter (JNIEnv *env, jobject obj) (JNICALL _Jv_JNI_MonitorEnter) (JNIEnv *env, jobject obj)
{ {
try try
{ {
...@@ -1553,7 +1561,7 @@ _Jv_JNI_MonitorEnter (JNIEnv *env, jobject obj) ...@@ -1553,7 +1561,7 @@ _Jv_JNI_MonitorEnter (JNIEnv *env, jobject obj)
} }
static jint static jint
_Jv_JNI_MonitorExit (JNIEnv *env, jobject obj) (JNICALL _Jv_JNI_MonitorExit) (JNIEnv *env, jobject obj)
{ {
try try
{ {
...@@ -1569,8 +1577,8 @@ _Jv_JNI_MonitorExit (JNIEnv *env, jobject obj) ...@@ -1569,8 +1577,8 @@ _Jv_JNI_MonitorExit (JNIEnv *env, jobject obj)
// JDK 1.2 // JDK 1.2
jobject jobject
_Jv_JNI_ToReflectedField (JNIEnv *env, jclass cls, jfieldID fieldID, (JNICALL _Jv_JNI_ToReflectedField) (JNIEnv *env, jclass cls, jfieldID fieldID,
jboolean) jboolean)
{ {
try try
{ {
...@@ -1590,7 +1598,7 @@ _Jv_JNI_ToReflectedField (JNIEnv *env, jclass cls, jfieldID fieldID, ...@@ -1590,7 +1598,7 @@ _Jv_JNI_ToReflectedField (JNIEnv *env, jclass cls, jfieldID fieldID,
// JDK 1.2 // JDK 1.2
static jfieldID static jfieldID
_Jv_JNI_FromReflectedField (JNIEnv *, jobject f) (JNICALL _Jv_JNI_FromReflectedField) (JNIEnv *, jobject f)
{ {
using namespace java::lang::reflect; using namespace java::lang::reflect;
...@@ -1600,8 +1608,8 @@ _Jv_JNI_FromReflectedField (JNIEnv *, jobject f) ...@@ -1600,8 +1608,8 @@ _Jv_JNI_FromReflectedField (JNIEnv *, jobject f)
} }
jobject jobject
_Jv_JNI_ToReflectedMethod (JNIEnv *env, jclass klass, jmethodID id, (JNICALL _Jv_JNI_ToReflectedMethod) (JNIEnv *env, jclass klass, jmethodID id,
jboolean) jboolean)
{ {
using namespace java::lang::reflect; using namespace java::lang::reflect;
...@@ -1635,7 +1643,7 @@ _Jv_JNI_ToReflectedMethod (JNIEnv *env, jclass klass, jmethodID id, ...@@ -1635,7 +1643,7 @@ _Jv_JNI_ToReflectedMethod (JNIEnv *env, jclass klass, jmethodID id,
} }
static jmethodID static jmethodID
_Jv_JNI_FromReflectedMethod (JNIEnv *, jobject method) (JNICALL _Jv_JNI_FromReflectedMethod) (JNIEnv *, jobject method)
{ {
using namespace java::lang::reflect; using namespace java::lang::reflect;
method = unwrap (method); method = unwrap (method);
...@@ -1647,7 +1655,7 @@ _Jv_JNI_FromReflectedMethod (JNIEnv *, jobject method) ...@@ -1647,7 +1655,7 @@ _Jv_JNI_FromReflectedMethod (JNIEnv *, jobject method)
// JDK 1.2. // JDK 1.2.
jweak jweak
_Jv_JNI_NewWeakGlobalRef (JNIEnv *env, jobject obj) (JNICALL _Jv_JNI_NewWeakGlobalRef) (JNIEnv *env, jobject obj)
{ {
using namespace gnu::gcj::runtime; using namespace gnu::gcj::runtime;
JNIWeakRef *ref = NULL; JNIWeakRef *ref = NULL;
...@@ -1668,7 +1676,7 @@ _Jv_JNI_NewWeakGlobalRef (JNIEnv *env, jobject obj) ...@@ -1668,7 +1676,7 @@ _Jv_JNI_NewWeakGlobalRef (JNIEnv *env, jobject obj)
} }
void void
_Jv_JNI_DeleteWeakGlobalRef (JNIEnv *, jweak obj) (JNICALL _Jv_JNI_DeleteWeakGlobalRef) (JNIEnv *, jweak obj)
{ {
using namespace gnu::gcj::runtime; using namespace gnu::gcj::runtime;
JNIWeakRef *ref = reinterpret_cast<JNIWeakRef *> (obj); JNIWeakRef *ref = reinterpret_cast<JNIWeakRef *> (obj);
...@@ -1681,21 +1689,21 @@ _Jv_JNI_DeleteWeakGlobalRef (JNIEnv *, jweak obj) ...@@ -1681,21 +1689,21 @@ _Jv_JNI_DeleteWeakGlobalRef (JNIEnv *, jweak obj)
// Direct byte buffers. // Direct byte buffers.
static jobject static jobject
_Jv_JNI_NewDirectByteBuffer (JNIEnv *, void *, jlong) (JNICALL _Jv_JNI_NewDirectByteBuffer) (JNIEnv *, void *, jlong)
{ {
// For now we don't support this. // For now we don't support this.
return NULL; return NULL;
} }
static void * static void *
_Jv_JNI_GetDirectBufferAddress (JNIEnv *, jobject) (JNICALL _Jv_JNI_GetDirectBufferAddress) (JNIEnv *, jobject)
{ {
// For now we don't support this. // For now we don't support this.
return NULL; return NULL;
} }
static jlong static jlong
_Jv_JNI_GetDirectBufferCapacity (JNIEnv *, jobject) (JNICALL _Jv_JNI_GetDirectBufferCapacity) (JNIEnv *, jobject)
{ {
// For now we don't support this. // For now we don't support this.
return -1; return -1;
...@@ -1818,9 +1826,9 @@ nathash_add (const JNINativeMethod *method) ...@@ -1818,9 +1826,9 @@ nathash_add (const JNINativeMethod *method)
} }
static jint static jint
_Jv_JNI_RegisterNatives (JNIEnv *env, jclass klass, (JNICALL _Jv_JNI_RegisterNatives) (JNIEnv *env, jclass klass,
const JNINativeMethod *methods, const JNINativeMethod *methods,
jint nMethods) jint nMethods)
{ {
// Synchronize while we do the work. This must match // Synchronize while we do the work. This must match
// synchronization in some other functions that manipulate or use // synchronization in some other functions that manipulate or use
...@@ -1872,7 +1880,7 @@ _Jv_JNI_RegisterNatives (JNIEnv *env, jclass klass, ...@@ -1872,7 +1880,7 @@ _Jv_JNI_RegisterNatives (JNIEnv *env, jclass klass,
} }
static jint static jint
_Jv_JNI_UnregisterNatives (JNIEnv *, jclass) (JNICALL _Jv_JNI_UnregisterNatives) (JNIEnv *, jclass)
{ {
// FIXME -- we could implement this. // FIXME -- we could implement this.
return JNI_ERR; return JNI_ERR;
...@@ -2199,19 +2207,20 @@ _Jv_JNI_AttachCurrentThread (JavaVM *, jstring name, void **penv, ...@@ -2199,19 +2207,20 @@ _Jv_JNI_AttachCurrentThread (JavaVM *, jstring name, void **penv,
// This is the one actually used by JNI. // This is the one actually used by JNI.
static jint static jint
_Jv_JNI_AttachCurrentThread (JavaVM *vm, void **penv, void *args) (JNICALL _Jv_JNI_AttachCurrentThread) (JavaVM *vm, void **penv, void *args)
{ {
return _Jv_JNI_AttachCurrentThread (vm, NULL, penv, args, false); return _Jv_JNI_AttachCurrentThread (vm, NULL, penv, args, false);
} }
static jint static jint
_Jv_JNI_AttachCurrentThreadAsDaemon (JavaVM *vm, void **penv, void *args) (JNICALL _Jv_JNI_AttachCurrentThreadAsDaemon) (JavaVM *vm, void **penv,
void *args)
{ {
return _Jv_JNI_AttachCurrentThread (vm, NULL, penv, args, true); return _Jv_JNI_AttachCurrentThread (vm, NULL, penv, args, true);
} }
static jint static jint
_Jv_JNI_DestroyJavaVM (JavaVM *vm) (JNICALL _Jv_JNI_DestroyJavaVM) (JavaVM *vm)
{ {
JvAssert (the_vm && vm == the_vm); JvAssert (the_vm && vm == the_vm);
...@@ -2245,14 +2254,14 @@ _Jv_JNI_DestroyJavaVM (JavaVM *vm) ...@@ -2245,14 +2254,14 @@ _Jv_JNI_DestroyJavaVM (JavaVM *vm)
} }
jint jint
_Jv_JNI_DetachCurrentThread (JavaVM *) (JNICALL _Jv_JNI_DetachCurrentThread) (JavaVM *)
{ {
jint code = _Jv_DetachCurrentThread (); jint code = _Jv_DetachCurrentThread ();
return code ? JNI_EDETACHED : 0; return code ? JNI_EDETACHED : 0;
} }
static jint static jint
_Jv_JNI_GetEnv (JavaVM *, void **penv, jint version) (JNICALL _Jv_JNI_GetEnv) (JavaVM *, void **penv, jint version)
{ {
if (_Jv_ThreadCurrent () == NULL) if (_Jv_ThreadCurrent () == NULL)
{ {
...@@ -2281,7 +2290,7 @@ _Jv_JNI_GetEnv (JavaVM *, void **penv, jint version) ...@@ -2281,7 +2290,7 @@ _Jv_JNI_GetEnv (JavaVM *, void **penv, jint version)
return 0; return 0;
} }
jint JNIEXPORT jint JNICALL
JNI_GetDefaultJavaVMInitArgs (void *args) JNI_GetDefaultJavaVMInitArgs (void *args)
{ {
jint version = * (jint *) args; jint version = * (jint *) args;
...@@ -2298,7 +2307,7 @@ JNI_GetDefaultJavaVMInitArgs (void *args) ...@@ -2298,7 +2307,7 @@ JNI_GetDefaultJavaVMInitArgs (void *args)
return 0; return 0;
} }
jint JNIEXPORT jint JNICALL
JNI_CreateJavaVM (JavaVM **vm, void **penv, void *args) JNI_CreateJavaVM (JavaVM **vm, void **penv, void *args)
{ {
JvAssert (! the_vm); JvAssert (! the_vm);
...@@ -2363,7 +2372,7 @@ JNI_CreateJavaVM (JavaVM **vm, void **penv, void *args) ...@@ -2363,7 +2372,7 @@ JNI_CreateJavaVM (JavaVM **vm, void **penv, void *args)
return 0; return 0;
} }
jint JNIEXPORT jint JNICALL
JNI_GetCreatedJavaVMs (JavaVM **vm_buffer, jsize buf_len, jsize *n_vms) JNI_GetCreatedJavaVMs (JavaVM **vm_buffer, jsize buf_len, jsize *n_vms)
{ {
if (buf_len <= 0) if (buf_len <= 0)
...@@ -2404,7 +2413,7 @@ _Jv_GetJavaVM () ...@@ -2404,7 +2413,7 @@ _Jv_GetJavaVM ()
} }
static jint static jint
_Jv_JNI_GetJavaVM (JNIEnv *, JavaVM **vm) (JNICALL _Jv_JNI_GetJavaVM) (JNIEnv *, JavaVM **vm)
{ {
*vm = _Jv_GetJavaVM (); *vm = _Jv_GetJavaVM ();
return *vm == NULL ? JNI_ERR : JNI_OK; return *vm == NULL ? JNI_ERR : JNI_OK;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment