2 Copyright (C) 1998, 1999, 2000, 2001, 2002, 2004, 2005 Free Software Foundation
4 This file is part of GNU Classpath.
6 GNU Classpath is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2, or (at your option)
11 GNU Classpath is distributed in the hope that it will be useful, but
12 WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 General Public License for more details.
16 You should have received a copy of the GNU General Public License
17 along with GNU Classpath; see the file COPYING. If not, write to the
18 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
21 Linking this library statically or dynamically with other modules is
22 making a combined work based on this library. Thus, the terms and
23 conditions of the GNU General Public License cover the whole
26 As a special exception, the copyright holders of this library give you
27 permission to link this library with independent modules to produce an
28 executable, regardless of the license terms of these independent
29 modules, and to copy and distribute the resulting executable under
30 terms of your choice, provided that you also meet, for each linked
31 independent module, the terms and conditions of the license of that
32 module. An independent module is a module which is not derived from
33 or based on this library. If you modify this library, you may extend
34 this exception to your version of the library, but you are not
35 obligated to do so. If you do not wish to do so, delete this
36 exception statement from your version. */
39 /* Note: this file must be compilable by the C compiler (for now,
40 assuming GNU C is ok). This means you must never use `//'
41 comments, and all C++-specific code must be conditional on
44 #ifndef _CLASSPATH_JNI_H
45 #define _CLASSPATH_JNI_H
47 /* We include <stdio.h> for compatibility with Sun's <jni.h>. */
54 /* The VM might define jobject and friends. */
55 #ifndef _CLASSPATH_VM_JNI_TYPES_DEFINED
59 /* Define dummy classes and then define the JNI types as pointers. */
61 struct __jclass
: __jobject
{};
62 struct __jstring
: __jobject
{};
63 struct __jthrowable
: __jobject
{};
64 struct __jweak
: __jobject
{};
65 struct __jarray
: __jobject
{};
66 struct __jobjectArray
: __jarray
{};
67 struct __jbyteArray
: __jarray
{};
68 struct __jshortArray
: __jarray
{};
69 struct __jintArray
: __jarray
{};
70 struct __jlongArray
: __jarray
{};
71 struct __jbooleanArray
: __jarray
{};
72 struct __jcharArray
: __jarray
{};
73 struct __jfloatArray
: __jarray
{};
74 struct __jdoubleArray
: __jarray
{};
76 typedef __jobject
*jobject
;
77 typedef __jclass
*jclass
;
78 typedef __jstring
*jstring
;
79 typedef __jthrowable
*jthrowable
;
80 typedef __jweak
*jweak
;
81 typedef __jarray
*jarray
;
82 typedef __jobjectArray
*jobjectArray
;
83 typedef __jbyteArray
*jbyteArray
;
84 typedef __jshortArray
*jshortArray
;
85 typedef __jintArray
*jintArray
;
86 typedef __jlongArray
*jlongArray
;
87 typedef __jbooleanArray
*jbooleanArray
;
88 typedef __jcharArray
*jcharArray
;
89 typedef __jfloatArray
*jfloatArray
;
90 typedef __jdoubleArray
*jdoubleArray
;
93 #define JNI_FALSE false
95 typedef struct _Jv_JNIEnv JNIEnv
;
96 typedef struct _Jv_JavaVM JavaVM
;
98 # else /* __cplusplus */
100 /* For C, simply define the class types as generic pointers. */
101 typedef void *jobject
;
102 typedef jobject jclass
;
103 typedef jobject jstring
;
104 typedef jobject jthrowable
;
105 typedef jobject jweak
;
106 typedef jobject jarray
;
107 typedef jobject jobjectArray
;
108 typedef jobject jbyteArray
;
109 typedef jobject jshortArray
;
110 typedef jobject jintArray
;
111 typedef jobject jlongArray
;
112 typedef jobject jbooleanArray
;
113 typedef jobject jcharArray
;
114 typedef jobject jfloatArray
;
115 typedef jobject jdoubleArray
;
120 typedef const struct JNINativeInterface
*JNIEnv
;
121 typedef const struct JNIInvokeInterface
*JavaVM
;
123 # endif /* __cplusplus */
125 #endif /* _CLASSPATH_VM_JNI_TYPES_DEFINED */
128 * Before jni.h is #included within a typical JVM, the source code should
129 * #define _JNI_VM_INTERNAL_TYPES_DEFINED and provide the real declarations
130 * for 'jobject', 'jfieldID', 'jmethodID' and other implementation types.
131 * If _JNI_VM_INTERNAL_TYPES_DEFINED is not defined, the following
132 * declares the old versions of the types.
134 #ifndef _CLASSPATH_VM_INTERNAL_TYPES_DEFINED
137 typedef struct _jfieldID
*jfieldID
;
138 typedef struct _jmethodID
*jmethodID
;
141 /* Version numbers. */
142 #define JNI_VERSION_1_1 0x00010001
143 #define JNI_VERSION_1_2 0x00010002
144 #define JNI_VERSION_1_4 0x00010004
146 /* Used when releasing array elements. */
153 #define JNI_EDETACHED (-2)
154 #define JNI_EVERSION (-3)
160 #endif /* __cplusplus */
162 /* These functions might be defined in libraries which we load; the
163 JNI implementation calls them at the appropriate times. */
164 extern JNIEXPORT jint JNICALL
JNI_OnLoad (JavaVM
*, void *);
165 extern JNIEXPORT
void JNICALL
JNI_OnUnload (JavaVM
*, void *);
167 /* This can be defined as JNIIMPORT or JNIEXPORT by the md file,
168 depending on whether this is the implementation or a user. */
169 #ifndef _CLASSPATH_JNIIMPEXP
170 #define _CLASSPATH_JNIIMPEXP JNIIMPORT
173 /* These functions are called by user code to start using the
175 extern _CLASSPATH_JNIIMPEXP jint JNICALL
176 JNI_GetDefaultJavaVMInitArgs (void *);
178 extern _CLASSPATH_JNIIMPEXP jint JNICALL
179 JNI_CreateJavaVM (JavaVM
**, void **, void *);
181 extern _CLASSPATH_JNIIMPEXP jint JNICALL
182 JNI_GetCreatedJavaVMs (JavaVM
**, jsize
, jsize
*);
186 #endif /* __cplusplus */
201 /* This structure is used when registering native methods. */
206 void *fnPtr
; /* Sigh. */
209 struct JNINativeInterface
216 jint (JNICALL
*GetVersion
) (JNIEnv
*);
217 jclass (JNICALL
*DefineClass
) (JNIEnv
*, const char *,
218 jobject
, const jbyte
*,
220 jclass (JNICALL
*FindClass
) (JNIEnv
*, const char *);
222 jmethodID (JNICALL
*FromReflectedMethod
) (JNIEnv
*, jobject
);
223 jfieldID (JNICALL
*FromReflectedField
) (JNIEnv
*, jobject
);
224 jobject (JNICALL
*ToReflectedMethod
) (JNIEnv
*, jclass
,
225 jmethodID
, jboolean
);
227 jclass (JNICALL
*GetSuperclass
) (JNIEnv
*, jclass
);
228 jboolean (JNICALL
*IsAssignableFrom
) (JNIEnv
*, jclass
, jclass
);
230 jobject (JNICALL
*ToReflectedField
) (JNIEnv
*, jclass
, jfieldID
,
233 jint (JNICALL
*Throw
) (JNIEnv
*, jthrowable
);
234 jint (JNICALL
*ThrowNew
) (JNIEnv
*, jclass
,
236 jthrowable (JNICALL
*ExceptionOccurred
) (JNIEnv
*);
237 void (JNICALL
*ExceptionDescribe
) (JNIEnv
*);
238 void (JNICALL
*ExceptionClear
) (JNIEnv
*);
239 void (JNICALL
*FatalError
) (JNIEnv
*, const char *);
241 jint (JNICALL
*PushLocalFrame
) (JNIEnv
*, jint
);
242 jobject (JNICALL
*PopLocalFrame
) (JNIEnv
*, jobject
);
244 jobject (JNICALL
*NewGlobalRef
) (JNIEnv
*, jobject
);
245 void (JNICALL
*DeleteGlobalRef
) (JNIEnv
*, jobject
);
246 void (JNICALL
*DeleteLocalRef
) (JNIEnv
*, jobject
);
247 jboolean (JNICALL
*IsSameObject
) (JNIEnv
*, jobject
,
250 jobject (JNICALL
*NewLocalRef
) (JNIEnv
*, jobject
);
251 jint (JNICALL
*EnsureLocalCapacity
) (JNIEnv
*, jint
);
253 jobject (JNICALL
*AllocObject
) (JNIEnv
*, jclass
);
254 jobject (JNICALL
*NewObject
) (JNIEnv
*, jclass
,
256 jobject (JNICALL
*NewObjectV
) (JNIEnv
*, jclass
,
258 jobject (JNICALL
*NewObjectA
) (JNIEnv
*, jclass
,
259 jmethodID
, jvalue
*);
261 jclass (JNICALL
*GetObjectClass
) (JNIEnv
*, jobject
);
262 jboolean (JNICALL
*IsInstanceOf
) (JNIEnv
*, jobject
, jclass
);
263 jmethodID (JNICALL
*GetMethodID
) (JNIEnv
*, jclass
,
264 const char *, const char *);
266 jobject (JNICALL
*CallObjectMethod
) (JNIEnv
*, jobject
, jmethodID
, ...);
267 jobject (JNICALL
*CallObjectMethodV
) (JNIEnv
*, jobject
, jmethodID
,
269 jobject (JNICALL
*CallObjectMethodA
) (JNIEnv
*, jobject
, jmethodID
,
271 jboolean (JNICALL
*CallBooleanMethod
) (JNIEnv
*, jobject
, jmethodID
,
273 jboolean (JNICALL
*CallBooleanMethodV
) (JNIEnv
*, jobject
, jmethodID
,
275 jboolean (JNICALL
*CallBooleanMethodA
) (JNIEnv
*, jobject
, jmethodID
,
277 jbyte (JNICALL
*CallByteMethod
) (JNIEnv
*, jobject
, jmethodID
, ...);
278 jbyte (JNICALL
*CallByteMethodV
) (JNIEnv
*, jobject
, jmethodID
,
280 jbyte (JNICALL
*CallByteMethodA
) (JNIEnv
*, jobject
, jmethodID
,
282 jchar (JNICALL
*CallCharMethod
) (JNIEnv
*, jobject
, jmethodID
, ...);
283 jchar (JNICALL
*CallCharMethodV
) (JNIEnv
*, jobject
, jmethodID
,
285 jchar (JNICALL
*CallCharMethodA
) (JNIEnv
*, jobject
, jmethodID
,
287 jshort (JNICALL
*CallShortMethod
) (JNIEnv
*, jobject
, jmethodID
, ...);
288 jshort (JNICALL
*CallShortMethodV
) (JNIEnv
*, jobject
, jmethodID
,
290 jshort (JNICALL
*CallShortMethodA
) (JNIEnv
*, jobject
, jmethodID
,
292 jint (JNICALL
*CallIntMethod
) (JNIEnv
*, jobject
, jmethodID
, ...);
293 jint (JNICALL
*CallIntMethodV
) (JNIEnv
*, jobject
, jmethodID
,
295 jint (JNICALL
*CallIntMethodA
) (JNIEnv
*, jobject
, jmethodID
,
297 jlong (JNICALL
*CallLongMethod
) (JNIEnv
*, jobject
, jmethodID
, ...);
298 jlong (JNICALL
*CallLongMethodV
) (JNIEnv
*, jobject
, jmethodID
,
300 jlong (JNICALL
*CallLongMethodA
) (JNIEnv
*, jobject
, jmethodID
,
302 jfloat (JNICALL
*CallFloatMethod
) (JNIEnv
*, jobject
, jmethodID
, ...);
303 jfloat (JNICALL
*CallFloatMethodV
) (JNIEnv
*, jobject
, jmethodID
,
305 jfloat (JNICALL
*CallFloatMethodA
) (JNIEnv
*, jobject
, jmethodID
,
307 jdouble (JNICALL
*CallDoubleMethod
) (JNIEnv
*, jobject
, jmethodID
, ...);
308 jdouble (JNICALL
*CallDoubleMethodV
) (JNIEnv
*, jobject
, jmethodID
,
310 jdouble (JNICALL
*CallDoubleMethodA
) (JNIEnv
*, jobject
, jmethodID
,
312 void (JNICALL
*CallVoidMethod
) (JNIEnv
*, jobject
, jmethodID
, ...);
313 void (JNICALL
*CallVoidMethodV
) (JNIEnv
*, jobject
, jmethodID
,
315 void (JNICALL
*CallVoidMethodA
) (JNIEnv
*, jobject
, jmethodID
,
318 jobject (JNICALL
*CallNonvirtualObjectMethod
) (JNIEnv
*, jobject
, jclass
,
320 jobject (JNICALL
*CallNonvirtualObjectMethodV
) (JNIEnv
*, jobject
, jclass
,
322 jobject (JNICALL
*CallNonvirtualObjectMethodA
) (JNIEnv
*, jobject
, jclass
,
323 jmethodID
, jvalue
*);
324 jboolean (JNICALL
*CallNonvirtualBooleanMethod
) (JNIEnv
*, jobject
, jclass
,
326 jboolean (JNICALL
*CallNonvirtualBooleanMethodV
) (JNIEnv
*, jobject
, jclass
,
328 jboolean (JNICALL
*CallNonvirtualBooleanMethodA
) (JNIEnv
*, jobject
, jclass
,
329 jmethodID
, jvalue
*);
330 jbyte (JNICALL
*CallNonvirtualByteMethod
) (JNIEnv
*, jobject
, jclass
,
332 jbyte (JNICALL
*CallNonvirtualByteMethodV
) (JNIEnv
*, jobject
, jclass
,
334 jbyte (JNICALL
*CallNonvirtualByteMethodA
) (JNIEnv
*, jobject
, jclass
,
335 jmethodID
, jvalue
*);
336 jchar (JNICALL
*CallNonvirtualCharMethod
) (JNIEnv
*, jobject
, jclass
,
338 jchar (JNICALL
*CallNonvirtualCharMethodV
) (JNIEnv
*, jobject
, jclass
,
340 jchar (JNICALL
*CallNonvirtualCharMethodA
) (JNIEnv
*, jobject
, jclass
,
341 jmethodID
, jvalue
*);
342 jshort (JNICALL
*CallNonvirtualShortMethod
) (JNIEnv
*, jobject
, jclass
,
344 jshort (JNICALL
*CallNonvirtualShortMethodV
) (JNIEnv
*, jobject
, jclass
,
346 jshort (JNICALL
*CallNonvirtualShortMethodA
) (JNIEnv
*, jobject
, jclass
,
347 jmethodID
, jvalue
*);
348 jint (JNICALL
*CallNonvirtualIntMethod
) (JNIEnv
*, jobject
, jclass
,
350 jint (JNICALL
*CallNonvirtualIntMethodV
) (JNIEnv
*, jobject
, jclass
,
352 jint (JNICALL
*CallNonvirtualIntMethodA
) (JNIEnv
*, jobject
, jclass
,
353 jmethodID
, jvalue
*);
354 jlong (JNICALL
*CallNonvirtualLongMethod
) (JNIEnv
*, jobject
, jclass
,
356 jlong (JNICALL
*CallNonvirtualLongMethodV
) (JNIEnv
*, jobject
, jclass
,
358 jlong (JNICALL
*CallNonvirtualLongMethodA
) (JNIEnv
*, jobject
, jclass
,
359 jmethodID
, jvalue
*);
360 jfloat (JNICALL
*CallNonvirtualFloatMethod
) (JNIEnv
*, jobject
, jclass
,
362 jfloat (JNICALL
*CallNonvirtualFloatMethodV
) (JNIEnv
*, jobject
, jclass
,
364 jfloat (JNICALL
*CallNonvirtualFloatMethodA
) (JNIEnv
*, jobject
, jclass
,
365 jmethodID
, jvalue
*);
366 jdouble (JNICALL
*CallNonvirtualDoubleMethod
) (JNIEnv
*, jobject
, jclass
,
368 jdouble (JNICALL
*CallNonvirtualDoubleMethodV
) (JNIEnv
*, jobject
, jclass
,
370 jdouble (JNICALL
*CallNonvirtualDoubleMethodA
) (JNIEnv
*, jobject
, jclass
,
371 jmethodID
, jvalue
*);
372 void (JNICALL
*CallNonvirtualVoidMethod
) (JNIEnv
*, jobject
, jclass
,
374 void (JNICALL
*CallNonvirtualVoidMethodV
) (JNIEnv
*, jobject
, jclass
,
376 void (JNICALL
*CallNonvirtualVoidMethodA
) (JNIEnv
*, jobject
, jclass
,
377 jmethodID
, jvalue
*);
379 jfieldID (JNICALL
*GetFieldID
) (JNIEnv
*, jclass
, const char *,
382 jobject (JNICALL
*GetObjectField
) (JNIEnv
*, jobject
, jfieldID
);
383 jboolean (JNICALL
*GetBooleanField
) (JNIEnv
*, jobject
, jfieldID
);
384 jbyte (JNICALL
*GetByteField
) (JNIEnv
*, jobject
, jfieldID
);
385 jchar (JNICALL
*GetCharField
) (JNIEnv
*, jobject
, jfieldID
);
386 jshort (JNICALL
*GetShortField
) (JNIEnv
*, jobject
, jfieldID
);
387 jint (JNICALL
*GetIntField
) (JNIEnv
*, jobject
, jfieldID
);
388 jlong (JNICALL
*GetLongField
) (JNIEnv
*, jobject
, jfieldID
);
389 jfloat (JNICALL
*GetFloatField
) (JNIEnv
*, jobject
, jfieldID
);
390 jdouble (JNICALL
*GetDoubleField
) (JNIEnv
*, jobject
, jfieldID
);
392 void (JNICALL
*SetObjectField
) (JNIEnv
*, jobject
,
394 void (JNICALL
*SetBooleanField
) (JNIEnv
*, jobject
,
396 void (JNICALL
*SetByteField
) (JNIEnv
*, jobject
,
398 void (JNICALL
*SetCharField
) (JNIEnv
*, jobject
,
400 void (JNICALL
*SetShortField
) (JNIEnv
*, jobject
,
402 void (JNICALL
*SetIntField
) (JNIEnv
*, jobject
,
404 void (JNICALL
*SetLongField
) (JNIEnv
*, jobject
,
406 void (JNICALL
*SetFloatField
) (JNIEnv
*, jobject
,
408 void (JNICALL
*SetDoubleField
) (JNIEnv
*, jobject
,
411 jmethodID (JNICALL
*GetStaticMethodID
) (JNIEnv
*, jclass
, const char *,
414 jobject (JNICALL
*CallStaticObjectMethod
) (JNIEnv
*, jclass
, jmethodID
,
416 jobject (JNICALL
*CallStaticObjectMethodV
) (JNIEnv
*, jclass
, jmethodID
,
418 jobject (JNICALL
*CallStaticObjectMethodA
) (JNIEnv
*, jclass
, jmethodID
,
420 jboolean (JNICALL
*CallStaticBooleanMethod
) (JNIEnv
*, jclass
, jmethodID
,
422 jboolean (JNICALL
*CallStaticBooleanMethodV
) (JNIEnv
*, jclass
, jmethodID
,
424 jboolean (JNICALL
*CallStaticBooleanMethodA
) (JNIEnv
*, jclass
, jmethodID
,
426 jbyte (JNICALL
*CallStaticByteMethod
) (JNIEnv
*, jclass
, jmethodID
,
428 jbyte (JNICALL
*CallStaticByteMethodV
) (JNIEnv
*, jclass
, jmethodID
,
430 jbyte (JNICALL
*CallStaticByteMethodA
) (JNIEnv
*, jclass
, jmethodID
,
432 jchar (JNICALL
*CallStaticCharMethod
) (JNIEnv
*, jclass
, jmethodID
,
434 jchar (JNICALL
*CallStaticCharMethodV
) (JNIEnv
*, jclass
, jmethodID
,
436 jchar (JNICALL
*CallStaticCharMethodA
) (JNIEnv
*, jclass
, jmethodID
,
438 jshort (JNICALL
*CallStaticShortMethod
) (JNIEnv
*, jclass
, jmethodID
,
440 jshort (JNICALL
*CallStaticShortMethodV
) (JNIEnv
*, jclass
, jmethodID
,
442 jshort (JNICALL
*CallStaticShortMethodA
) (JNIEnv
*, jclass
, jmethodID
,
444 jint (JNICALL
*CallStaticIntMethod
) (JNIEnv
*, jclass
, jmethodID
,
446 jint (JNICALL
*CallStaticIntMethodV
) (JNIEnv
*, jclass
, jmethodID
,
448 jint (JNICALL
*CallStaticIntMethodA
) (JNIEnv
*, jclass
, jmethodID
,
450 jlong (JNICALL
*CallStaticLongMethod
) (JNIEnv
*, jclass
, jmethodID
,
452 jlong (JNICALL
*CallStaticLongMethodV
) (JNIEnv
*, jclass
, jmethodID
,
454 jlong (JNICALL
*CallStaticLongMethodA
) (JNIEnv
*, jclass
, jmethodID
,
456 jfloat (JNICALL
*CallStaticFloatMethod
) (JNIEnv
*, jclass
, jmethodID
,
458 jfloat (JNICALL
*CallStaticFloatMethodV
) (JNIEnv
*, jclass
, jmethodID
,
460 jfloat (JNICALL
*CallStaticFloatMethodA
) (JNIEnv
*, jclass
, jmethodID
,
462 jdouble (JNICALL
*CallStaticDoubleMethod
) (JNIEnv
*, jclass
, jmethodID
,
464 jdouble (JNICALL
*CallStaticDoubleMethodV
) (JNIEnv
*, jclass
, jmethodID
,
466 jdouble (JNICALL
*CallStaticDoubleMethodA
) (JNIEnv
*, jclass
, jmethodID
,
468 void (JNICALL
*CallStaticVoidMethod
) (JNIEnv
*, jclass
, jmethodID
,
470 void (JNICALL
*CallStaticVoidMethodV
) (JNIEnv
*, jclass
, jmethodID
,
472 void (JNICALL
*CallStaticVoidMethodA
) (JNIEnv
*, jclass
, jmethodID
,
475 jfieldID (JNICALL
*GetStaticFieldID
) (JNIEnv
*, jclass
, const char *,
478 jobject (JNICALL
*GetStaticObjectField
) (JNIEnv
*, jclass
, jfieldID
);
479 jboolean (JNICALL
*GetStaticBooleanField
) (JNIEnv
*, jclass
, jfieldID
);
480 jbyte (JNICALL
*GetStaticByteField
) (JNIEnv
*, jclass
, jfieldID
);
481 jchar (JNICALL
*GetStaticCharField
) (JNIEnv
*, jclass
, jfieldID
);
482 jshort (JNICALL
*GetStaticShortField
) (JNIEnv
*, jclass
, jfieldID
);
483 jint (JNICALL
*GetStaticIntField
) (JNIEnv
*, jclass
, jfieldID
);
484 jlong (JNICALL
*GetStaticLongField
) (JNIEnv
*, jclass
, jfieldID
);
485 jfloat (JNICALL
*GetStaticFloatField
) (JNIEnv
*, jclass
, jfieldID
);
486 jdouble (JNICALL
*GetStaticDoubleField
) (JNIEnv
*, jclass
, jfieldID
);
488 void (JNICALL
*SetStaticObjectField
) (JNIEnv
*, jclass
,
490 void (JNICALL
*SetStaticBooleanField
) (JNIEnv
*, jclass
,
492 void (JNICALL
*SetStaticByteField
) (JNIEnv
*, jclass
,
494 void (JNICALL
*SetStaticCharField
) (JNIEnv
*, jclass
,
496 void (JNICALL
*SetStaticShortField
) (JNIEnv
*, jclass
,
498 void (JNICALL
*SetStaticIntField
) (JNIEnv
*, jclass
,
500 void (JNICALL
*SetStaticLongField
) (JNIEnv
*, jclass
,
502 void (JNICALL
*SetStaticFloatField
) (JNIEnv
*, jclass
,
504 void (JNICALL
*SetStaticDoubleField
) (JNIEnv
*, jclass
,
507 jstring (JNICALL
*NewString
) (JNIEnv
*, const jchar
*, jsize
);
508 jsize (JNICALL
*GetStringLength
) (JNIEnv
*, jstring
);
509 const jchar
* (JNICALL
*GetStringChars
) (JNIEnv
*, jstring
, jboolean
*);
510 void (JNICALL
*ReleaseStringChars
) (JNIEnv
*, jstring
, const jchar
*);
511 jstring (JNICALL
*NewStringUTF
) (JNIEnv
*, const char *);
512 jsize (JNICALL
*GetStringUTFLength
) (JNIEnv
*, jstring
);
513 const char * (JNICALL
*GetStringUTFChars
) (JNIEnv
*, jstring
, jboolean
*);
514 void (JNICALL
*ReleaseStringUTFChars
) (JNIEnv
*, jstring
, const char *);
515 jsize (JNICALL
*GetArrayLength
) (JNIEnv
*, jarray
);
516 jobjectArray (JNICALL
*NewObjectArray
) (JNIEnv
*, jsize
, jclass
, jobject
);
517 jobject (JNICALL
*GetObjectArrayElement
) (JNIEnv
*, jobjectArray
, jsize
);
518 void (JNICALL
*SetObjectArrayElement
) (JNIEnv
*, jobjectArray
, jsize
,
521 jbooleanArray (JNICALL
*NewBooleanArray
) (JNIEnv
*, jsize
);
522 jbyteArray (JNICALL
*NewByteArray
) (JNIEnv
*, jsize
);
523 jcharArray (JNICALL
*NewCharArray
) (JNIEnv
*, jsize
);
524 jshortArray (JNICALL
*NewShortArray
) (JNIEnv
*, jsize
);
525 jintArray (JNICALL
*NewIntArray
) (JNIEnv
*, jsize
);
526 jlongArray (JNICALL
*NewLongArray
) (JNIEnv
*, jsize
);
527 jfloatArray (JNICALL
*NewFloatArray
) (JNIEnv
*, jsize
);
528 jdoubleArray (JNICALL
*NewDoubleArray
) (JNIEnv
*, jsize
);
530 jboolean
* (JNICALL
*GetBooleanArrayElements
) (JNIEnv
*, jbooleanArray
,
532 jbyte
* (JNICALL
*GetByteArrayElements
) (JNIEnv
*, jbyteArray
,
534 jchar
* (JNICALL
*GetCharArrayElements
) (JNIEnv
*, jcharArray
,
536 jshort
* (JNICALL
*GetShortArrayElements
) (JNIEnv
*, jshortArray
,
538 jint
* (JNICALL
*GetIntArrayElements
) (JNIEnv
*, jintArray
,
540 jlong
* (JNICALL
*GetLongArrayElements
) (JNIEnv
*, jlongArray
,
542 jfloat
* (JNICALL
*GetFloatArrayElements
) (JNIEnv
*, jfloatArray
,
544 jdouble
* (JNICALL
*GetDoubleArrayElements
) (JNIEnv
*, jdoubleArray
,
547 void (JNICALL
*ReleaseBooleanArrayElements
) (JNIEnv
*, jbooleanArray
,
549 void (JNICALL
*ReleaseByteArrayElements
) (JNIEnv
*, jbyteArray
,
551 void (JNICALL
*ReleaseCharArrayElements
) (JNIEnv
*, jcharArray
,
553 void (JNICALL
*ReleaseShortArrayElements
) (JNIEnv
*, jshortArray
,
555 void (JNICALL
*ReleaseIntArrayElements
) (JNIEnv
*, jintArray
,
557 void (JNICALL
*ReleaseLongArrayElements
) (JNIEnv
*, jlongArray
,
559 void (JNICALL
*ReleaseFloatArrayElements
) (JNIEnv
*, jfloatArray
,
561 void (JNICALL
*ReleaseDoubleArrayElements
) (JNIEnv
*, jdoubleArray
,
564 void (JNICALL
*GetBooleanArrayRegion
) (JNIEnv
*, jbooleanArray
,
565 jsize
, jsize
, jboolean
*);
566 void (JNICALL
*GetByteArrayRegion
) (JNIEnv
*, jbyteArray
,
567 jsize
, jsize
, jbyte
*);
568 void (JNICALL
*GetCharArrayRegion
) (JNIEnv
*, jcharArray
,
569 jsize
, jsize
, jchar
*);
570 void (JNICALL
*GetShortArrayRegion
) (JNIEnv
*, jshortArray
,
571 jsize
, jsize
, jshort
*);
572 void (JNICALL
*GetIntArrayRegion
) (JNIEnv
*, jintArray
,
573 jsize
, jsize
, jint
*);
574 void (JNICALL
*GetLongArrayRegion
) (JNIEnv
*, jlongArray
,
575 jsize
, jsize
, jlong
*);
576 void (JNICALL
*GetFloatArrayRegion
) (JNIEnv
*, jfloatArray
,
577 jsize
, jsize
, jfloat
*);
578 void (JNICALL
*GetDoubleArrayRegion
) (JNIEnv
*, jdoubleArray
,
579 jsize
, jsize
, jdouble
*);
581 void (JNICALL
*SetBooleanArrayRegion
) (JNIEnv
*, jbooleanArray
,
582 jsize
, jsize
, jboolean
*);
583 void (JNICALL
*SetByteArrayRegion
) (JNIEnv
*, jbyteArray
,
584 jsize
, jsize
, jbyte
*);
585 void (JNICALL
*SetCharArrayRegion
) (JNIEnv
*, jcharArray
,
586 jsize
, jsize
, jchar
*);
587 void (JNICALL
*SetShortArrayRegion
) (JNIEnv
*, jshortArray
,
588 jsize
, jsize
, jshort
*);
589 void (JNICALL
*SetIntArrayRegion
) (JNIEnv
*, jintArray
,
590 jsize
, jsize
, jint
*);
591 void (JNICALL
*SetLongArrayRegion
) (JNIEnv
*, jlongArray
,
592 jsize
, jsize
, jlong
*);
593 void (JNICALL
*SetFloatArrayRegion
) (JNIEnv
*, jfloatArray
,
594 jsize
, jsize
, jfloat
*);
595 void (JNICALL
*SetDoubleArrayRegion
) (JNIEnv
*, jdoubleArray
,
596 jsize
, jsize
, jdouble
*);
598 jint (JNICALL
*RegisterNatives
) (JNIEnv
*, jclass
,
599 const JNINativeMethod
*,
601 jint (JNICALL
*UnregisterNatives
) (JNIEnv
*, jclass
);
602 jint (JNICALL
*MonitorEnter
) (JNIEnv
*, jobject
);
603 jint (JNICALL
*MonitorExit
) (JNIEnv
*, jobject
);
604 jint (JNICALL
*GetJavaVM
) (JNIEnv
*, JavaVM
**);
606 /* ---- JNI 1.2 functions ---- */
607 void (JNICALL
*GetStringRegion
) (JNIEnv
*, jstring
, jsize
,
609 void (JNICALL
*GetStringUTFRegion
) (JNIEnv
*, jstring
, jsize
,
612 void * (JNICALL
*GetPrimitiveArrayCritical
) (JNIEnv
*, jarray
,
614 void (JNICALL
*ReleasePrimitiveArrayCritical
) (JNIEnv
*, jarray
, void *,
617 const jchar
* (JNICALL
*GetStringCritical
) (JNIEnv
*, jstring
,
619 void (JNICALL
*ReleaseStringCritical
) (JNIEnv
*, jstring
,
622 jweak (JNICALL
*NewWeakGlobalRef
) (JNIEnv
*, jobject
);
623 void (JNICALL
*DeleteWeakGlobalRef
) (JNIEnv
*, jweak
);
625 jboolean (JNICALL
*ExceptionCheck
) (JNIEnv
*);
627 /* ---- JNI 1.4 functions ---- */
628 jobject (JNICALL
*NewDirectByteBuffer
) (JNIEnv
*, void *, jlong
);
629 void * (JNICALL
*GetDirectBufferAddress
) (JNIEnv
*, jobject
);
630 jlong (JNICALL
*GetDirectBufferCapacity
) (JNIEnv
*, jobject
);
638 /* The method table. */
639 struct JNINativeInterface
*p
;
641 #ifdef _CLASSPATH_JNIENV_CONTENTS
642 _CLASSPATH_JNIENV_CONTENTS
646 { return p
->GetVersion (this); }
648 jclass
DefineClass (const char *name
, jobject obj0
, const jbyte
* val1
,
650 { return p
->DefineClass (this, name
, obj0
, val1
, val2
); }
652 jclass
FindClass (const char * val0
)
653 { return p
->FindClass (this, val0
); }
655 jmethodID
FromReflectedMethod (jobject obj0
)
656 { return p
->FromReflectedMethod (this, obj0
); }
658 jfieldID
FromReflectedField (jobject obj0
)
659 { return p
->FromReflectedField (this, obj0
); }
661 jobject
ToReflectedMethod (jclass cl0
, jmethodID meth1
, jboolean val2
)
662 { return p
->ToReflectedMethod (this, cl0
, meth1
, val2
); }
664 jclass
GetSuperclass (jclass cl0
)
665 { return p
->GetSuperclass (this, cl0
); }
667 jboolean
IsAssignableFrom (jclass cl0
, jclass cl1
)
668 { return p
->IsAssignableFrom (this, cl0
, cl1
); }
670 jobject
ToReflectedField (jclass cl0
, jfieldID fld1
, jboolean val2
)
671 { return p
->ToReflectedField (this, cl0
, fld1
, val2
); }
673 jint
Throw (jthrowable val0
)
674 { return p
->Throw (this, val0
); }
676 jint
ThrowNew (jclass cl0
, const char * val1
)
677 { return p
->ThrowNew (this, cl0
, val1
); }
679 jthrowable
ExceptionOccurred ()
680 { return p
->ExceptionOccurred (this); }
682 void ExceptionDescribe ()
683 { p
->ExceptionDescribe (this); }
685 void ExceptionClear ()
686 { p
->ExceptionClear (this); }
688 void FatalError (const char * val0
)
689 { p
->FatalError (this, val0
); }
691 jint
PushLocalFrame (jint val0
)
692 { return p
->PushLocalFrame (this, val0
); }
694 jobject
PopLocalFrame (jobject obj0
)
695 { return p
->PopLocalFrame (this, obj0
); }
697 jobject
NewGlobalRef (jobject obj0
)
698 { return p
->NewGlobalRef (this, obj0
); }
700 void DeleteGlobalRef (jobject obj0
)
701 { p
->DeleteGlobalRef (this, obj0
); }
703 void DeleteLocalRef (jobject obj0
)
704 { p
->DeleteLocalRef (this, obj0
); }
706 jboolean
IsSameObject (jobject obj0
, jobject obj1
)
707 { return p
->IsSameObject (this, obj0
, obj1
); }
709 jobject
NewLocalRef (jobject obj0
)
710 { return p
->NewLocalRef (this, obj0
); }
712 jint
EnsureLocalCapacity (jint val0
)
713 { return p
->EnsureLocalCapacity (this, val0
); }
715 jobject
AllocObject (jclass cl0
)
716 { return p
->AllocObject (this, cl0
); }
718 jobject
NewObject (jclass cl0
, jmethodID meth1
, ...)
721 va_start (args
, meth1
);
722 jobject result
= p
->NewObjectV (this, cl0
, meth1
, args
);
727 jobject
NewObjectV (jclass cl0
, jmethodID meth1
, va_list val2
)
728 { return p
->NewObjectV (this, cl0
, meth1
, val2
); }
730 jobject
NewObjectA (jclass cl0
, jmethodID meth1
, jvalue
* val2
)
731 { return p
->NewObjectA (this, cl0
, meth1
, val2
); }
733 jclass
GetObjectClass (jobject obj0
)
734 { return p
->GetObjectClass (this, obj0
); }
736 jboolean
IsInstanceOf (jobject obj0
, jclass cl1
)
737 { return p
->IsInstanceOf (this, obj0
, cl1
); }
739 jmethodID
GetMethodID (jclass cl0
, const char * val1
, const char * val2
)
740 { return p
->GetMethodID (this, cl0
, val1
, val2
); }
742 jobject
CallObjectMethod (jobject obj0
, jmethodID meth1
, ...)
745 va_start (args
, meth1
);
746 jobject result
= p
->CallObjectMethodV (this, obj0
, meth1
, args
);
751 jobject
CallObjectMethodV (jobject obj0
, jmethodID meth1
, va_list val2
)
752 { return p
->CallObjectMethodV (this, obj0
, meth1
, val2
); }
754 jobject
CallObjectMethodA (jobject obj0
, jmethodID meth1
, jvalue
* val2
)
755 { return p
->CallObjectMethodA (this, obj0
, meth1
, val2
); }
757 jboolean
CallBooleanMethod (jobject obj0
, jmethodID meth1
, ...)
760 va_start (args
, meth1
);
761 jboolean result
= p
->CallBooleanMethodV (this, obj0
, meth1
, args
);
766 jboolean
CallBooleanMethodV (jobject obj0
, jmethodID meth1
, va_list val2
)
767 { return p
->CallBooleanMethodV (this, obj0
, meth1
, val2
); }
769 jboolean
CallBooleanMethodA (jobject obj0
, jmethodID meth1
, jvalue
* val2
)
770 { return p
->CallBooleanMethodA (this, obj0
, meth1
, val2
); }
772 jbyte
CallByteMethod (jobject obj0
, jmethodID meth1
, ...)
775 va_start (args
, meth1
);
776 jbyte result
= p
->CallByteMethodV (this, obj0
, meth1
, args
);
781 jbyte
CallByteMethodV (jobject obj0
, jmethodID meth1
, va_list val2
)
782 { return p
->CallByteMethodV (this, obj0
, meth1
, val2
); }
784 jbyte
CallByteMethodA (jobject obj0
, jmethodID meth1
, jvalue
* val2
)
785 { return p
->CallByteMethodA (this, obj0
, meth1
, val2
); }
787 jchar
CallCharMethod (jobject obj0
, jmethodID meth1
, ...)
790 va_start (args
, meth1
);
791 jchar result
= p
->CallCharMethodV (this, obj0
, meth1
, args
);
796 jchar
CallCharMethodV (jobject obj0
, jmethodID meth1
, va_list val2
)
797 { return p
->CallCharMethodV (this, obj0
, meth1
, val2
); }
799 jchar
CallCharMethodA (jobject obj0
, jmethodID meth1
, jvalue
* val2
)
800 { return p
->CallCharMethodA (this, obj0
, meth1
, val2
); }
802 jshort
CallShortMethod (jobject obj0
, jmethodID meth1
, ...)
805 va_start (args
, meth1
);
806 jshort result
= p
->CallShortMethodV (this, obj0
, meth1
, args
);
811 jshort
CallShortMethodV (jobject obj0
, jmethodID meth1
, va_list val2
)
812 { return p
->CallShortMethodV (this, obj0
, meth1
, val2
); }
814 jshort
CallShortMethodA (jobject obj0
, jmethodID meth1
, jvalue
* val2
)
815 { return p
->CallShortMethodA (this, obj0
, meth1
, val2
); }
817 jint
CallIntMethod (jobject obj0
, jmethodID meth1
, ...)
820 va_start (args
, meth1
);
821 jint result
= p
->CallIntMethodV (this, obj0
, meth1
, args
);
826 jint
CallIntMethodV (jobject obj0
, jmethodID meth1
, va_list val2
)
827 { return p
->CallIntMethodV (this, obj0
, meth1
, val2
); }
829 jint
CallIntMethodA (jobject obj0
, jmethodID meth1
, jvalue
* val2
)
830 { return p
->CallIntMethodA (this, obj0
, meth1
, val2
); }
832 jlong
CallLongMethod (jobject obj0
, jmethodID meth1
, ...)
835 va_start (args
, meth1
);
836 jlong result
= p
->CallLongMethodV (this, obj0
, meth1
, args
);
841 jlong
CallLongMethodV (jobject obj0
, jmethodID meth1
, va_list val2
)
842 { return p
->CallLongMethodV (this, obj0
, meth1
, val2
); }
844 jlong
CallLongMethodA (jobject obj0
, jmethodID meth1
, jvalue
* val2
)
845 { return p
->CallLongMethodA (this, obj0
, meth1
, val2
); }
847 jfloat
CallFloatMethod (jobject obj0
, jmethodID meth1
, ...)
850 va_start (args
, meth1
);
851 jfloat result
= p
->CallFloatMethodV (this, obj0
, meth1
, args
);
856 jfloat
CallFloatMethodV (jobject obj0
, jmethodID meth1
, va_list val2
)
857 { return p
->CallFloatMethodV (this, obj0
, meth1
, val2
); }
859 jfloat
CallFloatMethodA (jobject obj0
, jmethodID meth1
, jvalue
* val2
)
860 { return p
->CallFloatMethodA (this, obj0
, meth1
, val2
); }
862 jdouble
CallDoubleMethod (jobject obj0
, jmethodID meth1
, ...)
865 va_start (args
, meth1
);
866 jdouble result
= p
->CallDoubleMethodV (this, obj0
, meth1
, args
);
871 jdouble
CallDoubleMethodV (jobject obj0
, jmethodID meth1
, va_list val2
)
872 { return p
->CallDoubleMethodV (this, obj0
, meth1
, val2
); }
874 jdouble
CallDoubleMethodA (jobject obj0
, jmethodID meth1
, jvalue
* val2
)
875 { return p
->CallDoubleMethodA (this, obj0
, meth1
, val2
); }
877 void CallVoidMethod (jobject obj0
, jmethodID meth1
, ...)
880 va_start (args
, meth1
);
881 p
->CallVoidMethodV (this, obj0
, meth1
, args
);
885 void CallVoidMethodV (jobject obj0
, jmethodID meth1
, va_list val2
)
886 { p
->CallVoidMethodV (this, obj0
, meth1
, val2
); }
888 void CallVoidMethodA (jobject obj0
, jmethodID meth1
, jvalue
* val2
)
889 { p
->CallVoidMethodA (this, obj0
, meth1
, val2
); }
891 jobject
CallNonvirtualObjectMethod (jobject obj0
, jclass cl1
, jmethodID meth2
, ...)
894 va_start (args
, meth2
);
895 jobject result
= p
->CallNonvirtualObjectMethodV (this, obj0
, cl1
, meth2
, args
);
900 jobject
CallNonvirtualObjectMethodV (jobject obj0
, jclass cl1
, jmethodID meth2
, va_list val3
)
901 { return p
->CallNonvirtualObjectMethodV (this, obj0
, cl1
, meth2
, val3
); }
903 jobject
CallNonvirtualObjectMethodA (jobject obj0
, jclass cl1
, jmethodID meth2
, jvalue
* val3
)
904 { return p
->CallNonvirtualObjectMethodA (this, obj0
, cl1
, meth2
, val3
); }
906 jboolean
CallNonvirtualBooleanMethod (jobject obj0
, jclass cl1
, jmethodID meth2
, ...)
909 va_start (args
, meth2
);
910 jboolean result
= p
->CallNonvirtualBooleanMethodV (this, obj0
, cl1
, meth2
, args
);
915 jboolean
CallNonvirtualBooleanMethodV (jobject obj0
, jclass cl1
, jmethodID meth2
, va_list val3
)
916 { return p
->CallNonvirtualBooleanMethodV (this, obj0
, cl1
, meth2
, val3
); }
918 jboolean
CallNonvirtualBooleanMethodA (jobject obj0
, jclass cl1
, jmethodID meth2
, jvalue
* val3
)
919 { return p
->CallNonvirtualBooleanMethodA (this, obj0
, cl1
, meth2
, val3
); }
921 jbyte
CallNonvirtualByteMethod (jobject obj0
, jclass cl1
, jmethodID meth2
, ...)
924 va_start (args
, meth2
);
925 jbyte result
= p
->CallNonvirtualByteMethodV (this, obj0
, cl1
, meth2
, args
);
930 jbyte
CallNonvirtualByteMethodV (jobject obj0
, jclass cl1
, jmethodID meth2
, va_list val3
)
931 { return p
->CallNonvirtualByteMethodV (this, obj0
, cl1
, meth2
, val3
); }
933 jbyte
CallNonvirtualByteMethodA (jobject obj0
, jclass cl1
, jmethodID meth2
, jvalue
* val3
)
934 { return p
->CallNonvirtualByteMethodA (this, obj0
, cl1
, meth2
, val3
); }
936 jchar
CallNonvirtualCharMethod (jobject obj0
, jclass cl1
, jmethodID meth2
, ...)
939 va_start (args
, meth2
);
940 jchar result
= p
->CallNonvirtualCharMethodV (this, obj0
, cl1
, meth2
, args
);
945 jchar
CallNonvirtualCharMethodV (jobject obj0
, jclass cl1
, jmethodID meth2
, va_list val3
)
946 { return p
->CallNonvirtualCharMethodV (this, obj0
, cl1
, meth2
, val3
); }
948 jchar
CallNonvirtualCharMethodA (jobject obj0
, jclass cl1
, jmethodID meth2
, jvalue
* val3
)
949 { return p
->CallNonvirtualCharMethodA (this, obj0
, cl1
, meth2
, val3
); }
951 jshort
CallNonvirtualShortMethod (jobject obj0
, jclass cl1
, jmethodID meth2
, ...)
954 va_start (args
, meth2
);
955 jshort result
= p
->CallNonvirtualShortMethodV (this, obj0
, cl1
, meth2
, args
);
960 jshort
CallNonvirtualShortMethodV (jobject obj0
, jclass cl1
, jmethodID meth2
, va_list val3
)
961 { return p
->CallNonvirtualShortMethodV (this, obj0
, cl1
, meth2
, val3
); }
963 jshort
CallNonvirtualShortMethodA (jobject obj0
, jclass cl1
, jmethodID meth2
, jvalue
* val3
)
964 { return p
->CallNonvirtualShortMethodA (this, obj0
, cl1
, meth2
, val3
); }
966 jint
CallNonvirtualIntMethod (jobject obj0
, jclass cl1
, jmethodID meth2
, ...)
969 va_start (args
, meth2
);
970 jint result
= p
->CallNonvirtualIntMethodV (this, obj0
, cl1
, meth2
, args
);
975 jint
CallNonvirtualIntMethodV (jobject obj0
, jclass cl1
, jmethodID meth2
, va_list val3
)
976 { return p
->CallNonvirtualIntMethodV (this, obj0
, cl1
, meth2
, val3
); }
978 jint
CallNonvirtualIntMethodA (jobject obj0
, jclass cl1
, jmethodID meth2
, jvalue
* val3
)
979 { return p
->CallNonvirtualIntMethodA (this, obj0
, cl1
, meth2
, val3
); }
981 jlong
CallNonvirtualLongMethod (jobject obj0
, jclass cl1
, jmethodID meth2
, ...)
984 va_start (args
, meth2
);
985 jlong result
= p
->CallNonvirtualLongMethodV (this, obj0
, cl1
, meth2
, args
);
990 jlong
CallNonvirtualLongMethodV (jobject obj0
, jclass cl1
, jmethodID meth2
, va_list val3
)
991 { return p
->CallNonvirtualLongMethodV (this, obj0
, cl1
, meth2
, val3
); }
993 jlong
CallNonvirtualLongMethodA (jobject obj0
, jclass cl1
, jmethodID meth2
, jvalue
* val3
)
994 { return p
->CallNonvirtualLongMethodA (this, obj0
, cl1
, meth2
, val3
); }
996 jfloat
CallNonvirtualFloatMethod (jobject obj0
, jclass cl1
, jmethodID meth2
, ...)
999 va_start (args
, meth2
);
1000 jfloat result
= p
->CallNonvirtualFloatMethodV (this, obj0
, cl1
, meth2
, args
);
1005 jfloat
CallNonvirtualFloatMethodV (jobject obj0
, jclass cl1
, jmethodID meth2
, va_list val3
)
1006 { return p
->CallNonvirtualFloatMethodV (this, obj0
, cl1
, meth2
, val3
); }
1008 jfloat
CallNonvirtualFloatMethodA (jobject obj0
, jclass cl1
, jmethodID meth2
, jvalue
* val3
)
1009 { return p
->CallNonvirtualFloatMethodA (this, obj0
, cl1
, meth2
, val3
); }
1011 jdouble
CallNonvirtualDoubleMethod (jobject obj0
, jclass cl1
, jmethodID meth2
, ...)
1014 va_start (args
, meth2
);
1015 jdouble result
= p
->CallNonvirtualDoubleMethodV (this, obj0
, cl1
, meth2
, args
);
1020 jdouble
CallNonvirtualDoubleMethodV (jobject obj0
, jclass cl1
, jmethodID meth2
, va_list val3
)
1021 { return p
->CallNonvirtualDoubleMethodV (this, obj0
, cl1
, meth2
, val3
); }
1023 jdouble
CallNonvirtualDoubleMethodA (jobject obj0
, jclass cl1
, jmethodID meth2
, jvalue
* val3
)
1024 { return p
->CallNonvirtualDoubleMethodA (this, obj0
, cl1
, meth2
, val3
); }
1026 void CallNonvirtualVoidMethod (jobject obj0
, jclass cl1
, jmethodID meth2
, ...)
1029 va_start (args
, meth2
);
1030 p
->CallNonvirtualVoidMethodV (this, obj0
, cl1
, meth2
, args
);
1034 void CallNonvirtualVoidMethodV (jobject obj0
, jclass cl1
, jmethodID meth2
, va_list val3
)
1035 { p
->CallNonvirtualVoidMethodV (this, obj0
, cl1
, meth2
, val3
); }
1037 void CallNonvirtualVoidMethodA (jobject obj0
, jclass cl1
, jmethodID meth2
, jvalue
* val3
)
1038 { p
->CallNonvirtualVoidMethodA (this, obj0
, cl1
, meth2
, val3
); }
1040 jfieldID
GetFieldID (jclass cl0
, const char * val1
, const char * val2
)
1041 { return p
->GetFieldID (this, cl0
, val1
, val2
); }
1043 jobject
GetObjectField (jobject obj0
, jfieldID fld1
)
1044 { return p
->GetObjectField (this, obj0
, fld1
); }
1046 jboolean
GetBooleanField (jobject obj0
, jfieldID fld1
)
1047 { return p
->GetBooleanField (this, obj0
, fld1
); }
1049 jbyte
GetByteField (jobject obj0
, jfieldID fld1
)
1050 { return p
->GetByteField (this, obj0
, fld1
); }
1052 jchar
GetCharField (jobject obj0
, jfieldID fld1
)
1053 { return p
->GetCharField (this, obj0
, fld1
); }
1055 jshort
GetShortField (jobject obj0
, jfieldID fld1
)
1056 { return p
->GetShortField (this, obj0
, fld1
); }
1058 jint
GetIntField (jobject obj0
, jfieldID fld1
)
1059 { return p
->GetIntField (this, obj0
, fld1
); }
1061 jlong
GetLongField (jobject obj0
, jfieldID fld1
)
1062 { return p
->GetLongField (this, obj0
, fld1
); }
1064 jfloat
GetFloatField (jobject obj0
, jfieldID fld1
)
1065 { return p
->GetFloatField (this, obj0
, fld1
); }
1067 jdouble
GetDoubleField (jobject obj0
, jfieldID fld1
)
1068 { return p
->GetDoubleField (this, obj0
, fld1
); }
1070 void SetObjectField (jobject obj0
, jfieldID fld1
, jobject obj2
)
1071 { p
->SetObjectField (this, obj0
, fld1
, obj2
); }
1073 void SetBooleanField (jobject obj0
, jfieldID fld1
, jboolean val2
)
1074 { p
->SetBooleanField (this, obj0
, fld1
, val2
); }
1076 void SetByteField (jobject obj0
, jfieldID fld1
, jbyte val2
)
1077 { p
->SetByteField (this, obj0
, fld1
, val2
); }
1079 void SetCharField (jobject obj0
, jfieldID fld1
, jchar val2
)
1080 { p
->SetCharField (this, obj0
, fld1
, val2
); }
1082 void SetShortField (jobject obj0
, jfieldID fld1
, jshort val2
)
1083 { p
->SetShortField (this, obj0
, fld1
, val2
); }
1085 void SetIntField (jobject obj0
, jfieldID fld1
, jint val2
)
1086 { p
->SetIntField (this, obj0
, fld1
, val2
); }
1088 void SetLongField (jobject obj0
, jfieldID fld1
, jlong val2
)
1089 { p
->SetLongField (this, obj0
, fld1
, val2
); }
1091 void SetFloatField (jobject obj0
, jfieldID fld1
, jfloat val2
)
1092 { p
->SetFloatField (this, obj0
, fld1
, val2
); }
1094 void SetDoubleField (jobject obj0
, jfieldID fld1
, jdouble val2
)
1095 { p
->SetDoubleField (this, obj0
, fld1
, val2
); }
1097 jmethodID
GetStaticMethodID (jclass cl0
, const char * val1
, const char * val2
)
1098 { return p
->GetStaticMethodID (this, cl0
, val1
, val2
); }
1100 jobject
CallStaticObjectMethod (jclass cl0
, jmethodID meth1
, ...)
1103 va_start (args
, meth1
);
1104 jobject result
= p
->CallStaticObjectMethodV (this, cl0
, meth1
, args
);
1109 jobject
CallStaticObjectMethodV (jclass cl0
, jmethodID meth1
, va_list val2
)
1110 { return p
->CallStaticObjectMethodV (this, cl0
, meth1
, val2
); }
1112 jobject
CallStaticObjectMethodA (jclass cl0
, jmethodID meth1
, jvalue
* val2
)
1113 { return p
->CallStaticObjectMethodA (this, cl0
, meth1
, val2
); }
1115 jboolean
CallStaticBooleanMethod (jclass cl0
, jmethodID meth1
, ...)
1118 va_start (args
, meth1
);
1119 jboolean result
= p
->CallStaticBooleanMethodV (this, cl0
, meth1
, args
);
1124 jboolean
CallStaticBooleanMethodV (jclass cl0
, jmethodID meth1
, va_list val2
)
1125 { return p
->CallStaticBooleanMethodV (this, cl0
, meth1
, val2
); }
1127 jboolean
CallStaticBooleanMethodA (jclass cl0
, jmethodID meth1
, jvalue
* val2
)
1128 { return p
->CallStaticBooleanMethodA (this, cl0
, meth1
, val2
); }
1130 jbyte
CallStaticByteMethod (jclass cl0
, jmethodID meth1
, ...)
1133 va_start (args
, meth1
);
1134 jbyte result
= p
->CallStaticByteMethodV (this, cl0
, meth1
, args
);
1139 jbyte
CallStaticByteMethodV (jclass cl0
, jmethodID meth1
, va_list val2
)
1140 { return p
->CallStaticByteMethodV (this, cl0
, meth1
, val2
); }
1142 jbyte
CallStaticByteMethodA (jclass cl0
, jmethodID meth1
, jvalue
* val2
)
1143 { return p
->CallStaticByteMethodA (this, cl0
, meth1
, val2
); }
1145 jchar
CallStaticCharMethod (jclass cl0
, jmethodID meth1
, ...)
1148 va_start (args
, meth1
);
1149 jchar result
= p
->CallStaticCharMethodV (this, cl0
, meth1
, args
);
1154 jchar
CallStaticCharMethodV (jclass cl0
, jmethodID meth1
, va_list val2
)
1155 { return p
->CallStaticCharMethodV (this, cl0
, meth1
, val2
); }
1157 jchar
CallStaticCharMethodA (jclass cl0
, jmethodID meth1
, jvalue
* val2
)
1158 { return p
->CallStaticCharMethodA (this, cl0
, meth1
, val2
); }
1160 jshort
CallStaticShortMethod (jclass cl0
, jmethodID meth1
, ...)
1163 va_start (args
, meth1
);
1164 jshort result
= p
->CallStaticShortMethodV (this, cl0
, meth1
, args
);
1169 jshort
CallStaticShortMethodV (jclass cl0
, jmethodID meth1
, va_list val2
)
1170 { return p
->CallStaticShortMethodV (this, cl0
, meth1
, val2
); }
1172 jshort
CallStaticShortMethodA (jclass cl0
, jmethodID meth1
, jvalue
* val2
)
1173 { return p
->CallStaticShortMethodA (this, cl0
, meth1
, val2
); }
1175 jint
CallStaticIntMethod (jclass cl0
, jmethodID meth1
, ...)
1178 va_start (args
, meth1
);
1179 jint result
= p
->CallStaticIntMethodV (this, cl0
, meth1
, args
);
1184 jint
CallStaticIntMethodV (jclass cl0
, jmethodID meth1
, va_list val2
)
1185 { return p
->CallStaticIntMethodV (this, cl0
, meth1
, val2
); }
1187 jint
CallStaticIntMethodA (jclass cl0
, jmethodID meth1
, jvalue
* val2
)
1188 { return p
->CallStaticIntMethodA (this, cl0
, meth1
, val2
); }
1190 jlong
CallStaticLongMethod (jclass cl0
, jmethodID meth1
, ...)
1193 va_start (args
, meth1
);
1194 jlong result
= p
->CallStaticLongMethodV (this, cl0
, meth1
, args
);
1199 jlong
CallStaticLongMethodV (jclass cl0
, jmethodID meth1
, va_list val2
)
1200 { return p
->CallStaticLongMethodV (this, cl0
, meth1
, val2
); }
1202 jlong
CallStaticLongMethodA (jclass cl0
, jmethodID meth1
, jvalue
* val2
)
1203 { return p
->CallStaticLongMethodA (this, cl0
, meth1
, val2
); }
1205 jfloat
CallStaticFloatMethod (jclass cl0
, jmethodID meth1
, ...)
1208 va_start (args
, meth1
);
1209 jfloat result
= p
->CallStaticFloatMethodV (this, cl0
, meth1
, args
);
1214 jfloat
CallStaticFloatMethodV (jclass cl0
, jmethodID meth1
, va_list val2
)
1215 { return p
->CallStaticFloatMethodV (this, cl0
, meth1
, val2
); }
1217 jfloat
CallStaticFloatMethodA (jclass cl0
, jmethodID meth1
, jvalue
* val2
)
1218 { return p
->CallStaticFloatMethodA (this, cl0
, meth1
, val2
); }
1220 jdouble
CallStaticDoubleMethod (jclass cl0
, jmethodID meth1
, ...)
1223 va_start (args
, meth1
);
1224 jdouble result
= p
->CallStaticDoubleMethodV (this, cl0
, meth1
, args
);
1229 jdouble
CallStaticDoubleMethodV (jclass cl0
, jmethodID meth1
, va_list val2
)
1230 { return p
->CallStaticDoubleMethodV (this, cl0
, meth1
, val2
); }
1232 jdouble
CallStaticDoubleMethodA (jclass cl0
, jmethodID meth1
, jvalue
* val2
)
1233 { return p
->CallStaticDoubleMethodA (this, cl0
, meth1
, val2
); }
1235 void CallStaticVoidMethod (jclass cl0
, jmethodID meth1
, ...)
1238 va_start (args
, meth1
);
1239 p
->CallStaticVoidMethodV (this, cl0
, meth1
, args
);
1243 void CallStaticVoidMethodV (jclass cl0
, jmethodID meth1
, va_list val2
)
1244 { p
->CallStaticVoidMethodV (this, cl0
, meth1
, val2
); }
1246 void CallStaticVoidMethodA (jclass cl0
, jmethodID meth1
, jvalue
* val2
)
1247 { p
->CallStaticVoidMethodA (this, cl0
, meth1
, val2
); }
1249 jfieldID
GetStaticFieldID (jclass cl0
, const char * val1
, const char * val2
)
1250 { return p
->GetStaticFieldID (this, cl0
, val1
, val2
); }
1252 jobject
GetStaticObjectField (jclass cl0
, jfieldID fld1
)
1253 { return p
->GetStaticObjectField (this, cl0
, fld1
); }
1255 jboolean
GetStaticBooleanField (jclass cl0
, jfieldID fld1
)
1256 { return p
->GetStaticBooleanField (this, cl0
, fld1
); }
1258 jbyte
GetStaticByteField (jclass cl0
, jfieldID fld1
)
1259 { return p
->GetStaticByteField (this, cl0
, fld1
); }
1261 jchar
GetStaticCharField (jclass cl0
, jfieldID fld1
)
1262 { return p
->GetStaticCharField (this, cl0
, fld1
); }
1264 jshort
GetStaticShortField (jclass cl0
, jfieldID fld1
)
1265 { return p
->GetStaticShortField (this, cl0
, fld1
); }
1267 jint
GetStaticIntField (jclass cl0
, jfieldID fld1
)
1268 { return p
->GetStaticIntField (this, cl0
, fld1
); }
1270 jlong
GetStaticLongField (jclass cl0
, jfieldID fld1
)
1271 { return p
->GetStaticLongField (this, cl0
, fld1
); }
1273 jfloat
GetStaticFloatField (jclass cl0
, jfieldID fld1
)
1274 { return p
->GetStaticFloatField (this, cl0
, fld1
); }
1276 jdouble
GetStaticDoubleField (jclass cl0
, jfieldID fld1
)
1277 { return p
->GetStaticDoubleField (this, cl0
, fld1
); }
1279 void SetStaticObjectField (jclass cl0
, jfieldID fld1
, jobject obj2
)
1280 { p
->SetStaticObjectField (this, cl0
, fld1
, obj2
); }
1282 void SetStaticBooleanField (jclass cl0
, jfieldID fld1
, jboolean val2
)
1283 { p
->SetStaticBooleanField (this, cl0
, fld1
, val2
); }
1285 void SetStaticByteField (jclass cl0
, jfieldID fld1
, jbyte val2
)
1286 { p
->SetStaticByteField (this, cl0
, fld1
, val2
); }
1288 void SetStaticCharField (jclass cl0
, jfieldID fld1
, jchar val2
)
1289 { p
->SetStaticCharField (this, cl0
, fld1
, val2
); }
1291 void SetStaticShortField (jclass cl0
, jfieldID fld1
, jshort val2
)
1292 { p
->SetStaticShortField (this, cl0
, fld1
, val2
); }
1294 void SetStaticIntField (jclass cl0
, jfieldID fld1
, jint val2
)
1295 { p
->SetStaticIntField (this, cl0
, fld1
, val2
); }
1297 void SetStaticLongField (jclass cl0
, jfieldID fld1
, jlong val2
)
1298 { p
->SetStaticLongField (this, cl0
, fld1
, val2
); }
1300 void SetStaticFloatField (jclass cl0
, jfieldID fld1
, jfloat val2
)
1301 { p
->SetStaticFloatField (this, cl0
, fld1
, val2
); }
1303 void SetStaticDoubleField (jclass cl0
, jfieldID fld1
, jdouble val2
)
1304 { p
->SetStaticDoubleField (this, cl0
, fld1
, val2
); }
1306 jstring
NewString (const jchar
* val0
, jsize val1
)
1307 { return p
->NewString (this, val0
, val1
); }
1309 jint
GetStringLength (jstring val0
)
1310 { return p
->GetStringLength (this, val0
); }
1312 const jchar
* GetStringChars (jstring val0
, jboolean
* val1
)
1313 { return p
->GetStringChars (this, val0
, val1
); }
1315 void ReleaseStringChars (jstring val0
, const jchar
* val1
)
1316 { p
->ReleaseStringChars (this, val0
, val1
); }
1318 jstring
NewStringUTF (const char * val0
)
1319 { return p
->NewStringUTF (this, val0
); }
1321 jsize
GetStringUTFLength (jstring val0
)
1322 { return p
->GetStringUTFLength (this, val0
); }
1324 const char * GetStringUTFChars (jstring val0
, jboolean
* val1
)
1325 { return p
->GetStringUTFChars (this, val0
, val1
); }
1327 void ReleaseStringUTFChars (jstring val0
, const char * val1
)
1328 { p
->ReleaseStringUTFChars (this, val0
, val1
); }
1330 jsize
GetArrayLength (jarray val0
)
1331 { return p
->GetArrayLength (this, val0
); }
1333 jobjectArray
NewObjectArray (jsize val0
, jclass cl1
, jobject obj2
)
1334 { return p
->NewObjectArray (this, val0
, cl1
, obj2
); }
1336 jobject
GetObjectArrayElement (jobjectArray val0
, jsize val1
)
1337 { return p
->GetObjectArrayElement (this, val0
, val1
); }
1339 void SetObjectArrayElement (jobjectArray val0
, jsize val1
, jobject obj2
)
1340 { p
->SetObjectArrayElement (this, val0
, val1
, obj2
); }
1342 jbooleanArray
NewBooleanArray (jsize val0
)
1343 { return p
->NewBooleanArray (this, val0
); }
1345 jbyteArray
NewByteArray (jsize val0
)
1346 { return p
->NewByteArray (this, val0
); }
1348 jcharArray
NewCharArray (jsize val0
)
1349 { return p
->NewCharArray (this, val0
); }
1351 jshortArray
NewShortArray (jsize val0
)
1352 { return p
->NewShortArray (this, val0
); }
1354 jintArray
NewIntArray (jsize val0
)
1355 { return p
->NewIntArray (this, val0
); }
1357 jlongArray
NewLongArray (jsize val0
)
1358 { return p
->NewLongArray (this, val0
); }
1360 jfloatArray
NewFloatArray (jsize val0
)
1361 { return p
->NewFloatArray (this, val0
); }
1363 jdoubleArray
NewDoubleArray (jsize val0
)
1364 { return p
->NewDoubleArray (this, val0
); }
1366 jboolean
* GetBooleanArrayElements (jbooleanArray val0
, jboolean
* val1
)
1367 { return p
->GetBooleanArrayElements (this, val0
, val1
); }
1369 jbyte
* GetByteArrayElements (jbyteArray val0
, jboolean
* val1
)
1370 { return p
->GetByteArrayElements (this, val0
, val1
); }
1372 jchar
* GetCharArrayElements (jcharArray val0
, jboolean
* val1
)
1373 { return p
->GetCharArrayElements (this, val0
, val1
); }
1375 jshort
* GetShortArrayElements (jshortArray val0
, jboolean
* val1
)
1376 { return p
->GetShortArrayElements (this, val0
, val1
); }
1378 jint
* GetIntArrayElements (jintArray val0
, jboolean
* val1
)
1379 { return p
->GetIntArrayElements (this, val0
, val1
); }
1381 jlong
* GetLongArrayElements (jlongArray val0
, jboolean
* val1
)
1382 { return p
->GetLongArrayElements (this, val0
, val1
); }
1384 jfloat
* GetFloatArrayElements (jfloatArray val0
, jboolean
* val1
)
1385 { return p
->GetFloatArrayElements (this, val0
, val1
); }
1387 jdouble
* GetDoubleArrayElements (jdoubleArray val0
, jboolean
* val1
)
1388 { return p
->GetDoubleArrayElements (this, val0
, val1
); }
1390 void ReleaseBooleanArrayElements (jbooleanArray val0
, jboolean
* val1
, jint val2
)
1391 { p
->ReleaseBooleanArrayElements (this, val0
, val1
, val2
); }
1393 void ReleaseByteArrayElements (jbyteArray val0
, jbyte
* val1
, jint val2
)
1394 { p
->ReleaseByteArrayElements (this, val0
, val1
, val2
); }
1396 void ReleaseCharArrayElements (jcharArray val0
, jchar
* val1
, jint val2
)
1397 { p
->ReleaseCharArrayElements (this, val0
, val1
, val2
); }
1399 void ReleaseShortArrayElements (jshortArray val0
, jshort
* val1
, jint val2
)
1400 { p
->ReleaseShortArrayElements (this, val0
, val1
, val2
); }
1402 void ReleaseIntArrayElements (jintArray val0
, jint
* val1
, jint val2
)
1403 { p
->ReleaseIntArrayElements (this, val0
, val1
, val2
); }
1405 void ReleaseLongArrayElements (jlongArray val0
, jlong
* val1
, jint val2
)
1406 { p
->ReleaseLongArrayElements (this, val0
, val1
, val2
); }
1408 void ReleaseFloatArrayElements (jfloatArray val0
, jfloat
* val1
, jint val2
)
1409 { p
->ReleaseFloatArrayElements (this, val0
, val1
, val2
); }
1411 void ReleaseDoubleArrayElements (jdoubleArray val0
, jdouble
* val1
, jint val2
)
1412 { p
->ReleaseDoubleArrayElements (this, val0
, val1
, val2
); }
1414 void GetBooleanArrayRegion (jbooleanArray val0
, jsize val1
, jsize val2
, jboolean
* val3
)
1415 { p
->GetBooleanArrayRegion (this, val0
, val1
, val2
, val3
); }
1417 void GetByteArrayRegion (jbyteArray val0
, jsize val1
, jsize val2
, jbyte
* val3
)
1418 { p
->GetByteArrayRegion (this, val0
, val1
, val2
, val3
); }
1420 void GetCharArrayRegion (jcharArray val0
, jsize val1
, jsize val2
, jchar
* val3
)
1421 { p
->GetCharArrayRegion (this, val0
, val1
, val2
, val3
); }
1423 void GetShortArrayRegion (jshortArray val0
, jsize val1
, jsize val2
, jshort
* val3
)
1424 { p
->GetShortArrayRegion (this, val0
, val1
, val2
, val3
); }
1426 void GetIntArrayRegion (jintArray val0
, jsize val1
, jsize val2
, jint
* val3
)
1427 { p
->GetIntArrayRegion (this, val0
, val1
, val2
, val3
); }
1429 void GetLongArrayRegion (jlongArray val0
, jsize val1
, jsize val2
, jlong
* val3
)
1430 { p
->GetLongArrayRegion (this, val0
, val1
, val2
, val3
); }
1432 void GetFloatArrayRegion (jfloatArray val0
, jsize val1
, jsize val2
, jfloat
* val3
)
1433 { p
->GetFloatArrayRegion (this, val0
, val1
, val2
, val3
); }
1435 void GetDoubleArrayRegion (jdoubleArray val0
, jsize val1
, jsize val2
, jdouble
* val3
)
1436 { p
->GetDoubleArrayRegion (this, val0
, val1
, val2
, val3
); }
1438 void SetBooleanArrayRegion (jbooleanArray val0
, jsize val1
, jsize val2
, jboolean
* val3
)
1439 { p
->SetBooleanArrayRegion (this, val0
, val1
, val2
, val3
); }
1441 void SetByteArrayRegion (jbyteArray val0
, jsize val1
, jsize val2
, jbyte
* val3
)
1442 { p
->SetByteArrayRegion (this, val0
, val1
, val2
, val3
); }
1444 void SetCharArrayRegion (jcharArray val0
, jsize val1
, jsize val2
, jchar
* val3
)
1445 { p
->SetCharArrayRegion (this, val0
, val1
, val2
, val3
); }
1447 void SetShortArrayRegion (jshortArray val0
, jsize val1
, jsize val2
, jshort
* val3
)
1448 { p
->SetShortArrayRegion (this, val0
, val1
, val2
, val3
); }
1450 void SetIntArrayRegion (jintArray val0
, jsize val1
, jsize val2
, jint
* val3
)
1451 { p
->SetIntArrayRegion (this, val0
, val1
, val2
, val3
); }
1453 void SetLongArrayRegion (jlongArray val0
, jsize val1
, jsize val2
, jlong
* val3
)
1454 { p
->SetLongArrayRegion (this, val0
, val1
, val2
, val3
); }
1456 void SetFloatArrayRegion (jfloatArray val0
, jsize val1
, jsize val2
, jfloat
* val3
)
1457 { p
->SetFloatArrayRegion (this, val0
, val1
, val2
, val3
); }
1459 void SetDoubleArrayRegion (jdoubleArray val0
, jsize val1
, jsize val2
, jdouble
* val3
)
1460 { p
->SetDoubleArrayRegion (this, val0
, val1
, val2
, val3
); }
1462 jint
RegisterNatives (jclass cl0
, const JNINativeMethod
* val1
, jint val2
)
1463 { return p
->RegisterNatives (this, cl0
, val1
, val2
); }
1465 jint
UnregisterNatives (jclass cl0
)
1466 { return p
->UnregisterNatives (this, cl0
); }
1468 jint
MonitorEnter (jobject obj0
)
1469 { return p
->MonitorEnter (this, obj0
); }
1471 jint
MonitorExit (jobject obj0
)
1472 { return p
->MonitorExit (this, obj0
); }
1474 jint
GetJavaVM (JavaVM
** val0
)
1475 { return p
->GetJavaVM (this, val0
); }
1477 void GetStringRegion (jstring val0
, jsize val1
, jsize val2
, jchar
* val3
)
1478 { p
->GetStringRegion (this, val0
, val1
, val2
, val3
); }
1480 void GetStringUTFRegion (jstring val0
, jsize val1
, jsize val2
, char * val3
)
1481 { p
->GetStringUTFRegion (this, val0
, val1
, val2
, val3
); }
1483 void * GetPrimitiveArrayCritical (jarray val0
, jboolean
* val1
)
1484 { return p
->GetPrimitiveArrayCritical (this, val0
, val1
); }
1486 void ReleasePrimitiveArrayCritical (jarray val0
, void * val1
, jint val2
)
1487 { p
->ReleasePrimitiveArrayCritical (this, val0
, val1
, val2
); }
1489 const jchar
* GetStringCritical (jstring val0
, jboolean
* val1
)
1490 { return p
->GetStringCritical (this, val0
, val1
); }
1492 void ReleaseStringCritical (jstring val0
, const jchar
* val1
)
1493 { p
->ReleaseStringCritical (this, val0
, val1
); }
1495 jweak
NewWeakGlobalRef (jobject obj0
)
1496 { return p
->NewWeakGlobalRef (this, obj0
); }
1498 void DeleteWeakGlobalRef (jweak val0
)
1499 { p
->DeleteWeakGlobalRef (this, val0
); }
1501 jboolean
ExceptionCheck ()
1502 { return p
->ExceptionCheck (this); }
1504 jobject
NewDirectByteBuffer (void *addr
, jlong capacity
)
1505 { return p
->NewDirectByteBuffer (this, addr
, capacity
); }
1507 void *GetDirectBufferAddress (jobject buf
)
1508 { return p
->GetDirectBufferAddress (this, buf
); }
1510 jlong
GetDirectBufferCapacity (jobject buf
)
1511 { return p
->GetDirectBufferCapacity (this, buf
); }
1514 #endif /* __cplusplus */
1520 struct JNIInvokeInterface
1526 jint (JNICALL
*DestroyJavaVM
) (JavaVM
*);
1527 jint (JNICALL
*AttachCurrentThread
) (JavaVM
*, void **, void *);
1528 jint (JNICALL
*DetachCurrentThread
) (JavaVM
*);
1529 jint (JNICALL
*GetEnv
) (JavaVM
*, void **, jint
);
1530 jint (JNICALL
*AttachCurrentThreadAsDaemon
) (JavaVM
*, void **, void *);
1538 const struct JNIInvokeInterface
*functions
;
1540 jint
DestroyJavaVM ()
1541 { return functions
->DestroyJavaVM (this); }
1543 jint
AttachCurrentThread (void **penv
, void *args
)
1544 { return functions
->AttachCurrentThread (this, penv
, args
); }
1546 jint
DetachCurrentThread ()
1547 { return functions
->DetachCurrentThread (this); }
1549 jint
GetEnv (void **penv
, jint version
)
1550 { return functions
->GetEnv (this, penv
, version
); }
1552 jint
AttachCurrentThreadAsDaemon (void **penv
, void *args
)
1553 { return functions
->AttachCurrentThreadAsDaemon (this, penv
, args
); }
1556 #endif /* __cplusplus */
1558 typedef struct JavaVMAttachArgs
1560 jint version
; /* Must be JNI_VERSION_1_2. */
1561 char *name
; /* The name of the thread (or NULL). */
1562 jobject group
; /* Global ref of a ThreadGroup object
1566 typedef struct JavaVMOption
1572 typedef struct JavaVMInitArgs
1574 /* Must be JNI_VERSION_1_2. */
1577 /* Number of options. */
1580 /* Options to the VM. */
1581 JavaVMOption
*options
;
1583 /* Whether we should ignore unrecognized options. */
1584 jboolean ignoreUnrecognized
;
1589 /* Keep c-font-lock-extra-types in alphabetical order. */
1590 /* Local Variables: */
1591 /* c-font-lock-extra-types: ("\\sw+_t"
1592 "JNIEnv" "JNINativeMethod" "JavaVM" "JavaVMOption" "jarray"
1593 "jboolean" "jbooleanArray" "jbyte" "jbyteArray" "jchar" "jcharArray"
1594 "jclass" "jdouble" "jdoubleArray" "jfieldID" "jfloat" "jfloatArray"
1595 "jint" "jintArray" "jlong" "jlongArray" "jmethodID" "jobject" "jstring" "jthrowable"
1596 "jvalue" "jweak") */
1599 #endif /* _CLASSPATH_JNI_H */