1 | /* Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation
|
---|
2 |
|
---|
3 | This file is part of libgcj.
|
---|
4 |
|
---|
5 | This software is copyrighted work licensed under the terms of the
|
---|
6 | Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
|
---|
7 | details. */
|
---|
8 |
|
---|
9 | /* Note: this file must be compilable by the C compiler (for now,
|
---|
10 | assuming GNU C is ok). This means you must never use `//'
|
---|
11 | comments, and all C++-specific code must be conditional on
|
---|
12 | __cplusplus. */
|
---|
13 |
|
---|
14 | #ifndef __GCJ_JNI_H__
|
---|
15 | #define __GCJ_JNI_H__
|
---|
16 |
|
---|
17 | #include <gcj/libgcj-config.h>
|
---|
18 |
|
---|
19 | /* We include <stdio.h> for compatibility with Sun's <jni.h>. */
|
---|
20 | #include <stdio.h>
|
---|
21 |
|
---|
22 | #include <stdarg.h>
|
---|
23 | #define _Jv_va_list va_list
|
---|
24 |
|
---|
25 | #ifdef __GCJ_JNI_IMPL__
|
---|
26 |
|
---|
27 | /* If __GCJ_JNI_IMPL__ is defined, then we assume that we're building
|
---|
28 | libgcj itself, and we include headers which taint the namespace
|
---|
29 | more than is acceptable for the ordinary JNI user. */
|
---|
30 | #include <gcj/javaprims.h>
|
---|
31 | #include <gcj/array.h>
|
---|
32 | #include <gnu/gcj/runtime/JNIWeakRef.h>
|
---|
33 |
|
---|
34 | typedef gnu::gcj::runtime::JNIWeakRef *jweak;
|
---|
35 |
|
---|
36 | typedef struct _Jv_JNIEnv JNIEnv;
|
---|
37 | typedef struct _Jv_JavaVM JavaVM;
|
---|
38 |
|
---|
39 | #define JNI_TRUE true
|
---|
40 | #define JNI_FALSE false
|
---|
41 |
|
---|
42 | #else /* __GCJ_JNI_IMPL__ */
|
---|
43 |
|
---|
44 | # ifdef __GNUC__
|
---|
45 |
|
---|
46 | /* If we're using gcc, we can use a platform-independent scheme to get
|
---|
47 | the right integer types. */
|
---|
48 | typedef int jbyte __attribute__((__mode__(__QI__)));
|
---|
49 | typedef int jshort __attribute__((__mode__(__HI__)));
|
---|
50 | typedef int jint __attribute__((__mode__(__SI__)));
|
---|
51 | typedef int jlong __attribute__((__mode__(__DI__)));
|
---|
52 | typedef int jboolean __attribute__((__mode__(__QI__)));
|
---|
53 | typedef unsigned short jchar __attribute__((__mode__(__HI__)));
|
---|
54 | typedef float jfloat;
|
---|
55 | typedef double jdouble;
|
---|
56 | typedef jint jsize;
|
---|
57 |
|
---|
58 | # else /* __GNUC__ */
|
---|
59 |
|
---|
60 | # ifdef JV_HAVE_INTTYPES_H
|
---|
61 |
|
---|
62 | /* If <inttypes.h> is available, we use it. */
|
---|
63 |
|
---|
64 | # include <inttypes.h>
|
---|
65 |
|
---|
66 | typedef int8_t jbyte;
|
---|
67 | typedef int16_t jshort;
|
---|
68 | typedef int32_t jint;
|
---|
69 | typedef int64_t jlong;
|
---|
70 | typedef float jfloat;
|
---|
71 | typedef double jdouble;
|
---|
72 | typedef jint jsize;
|
---|
73 | typedef int8_t jboolean;
|
---|
74 | typedef uint16_t jchar;
|
---|
75 |
|
---|
76 | # else /* JV_HAVE_INTTYPES_H */
|
---|
77 |
|
---|
78 | /* For now, we require either gcc or <inttypes.h>. If we did more
|
---|
79 | work at configure time we could get around this, but right now it
|
---|
80 | doesn't seem worth it. */
|
---|
81 | # error jni.h not ported to this platform
|
---|
82 |
|
---|
83 | # endif /* JV_HAVE_INTTYPES_H */
|
---|
84 |
|
---|
85 | # endif /* __GNUC__ */
|
---|
86 |
|
---|
87 | # ifdef __cplusplus
|
---|
88 |
|
---|
89 | /* Define dummy classes and then define the JNI types as pointers. */
|
---|
90 | struct __jobject {};
|
---|
91 | struct __jclass : __jobject {};
|
---|
92 | struct __jstring : __jobject {};
|
---|
93 | struct __jthrowable : __jobject {};
|
---|
94 | struct __jweak : __jobject {};
|
---|
95 | struct __jarray : __jobject {};
|
---|
96 | struct __jobjectArray : __jarray {};
|
---|
97 | struct __jbyteArray : __jarray {};
|
---|
98 | struct __jshortArray : __jarray {};
|
---|
99 | struct __jintArray : __jarray {};
|
---|
100 | struct __jlongArray : __jarray {};
|
---|
101 | struct __jbooleanArray : __jarray {};
|
---|
102 | struct __jcharArray : __jarray {};
|
---|
103 | struct __jfloatArray : __jarray {};
|
---|
104 | struct __jdoubleArray : __jarray {};
|
---|
105 |
|
---|
106 | typedef __jobject *jobject;
|
---|
107 | typedef __jclass *jclass;
|
---|
108 | typedef __jstring *jstring;
|
---|
109 | typedef __jthrowable *jthrowable;
|
---|
110 | typedef __jweak *jweak;
|
---|
111 | typedef __jarray *jarray;
|
---|
112 | typedef __jobjectArray *jobjectArray;
|
---|
113 | typedef __jbyteArray *jbyteArray;
|
---|
114 | typedef __jshortArray *jshortArray;
|
---|
115 | typedef __jintArray *jintArray;
|
---|
116 | typedef __jlongArray *jlongArray;
|
---|
117 | typedef __jbooleanArray *jbooleanArray;
|
---|
118 | typedef __jcharArray *jcharArray;
|
---|
119 | typedef __jfloatArray *jfloatArray;
|
---|
120 | typedef __jdoubleArray *jdoubleArray;
|
---|
121 |
|
---|
122 | #define JNI_TRUE true
|
---|
123 | #define JNI_FALSE false
|
---|
124 |
|
---|
125 | typedef struct _Jv_JNIEnv JNIEnv;
|
---|
126 | typedef struct _Jv_JavaVM JavaVM;
|
---|
127 |
|
---|
128 | # else /* __cplusplus */
|
---|
129 |
|
---|
130 | /* For C, simply define the class types as generic pointers. */
|
---|
131 | typedef void *jobject;
|
---|
132 | typedef jobject jclass;
|
---|
133 | typedef jobject jstring;
|
---|
134 | typedef jobject jthrowable;
|
---|
135 | typedef jobject jweak;
|
---|
136 | typedef jobject jarray;
|
---|
137 | typedef jobject jobjectArray;
|
---|
138 | typedef jobject jbyteArray;
|
---|
139 | typedef jobject jshortArray;
|
---|
140 | typedef jobject jintArray;
|
---|
141 | typedef jobject jlongArray;
|
---|
142 | typedef jobject jbooleanArray;
|
---|
143 | typedef jobject jcharArray;
|
---|
144 | typedef jobject jfloatArray;
|
---|
145 | typedef jobject jdoubleArray;
|
---|
146 |
|
---|
147 | #define JNI_TRUE 1
|
---|
148 | #define JNI_FALSE 0
|
---|
149 |
|
---|
150 | typedef const struct JNINativeInterface *JNIEnv;
|
---|
151 | typedef const struct JNIInvokeInterface *JavaVM;
|
---|
152 |
|
---|
153 | # endif /* __cplusplus */
|
---|
154 |
|
---|
155 | /* Dummy defines. */
|
---|
156 | typedef void *jfieldID;
|
---|
157 | typedef void *jmethodID;
|
---|
158 |
|
---|
159 | #endif /* __GCJ_JNI_IMPL__ */
|
---|
160 |
|
---|
161 | /* Version numbers. */
|
---|
162 | #define JNI_VERSION_1_1 0x00010001
|
---|
163 | #define JNI_VERSION_1_2 0x00010002
|
---|
164 |
|
---|
165 | /* Used when releasing array elements. */
|
---|
166 | #define JNI_COMMIT 1
|
---|
167 | #define JNI_ABORT 2
|
---|
168 |
|
---|
169 | /* Error codes */
|
---|
170 | #define JNI_OK 0
|
---|
171 | #define JNI_ERR -1
|
---|
172 | #define JNI_EDETACHED -2
|
---|
173 | #define JNI_EVERSION -3
|
---|
174 |
|
---|
175 | /* Linkage and calling conventions. This will need updating when we
|
---|
176 | support Windows DLLs. */
|
---|
177 | #define JNIIMPORT
|
---|
178 | #define JNIEXPORT
|
---|
179 | #define JNICALL
|
---|
180 |
|
---|
181 | #ifdef __cplusplus
|
---|
182 | extern "C"
|
---|
183 | {
|
---|
184 | #endif /* __cplusplus */
|
---|
185 |
|
---|
186 | /* These functions might be defined in libraries which we load; the
|
---|
187 | JNI implementation calls them at the appropriate times. */
|
---|
188 | extern jint JNI_OnLoad (JavaVM *, void *);
|
---|
189 | extern void JNI_OnUnload (JavaVM *, void *);
|
---|
190 |
|
---|
191 | /* These functions are called by user code to start using the
|
---|
192 | invocation API. */
|
---|
193 | extern jint JNI_GetDefaultJavaVMInitArgs (void *);
|
---|
194 | extern jint JNI_CreateJavaVM (JavaVM **, void **, void *);
|
---|
195 | extern jint JNI_GetCreatedJavaVMs(JavaVM **, jsize, jsize *);
|
---|
196 |
|
---|
197 | #ifdef __cplusplus
|
---|
198 | };
|
---|
199 | #endif /* __cplusplus */
|
---|
200 |
|
---|
201 | typedef union jvalue
|
---|
202 | {
|
---|
203 | jboolean z;
|
---|
204 | jbyte b;
|
---|
205 | jchar c;
|
---|
206 | jshort s;
|
---|
207 | jint i;
|
---|
208 | jlong j;
|
---|
209 | jfloat f;
|
---|
210 | jdouble d;
|
---|
211 | jobject l;
|
---|
212 | } jvalue;
|
---|
213 |
|
---|
214 | #ifdef __cplusplus
|
---|
215 | typedef void * (*_Jv_func) (...);
|
---|
216 | #else
|
---|
217 | typedef void * (*_Jv_func) ();
|
---|
218 | #endif
|
---|
219 |
|
---|
220 | /* This structure is used when registering native methods. */
|
---|
221 | typedef struct
|
---|
222 | {
|
---|
223 | char *name;
|
---|
224 | char *signature;
|
---|
225 | void *fnPtr; /* Sigh. */
|
---|
226 | } JNINativeMethod;
|
---|
227 |
|
---|
228 | struct JNINativeInterface
|
---|
229 | {
|
---|
230 | _Jv_func reserved0;
|
---|
231 | _Jv_func reserved1;
|
---|
232 | _Jv_func reserved2;
|
---|
233 | _Jv_func reserved3;
|
---|
234 |
|
---|
235 | jint (*GetVersion) (JNIEnv *);
|
---|
236 | jclass (*DefineClass) (JNIEnv *, jobject,
|
---|
237 | const jbyte *, jsize);
|
---|
238 | jclass (*FindClass) (JNIEnv *, const char *);
|
---|
239 |
|
---|
240 | jmethodID (*FromReflectedMethod) (JNIEnv *, jobject);
|
---|
241 | jfieldID (*FromReflectedField) (JNIEnv *, jobject);
|
---|
242 | jobject (*ToReflectedMethod) (JNIEnv *, jclass, jmethodID,
|
---|
243 | jboolean);
|
---|
244 |
|
---|
245 | jclass (*GetSuperclass) (JNIEnv *, jclass);
|
---|
246 | jboolean (*IsAssignableFrom) (JNIEnv *, jclass, jclass);
|
---|
247 |
|
---|
248 | jobject (*ToReflectedField) (JNIEnv *, jclass, jfieldID,
|
---|
249 | jboolean);
|
---|
250 |
|
---|
251 | jint (*Throw) (JNIEnv *, jthrowable);
|
---|
252 | jint (*ThrowNew) (JNIEnv *, jclass, const char *);
|
---|
253 | jthrowable (*ExceptionOccurred) (JNIEnv *);
|
---|
254 | void (*ExceptionDescribe) (JNIEnv *);
|
---|
255 | void (*ExceptionClear) (JNIEnv *);
|
---|
256 | void (*FatalError) (JNIEnv *, const char *);
|
---|
257 |
|
---|
258 | jint (*PushLocalFrame) (JNIEnv *, jint);
|
---|
259 | jobject (*PopLocalFrame) (JNIEnv *, jobject);
|
---|
260 |
|
---|
261 | jobject (*NewGlobalRef) (JNIEnv *, jobject);
|
---|
262 | void (*DeleteGlobalRef) (JNIEnv *, jobject);
|
---|
263 | void (*DeleteLocalRef) (JNIEnv *, jobject);
|
---|
264 | jboolean (*IsSameObject) (JNIEnv *, jobject, jobject);
|
---|
265 |
|
---|
266 | jobject (*NewLocalRef) (JNIEnv *, jobject);
|
---|
267 | jint (*EnsureLocalCapacity) (JNIEnv *, jint);
|
---|
268 |
|
---|
269 | jobject (*AllocObject) (JNIEnv *, jclass);
|
---|
270 | jobject (*NewObject) (JNIEnv *, jclass, jmethodID, ...);
|
---|
271 | jobject (*NewObjectV) (JNIEnv *, jclass, jmethodID,
|
---|
272 | _Jv_va_list);
|
---|
273 | jobject (*NewObjectA) (JNIEnv *, jclass, jmethodID,
|
---|
274 | jvalue *);
|
---|
275 |
|
---|
276 | jclass (*GetObjectClass) (JNIEnv *, jobject);
|
---|
277 | jboolean (*IsInstanceOf) (JNIEnv *, jobject, jclass);
|
---|
278 | jmethodID (*GetMethodID) (JNIEnv *, jclass, const char *,
|
---|
279 | const char *);
|
---|
280 |
|
---|
281 | jobject (*CallObjectMethod) (JNIEnv *, jobject, jmethodID,
|
---|
282 | ...);
|
---|
283 | jobject (*CallObjectMethodV) (JNIEnv *, jobject, jmethodID,
|
---|
284 | _Jv_va_list);
|
---|
285 | jobject (*CallObjectMethodA) (JNIEnv *, jobject, jmethodID,
|
---|
286 | jvalue *);
|
---|
287 | jboolean (*CallBooleanMethod) (JNIEnv *, jobject, jmethodID,
|
---|
288 | ...);
|
---|
289 | jboolean (*CallBooleanMethodV) (JNIEnv *, jobject, jmethodID,
|
---|
290 | _Jv_va_list);
|
---|
291 | jboolean (*CallBooleanMethodA) (JNIEnv *, jobject, jmethodID,
|
---|
292 | jvalue *);
|
---|
293 | jbyte (*CallByteMethod) (JNIEnv *, jobject, jmethodID,
|
---|
294 | ...);
|
---|
295 | jbyte (*CallByteMethodV) (JNIEnv *, jobject, jmethodID,
|
---|
296 | _Jv_va_list);
|
---|
297 | jbyte (*CallByteMethodA) (JNIEnv *, jobject, jmethodID,
|
---|
298 | jvalue *);
|
---|
299 | jchar (*CallCharMethod) (JNIEnv *, jobject, jmethodID,
|
---|
300 | ...);
|
---|
301 | jchar (*CallCharMethodV) (JNIEnv *, jobject, jmethodID,
|
---|
302 | _Jv_va_list);
|
---|
303 | jchar (*CallCharMethodA) (JNIEnv *, jobject, jmethodID,
|
---|
304 | jvalue *);
|
---|
305 | jshort (*CallShortMethod) (JNIEnv *, jobject, jmethodID,
|
---|
306 | ...);
|
---|
307 | jshort (*CallShortMethodV) (JNIEnv *, jobject, jmethodID,
|
---|
308 | _Jv_va_list);
|
---|
309 | jshort (*CallShortMethodA) (JNIEnv *, jobject, jmethodID,
|
---|
310 | jvalue *);
|
---|
311 | jint (*CallIntMethod) (JNIEnv *, jobject, jmethodID,
|
---|
312 | ...);
|
---|
313 | jint (*CallIntMethodV) (JNIEnv *, jobject, jmethodID,
|
---|
314 | _Jv_va_list);
|
---|
315 | jint (*CallIntMethodA) (JNIEnv *, jobject, jmethodID,
|
---|
316 | jvalue *);
|
---|
317 | jlong (*CallLongMethod) (JNIEnv *, jobject, jmethodID,
|
---|
318 | ...);
|
---|
319 | jlong (*CallLongMethodV) (JNIEnv *, jobject, jmethodID,
|
---|
320 | _Jv_va_list);
|
---|
321 | jlong (*CallLongMethodA) (JNIEnv *, jobject, jmethodID,
|
---|
322 | jvalue *);
|
---|
323 | jfloat (*CallFloatMethod) (JNIEnv *, jobject, jmethodID,
|
---|
324 | ...);
|
---|
325 | jfloat (*CallFloatMethodV) (JNIEnv *, jobject, jmethodID,
|
---|
326 | _Jv_va_list);
|
---|
327 | jfloat (*CallFloatMethodA) (JNIEnv *, jobject, jmethodID,
|
---|
328 | jvalue *);
|
---|
329 | jdouble (*CallDoubleMethod) (JNIEnv *, jobject, jmethodID,
|
---|
330 | ...);
|
---|
331 | jdouble (*CallDoubleMethodV) (JNIEnv *, jobject, jmethodID,
|
---|
332 | _Jv_va_list);
|
---|
333 | jdouble (*CallDoubleMethodA) (JNIEnv *, jobject, jmethodID,
|
---|
334 | jvalue *);
|
---|
335 | void (*CallVoidMethod) (JNIEnv *, jobject, jmethodID,
|
---|
336 | ...);
|
---|
337 | void (*CallVoidMethodV) (JNIEnv *, jobject, jmethodID,
|
---|
338 | _Jv_va_list);
|
---|
339 | void (*CallVoidMethodA) (JNIEnv *, jobject, jmethodID,
|
---|
340 | jvalue *);
|
---|
341 |
|
---|
342 | jobject (*CallNonvirtualObjectMethod) (JNIEnv *, jobject, jclass,
|
---|
343 | jmethodID, ...);
|
---|
344 | jobject (*CallNonvirtualObjectMethodV) (JNIEnv *, jobject, jclass,
|
---|
345 | jmethodID, _Jv_va_list);
|
---|
346 | jobject (*CallNonvirtualObjectMethodA) (JNIEnv *, jobject, jclass,
|
---|
347 | jmethodID, jvalue *);
|
---|
348 | jboolean (*CallNonvirtualBooleanMethod) (JNIEnv *, jobject, jclass,
|
---|
349 | jmethodID, ...);
|
---|
350 | jboolean (*CallNonvirtualBooleanMethodV) (JNIEnv *, jobject, jclass,
|
---|
351 | jmethodID, _Jv_va_list);
|
---|
352 | jboolean (*CallNonvirtualBooleanMethodA) (JNIEnv *, jobject, jclass,
|
---|
353 | jmethodID, jvalue *);
|
---|
354 | jbyte (*CallNonvirtualByteMethod) (JNIEnv *, jobject, jclass,
|
---|
355 | jmethodID, ...);
|
---|
356 | jbyte (*CallNonvirtualByteMethodV) (JNIEnv *, jobject, jclass,
|
---|
357 | jmethodID, _Jv_va_list);
|
---|
358 | jbyte (*CallNonvirtualByteMethodA) (JNIEnv *, jobject, jclass,
|
---|
359 | jmethodID, jvalue *);
|
---|
360 | jchar (*CallNonvirtualCharMethod) (JNIEnv *, jobject, jclass,
|
---|
361 | jmethodID, ...);
|
---|
362 | jchar (*CallNonvirtualCharMethodV) (JNIEnv *, jobject, jclass,
|
---|
363 | jmethodID, _Jv_va_list);
|
---|
364 | jchar (*CallNonvirtualCharMethodA) (JNIEnv *, jobject, jclass,
|
---|
365 | jmethodID, jvalue *);
|
---|
366 | jshort (*CallNonvirtualShortMethod) (JNIEnv *, jobject, jclass,
|
---|
367 | jmethodID, ...);
|
---|
368 | jshort (*CallNonvirtualShortMethodV) (JNIEnv *, jobject, jclass,
|
---|
369 | jmethodID, _Jv_va_list);
|
---|
370 | jshort (*CallNonvirtualShortMethodA) (JNIEnv *, jobject, jclass,
|
---|
371 | jmethodID, jvalue *);
|
---|
372 | jint (*CallNonvirtualIntMethod) (JNIEnv *, jobject, jclass,
|
---|
373 | jmethodID, ...);
|
---|
374 | jint (*CallNonvirtualIntMethodV) (JNIEnv *, jobject, jclass,
|
---|
375 | jmethodID, _Jv_va_list);
|
---|
376 | jint (*CallNonvirtualIntMethodA) (JNIEnv *, jobject, jclass,
|
---|
377 | jmethodID, jvalue *);
|
---|
378 | jlong (*CallNonvirtualLongMethod) (JNIEnv *, jobject, jclass,
|
---|
379 | jmethodID, ...);
|
---|
380 | jlong (*CallNonvirtualLongMethodV) (JNIEnv *, jobject, jclass,
|
---|
381 | jmethodID, _Jv_va_list);
|
---|
382 | jlong (*CallNonvirtualLongMethodA) (JNIEnv *, jobject, jclass,
|
---|
383 | jmethodID, jvalue *);
|
---|
384 | jfloat (*CallNonvirtualFloatMethod) (JNIEnv *, jobject, jclass,
|
---|
385 | jmethodID, ...);
|
---|
386 | jfloat (*CallNonvirtualFloatMethodV) (JNIEnv *, jobject, jclass,
|
---|
387 | jmethodID, _Jv_va_list);
|
---|
388 | jfloat (*CallNonvirtualFloatMethodA) (JNIEnv *, jobject, jclass,
|
---|
389 | jmethodID, jvalue *);
|
---|
390 | jdouble (*CallNonvirtualDoubleMethod) (JNIEnv *, jobject, jclass,
|
---|
391 | jmethodID, ...);
|
---|
392 | jdouble (*CallNonvirtualDoubleMethodV) (JNIEnv *, jobject, jclass,
|
---|
393 | jmethodID, _Jv_va_list);
|
---|
394 | jdouble (*CallNonvirtualDoubleMethodA) (JNIEnv *, jobject, jclass,
|
---|
395 | jmethodID, jvalue *);
|
---|
396 | void (*CallNonvirtualVoidMethod) (JNIEnv *, jobject, jclass,
|
---|
397 | jmethodID, ...);
|
---|
398 | void (*CallNonvirtualVoidMethodV) (JNIEnv *, jobject, jclass,
|
---|
399 | jmethodID, _Jv_va_list);
|
---|
400 | void (*CallNonvirtualVoidMethodA) (JNIEnv *, jobject, jclass,
|
---|
401 | jmethodID, jvalue *);
|
---|
402 |
|
---|
403 | jfieldID (*GetFieldID) (JNIEnv *, jclass, const char *,
|
---|
404 | const char *);
|
---|
405 |
|
---|
406 | jobject (*GetObjectField) (JNIEnv *, jobject, jfieldID);
|
---|
407 | jboolean (*GetBooleanField) (JNIEnv *, jobject, jfieldID);
|
---|
408 | jbyte (*GetByteField) (JNIEnv *, jobject, jfieldID);
|
---|
409 | jchar (*GetCharField) (JNIEnv *, jobject, jfieldID);
|
---|
410 | jshort (*GetShortField) (JNIEnv *, jobject, jfieldID);
|
---|
411 | jint (*GetIntField) (JNIEnv *, jobject, jfieldID);
|
---|
412 | jlong (*GetLongField) (JNIEnv *, jobject, jfieldID);
|
---|
413 | jfloat (*GetFloatField) (JNIEnv *, jobject, jfieldID);
|
---|
414 | jdouble (*GetDoubleField) (JNIEnv *, jobject, jfieldID);
|
---|
415 |
|
---|
416 | void (*SetObjectField) (JNIEnv *, jobject,
|
---|
417 | jfieldID, jobject);
|
---|
418 | void (*SetBooleanField) (JNIEnv *, jobject,
|
---|
419 | jfieldID, jboolean);
|
---|
420 | void (*SetByteField) (JNIEnv *, jobject,
|
---|
421 | jfieldID, jbyte);
|
---|
422 | void (*SetCharField) (JNIEnv *, jobject,
|
---|
423 | jfieldID, jchar);
|
---|
424 | void (*SetShortField) (JNIEnv *, jobject,
|
---|
425 | jfieldID, jshort);
|
---|
426 | void (*SetIntField) (JNIEnv *, jobject,
|
---|
427 | jfieldID, jint);
|
---|
428 | void (*SetLongField) (JNIEnv *, jobject,
|
---|
429 | jfieldID, jlong);
|
---|
430 | void (*SetFloatField) (JNIEnv *, jobject,
|
---|
431 | jfieldID, jfloat);
|
---|
432 | void (*SetDoubleField) (JNIEnv *, jobject,
|
---|
433 | jfieldID, jdouble);
|
---|
434 |
|
---|
435 | jmethodID (*GetStaticMethodID) (JNIEnv *, jclass, const char *,
|
---|
436 | const char *);
|
---|
437 |
|
---|
438 | jobject (*CallStaticObjectMethod) (JNIEnv *, jclass, jmethodID,
|
---|
439 | ...);
|
---|
440 | jobject (*CallStaticObjectMethodV) (JNIEnv *, jclass, jmethodID,
|
---|
441 | _Jv_va_list);
|
---|
442 | jobject (*CallStaticObjectMethodA) (JNIEnv *, jclass, jmethodID,
|
---|
443 | jvalue *);
|
---|
444 | jboolean (*CallStaticBooleanMethod) (JNIEnv *, jclass, jmethodID,
|
---|
445 | ...);
|
---|
446 | jboolean (*CallStaticBooleanMethodV) (JNIEnv *, jclass, jmethodID,
|
---|
447 | _Jv_va_list);
|
---|
448 | jboolean (*CallStaticBooleanMethodA) (JNIEnv *, jclass, jmethodID,
|
---|
449 | jvalue *);
|
---|
450 | jbyte (*CallStaticByteMethod) (JNIEnv *, jclass, jmethodID,
|
---|
451 | ...);
|
---|
452 | jbyte (*CallStaticByteMethodV) (JNIEnv *, jclass, jmethodID,
|
---|
453 | _Jv_va_list);
|
---|
454 | jbyte (*CallStaticByteMethodA) (JNIEnv *, jclass, jmethodID,
|
---|
455 | jvalue *);
|
---|
456 | jchar (*CallStaticCharMethod) (JNIEnv *, jclass, jmethodID,
|
---|
457 | ...);
|
---|
458 | jchar (*CallStaticCharMethodV) (JNIEnv *, jclass, jmethodID,
|
---|
459 | _Jv_va_list);
|
---|
460 | jchar (*CallStaticCharMethodA) (JNIEnv *, jclass, jmethodID,
|
---|
461 | jvalue *);
|
---|
462 | jshort (*CallStaticShortMethod) (JNIEnv *, jclass, jmethodID,
|
---|
463 | ...);
|
---|
464 | jshort (*CallStaticShortMethodV) (JNIEnv *, jclass, jmethodID,
|
---|
465 | _Jv_va_list);
|
---|
466 | jshort (*CallStaticShortMethodA) (JNIEnv *, jclass, jmethodID,
|
---|
467 | jvalue *);
|
---|
468 | jint (*CallStaticIntMethod) (JNIEnv *, jclass, jmethodID,
|
---|
469 | ...);
|
---|
470 | jint (*CallStaticIntMethodV) (JNIEnv *, jclass, jmethodID,
|
---|
471 | _Jv_va_list);
|
---|
472 | jint (*CallStaticIntMethodA) (JNIEnv *, jclass, jmethodID,
|
---|
473 | jvalue *);
|
---|
474 | jlong (*CallStaticLongMethod) (JNIEnv *, jclass, jmethodID,
|
---|
475 | ...);
|
---|
476 | jlong (*CallStaticLongMethodV) (JNIEnv *, jclass, jmethodID,
|
---|
477 | _Jv_va_list);
|
---|
478 | jlong (*CallStaticLongMethodA) (JNIEnv *, jclass, jmethodID,
|
---|
479 | jvalue *);
|
---|
480 | jfloat (*CallStaticFloatMethod) (JNIEnv *, jclass, jmethodID,
|
---|
481 | ...);
|
---|
482 | jfloat (*CallStaticFloatMethodV) (JNIEnv *, jclass, jmethodID,
|
---|
483 | _Jv_va_list);
|
---|
484 | jfloat (*CallStaticFloatMethodA) (JNIEnv *, jclass, jmethodID,
|
---|
485 | jvalue *);
|
---|
486 | jdouble (*CallStaticDoubleMethod) (JNIEnv *, jclass, jmethodID,
|
---|
487 | ...);
|
---|
488 | jdouble (*CallStaticDoubleMethodV) (JNIEnv *, jclass, jmethodID,
|
---|
489 | _Jv_va_list);
|
---|
490 | jdouble (*CallStaticDoubleMethodA) (JNIEnv *, jclass, jmethodID,
|
---|
491 | jvalue *);
|
---|
492 | void (*CallStaticVoidMethod) (JNIEnv *, jclass, jmethodID,
|
---|
493 | ...);
|
---|
494 | void (*CallStaticVoidMethodV) (JNIEnv *, jclass, jmethodID,
|
---|
495 | _Jv_va_list);
|
---|
496 | void (*CallStaticVoidMethodA) (JNIEnv *, jclass, jmethodID,
|
---|
497 | jvalue *);
|
---|
498 |
|
---|
499 | jfieldID (*GetStaticFieldID) (JNIEnv *, jclass, const char *,
|
---|
500 | const char *);
|
---|
501 |
|
---|
502 | jobject (*GetStaticObjectField) (JNIEnv *, jclass, jfieldID);
|
---|
503 | jboolean (*GetStaticBooleanField) (JNIEnv *, jclass, jfieldID);
|
---|
504 | jbyte (*GetStaticByteField) (JNIEnv *, jclass, jfieldID);
|
---|
505 | jchar (*GetStaticCharField) (JNIEnv *, jclass, jfieldID);
|
---|
506 | jshort (*GetStaticShortField) (JNIEnv *, jclass, jfieldID);
|
---|
507 | jint (*GetStaticIntField) (JNIEnv *, jclass, jfieldID);
|
---|
508 | jlong (*GetStaticLongField) (JNIEnv *, jclass, jfieldID);
|
---|
509 | jfloat (*GetStaticFloatField) (JNIEnv *, jclass, jfieldID);
|
---|
510 | jdouble (*GetStaticDoubleField) (JNIEnv *, jclass, jfieldID);
|
---|
511 |
|
---|
512 | void (*SetStaticObjectField) (JNIEnv *, jclass,
|
---|
513 | jfieldID, jobject);
|
---|
514 | void (*SetStaticBooleanField) (JNIEnv *, jclass,
|
---|
515 | jfieldID, jboolean);
|
---|
516 | void (*SetStaticByteField) (JNIEnv *, jclass,
|
---|
517 | jfieldID, jbyte);
|
---|
518 | void (*SetStaticCharField) (JNIEnv *, jclass,
|
---|
519 | jfieldID, jchar);
|
---|
520 | void (*SetStaticShortField) (JNIEnv *, jclass,
|
---|
521 | jfieldID, jshort);
|
---|
522 | void (*SetStaticIntField) (JNIEnv *, jclass,
|
---|
523 | jfieldID, jint);
|
---|
524 | void (*SetStaticLongField) (JNIEnv *, jclass,
|
---|
525 | jfieldID, jlong);
|
---|
526 | void (*SetStaticFloatField) (JNIEnv *, jclass,
|
---|
527 | jfieldID, jfloat);
|
---|
528 | void (*SetStaticDoubleField) (JNIEnv *, jclass,
|
---|
529 | jfieldID, jdouble);
|
---|
530 |
|
---|
531 | jstring (*NewString) (JNIEnv *, const jchar *, jsize);
|
---|
532 | jsize (*GetStringLength) (JNIEnv *, jstring);
|
---|
533 | const jchar * (*GetStringChars) (JNIEnv *, jstring, jboolean *);
|
---|
534 | void (*ReleaseStringChars) (JNIEnv *, jstring, const jchar *);
|
---|
535 | jstring (*NewStringUTF) (JNIEnv *, const char *);
|
---|
536 | jsize (*GetStringUTFLength) (JNIEnv *, jstring);
|
---|
537 | const char * (*GetStringUTFChars) (JNIEnv *, jstring, jboolean *);
|
---|
538 | void (*ReleaseStringUTFChars) (JNIEnv *, jstring, const char *);
|
---|
539 | jsize (*GetArrayLength) (JNIEnv *, jarray);
|
---|
540 | jarray (*NewObjectArray) (JNIEnv *, jsize, jclass, jobject);
|
---|
541 | jobject (*GetObjectArrayElement) (JNIEnv *, jobjectArray, jsize);
|
---|
542 | void (*SetObjectArrayElement) (JNIEnv *, jobjectArray, jsize,
|
---|
543 | jobject);
|
---|
544 |
|
---|
545 | jbooleanArray (*NewBooleanArray) (JNIEnv *, jsize);
|
---|
546 | jbyteArray (*NewByteArray) (JNIEnv *, jsize);
|
---|
547 | jcharArray (*NewCharArray) (JNIEnv *, jsize);
|
---|
548 | jshortArray (*NewShortArray) (JNIEnv *, jsize);
|
---|
549 | jintArray (*NewIntArray) (JNIEnv *, jsize);
|
---|
550 | jlongArray (*NewLongArray) (JNIEnv *, jsize);
|
---|
551 | jfloatArray (*NewFloatArray) (JNIEnv *, jsize);
|
---|
552 | jdoubleArray (*NewDoubleArray) (JNIEnv *, jsize);
|
---|
553 |
|
---|
554 | jboolean * (*GetBooleanArrayElements) (JNIEnv *, jbooleanArray,
|
---|
555 | jboolean *);
|
---|
556 | jbyte * (*GetByteArrayElements) (JNIEnv *, jbyteArray,
|
---|
557 | jboolean *);
|
---|
558 | jchar * (*GetCharArrayElements) (JNIEnv *, jcharArray,
|
---|
559 | jboolean *);
|
---|
560 | jshort * (*GetShortArrayElements) (JNIEnv *, jshortArray,
|
---|
561 | jboolean *);
|
---|
562 | jint * (*GetIntArrayElements) (JNIEnv *, jintArray,
|
---|
563 | jboolean *);
|
---|
564 | jlong * (*GetLongArrayElements) (JNIEnv *, jlongArray,
|
---|
565 | jboolean *);
|
---|
566 | jfloat * (*GetFloatArrayElements) (JNIEnv *, jfloatArray,
|
---|
567 | jboolean *);
|
---|
568 | jdouble * (*GetDoubleArrayElements) (JNIEnv *, jdoubleArray,
|
---|
569 | jboolean *);
|
---|
570 |
|
---|
571 | void (*ReleaseBooleanArrayElements) (JNIEnv *, jbooleanArray,
|
---|
572 | jboolean *, jint);
|
---|
573 | void (*ReleaseByteArrayElements) (JNIEnv *, jbyteArray,
|
---|
574 | jbyte *, jint);
|
---|
575 | void (*ReleaseCharArrayElements) (JNIEnv *, jcharArray,
|
---|
576 | jchar *, jint);
|
---|
577 | void (*ReleaseShortArrayElements) (JNIEnv *, jshortArray,
|
---|
578 | jshort *, jint);
|
---|
579 | void (*ReleaseIntArrayElements) (JNIEnv *, jintArray,
|
---|
580 | jint *, jint);
|
---|
581 | void (*ReleaseLongArrayElements) (JNIEnv *, jlongArray,
|
---|
582 | jlong *, jint);
|
---|
583 | void (*ReleaseFloatArrayElements) (JNIEnv *, jfloatArray,
|
---|
584 | jfloat *, jint);
|
---|
585 | void (*ReleaseDoubleArrayElements) (JNIEnv *, jdoubleArray,
|
---|
586 | jdouble *, jint);
|
---|
587 |
|
---|
588 | void (*GetBooleanArrayRegion) (JNIEnv *, jbooleanArray,
|
---|
589 | jsize, jsize, jboolean *);
|
---|
590 | void (*GetByteArrayRegion) (JNIEnv *, jbyteArray,
|
---|
591 | jsize, jsize, jbyte *);
|
---|
592 | void (*GetCharArrayRegion) (JNIEnv *, jcharArray,
|
---|
593 | jsize, jsize, jchar *);
|
---|
594 | void (*GetShortArrayRegion) (JNIEnv *, jshortArray,
|
---|
595 | jsize, jsize, jshort *);
|
---|
596 | void (*GetIntArrayRegion) (JNIEnv *, jintArray,
|
---|
597 | jsize, jsize, jint *);
|
---|
598 | void (*GetLongArrayRegion) (JNIEnv *, jlongArray,
|
---|
599 | jsize, jsize, jlong *);
|
---|
600 | void (*GetFloatArrayRegion) (JNIEnv *, jfloatArray,
|
---|
601 | jsize, jsize, jfloat *);
|
---|
602 | void (*GetDoubleArrayRegion) (JNIEnv *, jdoubleArray,
|
---|
603 | jsize, jsize, jdouble *);
|
---|
604 |
|
---|
605 | void (*SetBooleanArrayRegion) (JNIEnv *, jbooleanArray,
|
---|
606 | jsize, jsize, jboolean *);
|
---|
607 | void (*SetByteArrayRegion) (JNIEnv *, jbyteArray,
|
---|
608 | jsize, jsize, jbyte *);
|
---|
609 | void (*SetCharArrayRegion) (JNIEnv *, jcharArray,
|
---|
610 | jsize, jsize, jchar *);
|
---|
611 | void (*SetShortArrayRegion) (JNIEnv *, jshortArray,
|
---|
612 | jsize, jsize, jshort *);
|
---|
613 | void (*SetIntArrayRegion) (JNIEnv *, jintArray,
|
---|
614 | jsize, jsize, jint *);
|
---|
615 | void (*SetLongArrayRegion) (JNIEnv *, jlongArray,
|
---|
616 | jsize, jsize, jlong *);
|
---|
617 | void (*SetFloatArrayRegion) (JNIEnv *, jfloatArray,
|
---|
618 | jsize, jsize, jfloat *);
|
---|
619 | void (*SetDoubleArrayRegion) (JNIEnv *, jdoubleArray,
|
---|
620 | jsize, jsize, jdouble *);
|
---|
621 |
|
---|
622 | jint (*RegisterNatives) (JNIEnv *, jclass,
|
---|
623 | const JNINativeMethod *, jint);
|
---|
624 | jint (*UnregisterNatives) (JNIEnv *, jclass);
|
---|
625 | jint (*MonitorEnter) (JNIEnv *, jobject);
|
---|
626 | jint (*MonitorExit) (JNIEnv *, jobject);
|
---|
627 | jint (*GetJavaVM) (JNIEnv *, JavaVM **);
|
---|
628 |
|
---|
629 | void (*GetStringRegion) (JNIEnv *, jstring, jsize,
|
---|
630 | jsize, jchar *);
|
---|
631 | void (*GetStringUTFRegion) (JNIEnv *, jstring, jsize,
|
---|
632 | jsize, char *);
|
---|
633 |
|
---|
634 | void * (*GetPrimitiveArrayCritical) (JNIEnv *, jarray, jboolean *);
|
---|
635 | void (*ReleasePrimitiveArrayCritical) (JNIEnv *, jarray, void *, jint);
|
---|
636 |
|
---|
637 | const jchar * (*GetStringCritical) (JNIEnv *, jstring, jboolean *);
|
---|
638 | void (*ReleaseStringCritical) (JNIEnv *, jstring, const jchar *);
|
---|
639 |
|
---|
640 | jweak (*NewWeakGlobalRef) (JNIEnv *, jobject);
|
---|
641 | void (*DeleteWeakGlobalRef) (JNIEnv *, jweak);
|
---|
642 |
|
---|
643 | jboolean (*ExceptionCheck) (JNIEnv *);
|
---|
644 | };
|
---|
645 |
|
---|
646 | #ifdef __cplusplus
|
---|
647 |
|
---|
648 | class _Jv_JNIEnv
|
---|
649 | {
|
---|
650 | public:
|
---|
651 | /* The method table. */
|
---|
652 | struct JNINativeInterface *p;
|
---|
653 |
|
---|
654 | /* This is ugly, but we must live with it. */
|
---|
655 | #ifndef __GCJ_JNI_IMPL__
|
---|
656 | private:
|
---|
657 | #endif
|
---|
658 | /* The current exception. */
|
---|
659 | jthrowable ex;
|
---|
660 |
|
---|
661 | /* The class of the current native method. */
|
---|
662 | jclass klass;
|
---|
663 |
|
---|
664 | /* The chain of local frames. */
|
---|
665 | struct _Jv_JNI_LocalFrame *locals;
|
---|
666 |
|
---|
667 | public:
|
---|
668 | jint GetVersion ()
|
---|
669 | { return p->GetVersion (this); }
|
---|
670 |
|
---|
671 | jclass DefineClass (jobject obj0, const jbyte * val1, jsize val2)
|
---|
672 | { return p->DefineClass (this, obj0, val1, val2); }
|
---|
673 |
|
---|
674 | jclass FindClass (const char * val0)
|
---|
675 | { return p->FindClass (this, val0); }
|
---|
676 |
|
---|
677 | jmethodID FromReflectedMethod (jobject obj0)
|
---|
678 | { return p->FromReflectedMethod (this, obj0); }
|
---|
679 |
|
---|
680 | jfieldID FromReflectedField (jobject obj0)
|
---|
681 | { return p->FromReflectedField (this, obj0); }
|
---|
682 |
|
---|
683 | jobject ToReflectedMethod (jclass cl0, jmethodID meth1, jboolean val2)
|
---|
684 | { return p->ToReflectedMethod (this, cl0, meth1, val2); }
|
---|
685 |
|
---|
686 | jclass GetSuperclass (jclass cl0)
|
---|
687 | { return p->GetSuperclass (this, cl0); }
|
---|
688 |
|
---|
689 | jboolean IsAssignableFrom (jclass cl0, jclass cl1)
|
---|
690 | { return p->IsAssignableFrom (this, cl0, cl1); }
|
---|
691 |
|
---|
692 | jobject ToReflectedField (jclass cl0, jfieldID fld1, jboolean val2)
|
---|
693 | { return p->ToReflectedField (this, cl0, fld1, val2); }
|
---|
694 |
|
---|
695 | jint Throw (jthrowable val0)
|
---|
696 | { return p->Throw (this, val0); }
|
---|
697 |
|
---|
698 | jint ThrowNew (jclass cl0, const char * val1)
|
---|
699 | { return p->ThrowNew (this, cl0, val1); }
|
---|
700 |
|
---|
701 | jthrowable ExceptionOccurred ()
|
---|
702 | { return p->ExceptionOccurred (this); }
|
---|
703 |
|
---|
704 | void ExceptionDescribe ()
|
---|
705 | { p->ExceptionDescribe (this); }
|
---|
706 |
|
---|
707 | void ExceptionClear ()
|
---|
708 | { p->ExceptionClear (this); }
|
---|
709 |
|
---|
710 | void FatalError (const char * val0)
|
---|
711 | { p->FatalError (this, val0); }
|
---|
712 |
|
---|
713 | jint PushLocalFrame (jint val0)
|
---|
714 | { return p->PushLocalFrame (this, val0); }
|
---|
715 |
|
---|
716 | jobject PopLocalFrame (jobject obj0)
|
---|
717 | { return p->PopLocalFrame (this, obj0); }
|
---|
718 |
|
---|
719 | jobject NewGlobalRef (jobject obj0)
|
---|
720 | { return p->NewGlobalRef (this, obj0); }
|
---|
721 |
|
---|
722 | void DeleteGlobalRef (jobject obj0)
|
---|
723 | { p->DeleteGlobalRef (this, obj0); }
|
---|
724 |
|
---|
725 | void DeleteLocalRef (jobject obj0)
|
---|
726 | { p->DeleteLocalRef (this, obj0); }
|
---|
727 |
|
---|
728 | jboolean IsSameObject (jobject obj0, jobject obj1)
|
---|
729 | { return p->IsSameObject (this, obj0, obj1); }
|
---|
730 |
|
---|
731 | jobject NewLocalRef (jobject obj0)
|
---|
732 | { return p->NewLocalRef (this, obj0); }
|
---|
733 |
|
---|
734 | jint EnsureLocalCapacity (jint val0)
|
---|
735 | { return p->EnsureLocalCapacity (this, val0); }
|
---|
736 |
|
---|
737 | jobject AllocObject (jclass cl0)
|
---|
738 | { return p->AllocObject (this, cl0); }
|
---|
739 |
|
---|
740 | jobject NewObject (jclass cl0, jmethodID meth1, ...)
|
---|
741 | {
|
---|
742 | _Jv_va_list args;
|
---|
743 | va_start (args, meth1);
|
---|
744 | jobject result = p->NewObjectV (this, cl0, meth1, args);
|
---|
745 | va_end (args);
|
---|
746 | return result;
|
---|
747 | }
|
---|
748 |
|
---|
749 | jobject NewObjectV (jclass cl0, jmethodID meth1, _Jv_va_list val2)
|
---|
750 | { return p->NewObjectV (this, cl0, meth1, val2); }
|
---|
751 |
|
---|
752 | jobject NewObjectA (jclass cl0, jmethodID meth1, jvalue * val2)
|
---|
753 | { return p->NewObjectA (this, cl0, meth1, val2); }
|
---|
754 |
|
---|
755 | jclass GetObjectClass (jobject obj0)
|
---|
756 | { return p->GetObjectClass (this, obj0); }
|
---|
757 |
|
---|
758 | jboolean IsInstanceOf (jobject obj0, jclass cl1)
|
---|
759 | { return p->IsInstanceOf (this, obj0, cl1); }
|
---|
760 |
|
---|
761 | jmethodID GetMethodID (jclass cl0, const char * val1, const char * val2)
|
---|
762 | { return p->GetMethodID (this, cl0, val1, val2); }
|
---|
763 |
|
---|
764 | jobject CallObjectMethod (jobject obj0, jmethodID meth1, ...)
|
---|
765 | {
|
---|
766 | _Jv_va_list args;
|
---|
767 | va_start (args, meth1);
|
---|
768 | jobject result = p->CallObjectMethodV (this, obj0, meth1, args);
|
---|
769 | va_end (args);
|
---|
770 | return result;
|
---|
771 | }
|
---|
772 |
|
---|
773 | jobject CallObjectMethodV (jobject obj0, jmethodID meth1, _Jv_va_list val2)
|
---|
774 | { return p->CallObjectMethodV (this, obj0, meth1, val2); }
|
---|
775 |
|
---|
776 | jobject CallObjectMethodA (jobject obj0, jmethodID meth1, jvalue * val2)
|
---|
777 | { return p->CallObjectMethodA (this, obj0, meth1, val2); }
|
---|
778 |
|
---|
779 | jboolean CallBooleanMethod (jobject obj0, jmethodID meth1, ...)
|
---|
780 | {
|
---|
781 | _Jv_va_list args;
|
---|
782 | va_start (args, meth1);
|
---|
783 | jboolean result = p->CallBooleanMethodV (this, obj0, meth1, args);
|
---|
784 | va_end (args);
|
---|
785 | return result;
|
---|
786 | }
|
---|
787 |
|
---|
788 | jboolean CallBooleanMethodV (jobject obj0, jmethodID meth1, _Jv_va_list val2)
|
---|
789 | { return p->CallBooleanMethodV (this, obj0, meth1, val2); }
|
---|
790 |
|
---|
791 | jboolean CallBooleanMethodA (jobject obj0, jmethodID meth1, jvalue * val2)
|
---|
792 | { return p->CallBooleanMethodA (this, obj0, meth1, val2); }
|
---|
793 |
|
---|
794 | jbyte CallByteMethod (jobject obj0, jmethodID meth1, ...)
|
---|
795 | {
|
---|
796 | _Jv_va_list args;
|
---|
797 | va_start (args, meth1);
|
---|
798 | jbyte result = p->CallByteMethodV (this, obj0, meth1, args);
|
---|
799 | va_end (args);
|
---|
800 | return result;
|
---|
801 | }
|
---|
802 |
|
---|
803 | jbyte CallByteMethodV (jobject obj0, jmethodID meth1, _Jv_va_list val2)
|
---|
804 | { return p->CallByteMethodV (this, obj0, meth1, val2); }
|
---|
805 |
|
---|
806 | jbyte CallByteMethodA (jobject obj0, jmethodID meth1, jvalue * val2)
|
---|
807 | { return p->CallByteMethodA (this, obj0, meth1, val2); }
|
---|
808 |
|
---|
809 | jchar CallCharMethod (jobject obj0, jmethodID meth1, ...)
|
---|
810 | {
|
---|
811 | _Jv_va_list args;
|
---|
812 | va_start (args, meth1);
|
---|
813 | jchar result = p->CallCharMethodV (this, obj0, meth1, args);
|
---|
814 | va_end (args);
|
---|
815 | return result;
|
---|
816 | }
|
---|
817 |
|
---|
818 | jchar CallCharMethodV (jobject obj0, jmethodID meth1, _Jv_va_list val2)
|
---|
819 | { return p->CallCharMethodV (this, obj0, meth1, val2); }
|
---|
820 |
|
---|
821 | jchar CallCharMethodA (jobject obj0, jmethodID meth1, jvalue * val2)
|
---|
822 | { return p->CallCharMethodA (this, obj0, meth1, val2); }
|
---|
823 |
|
---|
824 | jshort CallShortMethod (jobject obj0, jmethodID meth1, ...)
|
---|
825 | {
|
---|
826 | _Jv_va_list args;
|
---|
827 | va_start (args, meth1);
|
---|
828 | jshort result = p->CallShortMethodV (this, obj0, meth1, args);
|
---|
829 | va_end (args);
|
---|
830 | return result;
|
---|
831 | }
|
---|
832 |
|
---|
833 | jshort CallShortMethodV (jobject obj0, jmethodID meth1, _Jv_va_list val2)
|
---|
834 | { return p->CallShortMethodV (this, obj0, meth1, val2); }
|
---|
835 |
|
---|
836 | jshort CallShortMethodA (jobject obj0, jmethodID meth1, jvalue * val2)
|
---|
837 | { return p->CallShortMethodA (this, obj0, meth1, val2); }
|
---|
838 |
|
---|
839 | jint CallIntMethod (jobject obj0, jmethodID meth1, ...)
|
---|
840 | {
|
---|
841 | _Jv_va_list args;
|
---|
842 | va_start (args, meth1);
|
---|
843 | jint result = p->CallIntMethodV (this, obj0, meth1, args);
|
---|
844 | va_end (args);
|
---|
845 | return result;
|
---|
846 | }
|
---|
847 |
|
---|
848 | jint CallIntMethodV (jobject obj0, jmethodID meth1, _Jv_va_list val2)
|
---|
849 | { return p->CallIntMethodV (this, obj0, meth1, val2); }
|
---|
850 |
|
---|
851 | jint CallIntMethodA (jobject obj0, jmethodID meth1, jvalue * val2)
|
---|
852 | { return p->CallIntMethodA (this, obj0, meth1, val2); }
|
---|
853 |
|
---|
854 | jlong CallLongMethod (jobject obj0, jmethodID meth1, ...)
|
---|
855 | {
|
---|
856 | _Jv_va_list args;
|
---|
857 | va_start (args, meth1);
|
---|
858 | jlong result = p->CallLongMethodV (this, obj0, meth1, args);
|
---|
859 | va_end (args);
|
---|
860 | return result;
|
---|
861 | }
|
---|
862 |
|
---|
863 | jlong CallLongMethodV (jobject obj0, jmethodID meth1, _Jv_va_list val2)
|
---|
864 | { return p->CallLongMethodV (this, obj0, meth1, val2); }
|
---|
865 |
|
---|
866 | jlong CallLongMethodA (jobject obj0, jmethodID meth1, jvalue * val2)
|
---|
867 | { return p->CallLongMethodA (this, obj0, meth1, val2); }
|
---|
868 |
|
---|
869 | jfloat CallFloatMethod (jobject obj0, jmethodID meth1, ...)
|
---|
870 | {
|
---|
871 | _Jv_va_list args;
|
---|
872 | va_start (args, meth1);
|
---|
873 | jfloat result = p->CallFloatMethodV (this, obj0, meth1, args);
|
---|
874 | va_end (args);
|
---|
875 | return result;
|
---|
876 | }
|
---|
877 |
|
---|
878 | jfloat CallFloatMethodV (jobject obj0, jmethodID meth1, _Jv_va_list val2)
|
---|
879 | { return p->CallFloatMethodV (this, obj0, meth1, val2); }
|
---|
880 |
|
---|
881 | jfloat CallFloatMethodA (jobject obj0, jmethodID meth1, jvalue * val2)
|
---|
882 | { return p->CallFloatMethodA (this, obj0, meth1, val2); }
|
---|
883 |
|
---|
884 | jdouble CallDoubleMethod (jobject obj0, jmethodID meth1, ...)
|
---|
885 | {
|
---|
886 | _Jv_va_list args;
|
---|
887 | va_start (args, meth1);
|
---|
888 | jdouble result = p->CallDoubleMethodV (this, obj0, meth1, args);
|
---|
889 | va_end (args);
|
---|
890 | return result;
|
---|
891 | }
|
---|
892 |
|
---|
893 | jdouble CallDoubleMethodV (jobject obj0, jmethodID meth1, _Jv_va_list val2)
|
---|
894 | { return p->CallDoubleMethodV (this, obj0, meth1, val2); }
|
---|
895 |
|
---|
896 | jdouble CallDoubleMethodA (jobject obj0, jmethodID meth1, jvalue * val2)
|
---|
897 | { return p->CallDoubleMethodA (this, obj0, meth1, val2); }
|
---|
898 |
|
---|
899 | void CallVoidMethod (jobject obj0, jmethodID meth1, ...)
|
---|
900 | {
|
---|
901 | _Jv_va_list args;
|
---|
902 | va_start (args, meth1);
|
---|
903 | p->CallVoidMethodV (this, obj0, meth1, args);
|
---|
904 | va_end (args);
|
---|
905 | }
|
---|
906 |
|
---|
907 | void CallVoidMethodV (jobject obj0, jmethodID meth1, _Jv_va_list val2)
|
---|
908 | { p->CallVoidMethodV (this, obj0, meth1, val2); }
|
---|
909 |
|
---|
910 | void CallVoidMethodA (jobject obj0, jmethodID meth1, jvalue * val2)
|
---|
911 | { p->CallVoidMethodA (this, obj0, meth1, val2); }
|
---|
912 |
|
---|
913 | jobject CallNonvirtualObjectMethod (jobject obj0, jclass cl1, jmethodID meth2, ...)
|
---|
914 | {
|
---|
915 | _Jv_va_list args;
|
---|
916 | va_start (args, meth2);
|
---|
917 | jobject result = p->CallNonvirtualObjectMethodV (this, obj0, cl1, meth2, args);
|
---|
918 | va_end (args);
|
---|
919 | return result;
|
---|
920 | }
|
---|
921 |
|
---|
922 | jobject CallNonvirtualObjectMethodV (jobject obj0, jclass cl1, jmethodID meth2, _Jv_va_list val3)
|
---|
923 | { return p->CallNonvirtualObjectMethodV (this, obj0, cl1, meth2, val3); }
|
---|
924 |
|
---|
925 | jobject CallNonvirtualObjectMethodA (jobject obj0, jclass cl1, jmethodID meth2, jvalue * val3)
|
---|
926 | { return p->CallNonvirtualObjectMethodA (this, obj0, cl1, meth2, val3); }
|
---|
927 |
|
---|
928 | jboolean CallNonvirtualBooleanMethod (jobject obj0, jclass cl1, jmethodID meth2, ...)
|
---|
929 | {
|
---|
930 | _Jv_va_list args;
|
---|
931 | va_start (args, meth2);
|
---|
932 | jboolean result = p->CallNonvirtualBooleanMethodV (this, obj0, cl1, meth2, args);
|
---|
933 | va_end (args);
|
---|
934 | return result;
|
---|
935 | }
|
---|
936 |
|
---|
937 | jboolean CallNonvirtualBooleanMethodV (jobject obj0, jclass cl1, jmethodID meth2, _Jv_va_list val3)
|
---|
938 | { return p->CallNonvirtualBooleanMethodV (this, obj0, cl1, meth2, val3); }
|
---|
939 |
|
---|
940 | jboolean CallNonvirtualBooleanMethodA (jobject obj0, jclass cl1, jmethodID meth2, jvalue * val3)
|
---|
941 | { return p->CallNonvirtualBooleanMethodA (this, obj0, cl1, meth2, val3); }
|
---|
942 |
|
---|
943 | jbyte CallNonvirtualByteMethod (jobject obj0, jclass cl1, jmethodID meth2, ...)
|
---|
944 | {
|
---|
945 | _Jv_va_list args;
|
---|
946 | va_start (args, meth2);
|
---|
947 | jbyte result = p->CallNonvirtualByteMethodV (this, obj0, cl1, meth2, args);
|
---|
948 | va_end (args);
|
---|
949 | return result;
|
---|
950 | }
|
---|
951 |
|
---|
952 | jbyte CallNonvirtualByteMethodV (jobject obj0, jclass cl1, jmethodID meth2, _Jv_va_list val3)
|
---|
953 | { return p->CallNonvirtualByteMethodV (this, obj0, cl1, meth2, val3); }
|
---|
954 |
|
---|
955 | jbyte CallNonvirtualByteMethodA (jobject obj0, jclass cl1, jmethodID meth2, jvalue * val3)
|
---|
956 | { return p->CallNonvirtualByteMethodA (this, obj0, cl1, meth2, val3); }
|
---|
957 |
|
---|
958 | jchar CallNonvirtualCharMethod (jobject obj0, jclass cl1, jmethodID meth2, ...)
|
---|
959 | {
|
---|
960 | _Jv_va_list args;
|
---|
961 | va_start (args, meth2);
|
---|
962 | jchar result = p->CallNonvirtualCharMethodV (this, obj0, cl1, meth2, args);
|
---|
963 | va_end (args);
|
---|
964 | return result;
|
---|
965 | }
|
---|
966 |
|
---|
967 | jchar CallNonvirtualCharMethodV (jobject obj0, jclass cl1, jmethodID meth2, _Jv_va_list val3)
|
---|
968 | { return p->CallNonvirtualCharMethodV (this, obj0, cl1, meth2, val3); }
|
---|
969 |
|
---|
970 | jchar CallNonvirtualCharMethodA (jobject obj0, jclass cl1, jmethodID meth2, jvalue * val3)
|
---|
971 | { return p->CallNonvirtualCharMethodA (this, obj0, cl1, meth2, val3); }
|
---|
972 |
|
---|
973 | jshort CallNonvirtualShortMethod (jobject obj0, jclass cl1, jmethodID meth2, ...)
|
---|
974 | {
|
---|
975 | _Jv_va_list args;
|
---|
976 | va_start (args, meth2);
|
---|
977 | jshort result = p->CallNonvirtualShortMethodV (this, obj0, cl1, meth2, args);
|
---|
978 | va_end (args);
|
---|
979 | return result;
|
---|
980 | }
|
---|
981 |
|
---|
982 | jshort CallNonvirtualShortMethodV (jobject obj0, jclass cl1, jmethodID meth2, _Jv_va_list val3)
|
---|
983 | { return p->CallNonvirtualShortMethodV (this, obj0, cl1, meth2, val3); }
|
---|
984 |
|
---|
985 | jshort CallNonvirtualShortMethodA (jobject obj0, jclass cl1, jmethodID meth2, jvalue * val3)
|
---|
986 | { return p->CallNonvirtualShortMethodA (this, obj0, cl1, meth2, val3); }
|
---|
987 |
|
---|
988 | jint CallNonvirtualIntMethod (jobject obj0, jclass cl1, jmethodID meth2, ...)
|
---|
989 | {
|
---|
990 | _Jv_va_list args;
|
---|
991 | va_start (args, meth2);
|
---|
992 | jint result = p->CallNonvirtualIntMethodV (this, obj0, cl1, meth2, args);
|
---|
993 | va_end (args);
|
---|
994 | return result;
|
---|
995 | }
|
---|
996 |
|
---|
997 | jint CallNonvirtualIntMethodV (jobject obj0, jclass cl1, jmethodID meth2, _Jv_va_list val3)
|
---|
998 | { return p->CallNonvirtualIntMethodV (this, obj0, cl1, meth2, val3); }
|
---|
999 |
|
---|
1000 | jint CallNonvirtualIntMethodA (jobject obj0, jclass cl1, jmethodID meth2, jvalue * val3)
|
---|
1001 | { return p->CallNonvirtualIntMethodA (this, obj0, cl1, meth2, val3); }
|
---|
1002 |
|
---|
1003 | jlong CallNonvirtualLongMethod (jobject obj0, jclass cl1, jmethodID meth2, ...)
|
---|
1004 | {
|
---|
1005 | _Jv_va_list args;
|
---|
1006 | va_start (args, meth2);
|
---|
1007 | jlong result = p->CallNonvirtualLongMethodV (this, obj0, cl1, meth2, args);
|
---|
1008 | va_end (args);
|
---|
1009 | return result;
|
---|
1010 | }
|
---|
1011 |
|
---|
1012 | jlong CallNonvirtualLongMethodV (jobject obj0, jclass cl1, jmethodID meth2, _Jv_va_list val3)
|
---|
1013 | { return p->CallNonvirtualLongMethodV (this, obj0, cl1, meth2, val3); }
|
---|
1014 |
|
---|
1015 | jlong CallNonvirtualLongMethodA (jobject obj0, jclass cl1, jmethodID meth2, jvalue * val3)
|
---|
1016 | { return p->CallNonvirtualLongMethodA (this, obj0, cl1, meth2, val3); }
|
---|
1017 |
|
---|
1018 | jfloat CallNonvirtualFloatMethod (jobject obj0, jclass cl1, jmethodID meth2, ...)
|
---|
1019 | {
|
---|
1020 | _Jv_va_list args;
|
---|
1021 | va_start (args, meth2);
|
---|
1022 | jfloat result = p->CallNonvirtualFloatMethodV (this, obj0, cl1, meth2, args);
|
---|
1023 | va_end (args);
|
---|
1024 | return result;
|
---|
1025 | }
|
---|
1026 |
|
---|
1027 | jfloat CallNonvirtualFloatMethodV (jobject obj0, jclass cl1, jmethodID meth2, _Jv_va_list val3)
|
---|
1028 | { return p->CallNonvirtualFloatMethodV (this, obj0, cl1, meth2, val3); }
|
---|
1029 |
|
---|
1030 | jfloat CallNonvirtualFloatMethodA (jobject obj0, jclass cl1, jmethodID meth2, jvalue * val3)
|
---|
1031 | { return p->CallNonvirtualFloatMethodA (this, obj0, cl1, meth2, val3); }
|
---|
1032 |
|
---|
1033 | jdouble CallNonvirtualDoubleMethod (jobject obj0, jclass cl1, jmethodID meth2, ...)
|
---|
1034 | {
|
---|
1035 | _Jv_va_list args;
|
---|
1036 | va_start (args, meth2);
|
---|
1037 | jdouble result = p->CallNonvirtualDoubleMethodV (this, obj0, cl1, meth2, args);
|
---|
1038 | va_end (args);
|
---|
1039 | return result;
|
---|
1040 | }
|
---|
1041 |
|
---|
1042 | jdouble CallNonvirtualDoubleMethodV (jobject obj0, jclass cl1, jmethodID meth2, _Jv_va_list val3)
|
---|
1043 | { return p->CallNonvirtualDoubleMethodV (this, obj0, cl1, meth2, val3); }
|
---|
1044 |
|
---|
1045 | jdouble CallNonvirtualDoubleMethodA (jobject obj0, jclass cl1, jmethodID meth2, jvalue * val3)
|
---|
1046 | { return p->CallNonvirtualDoubleMethodA (this, obj0, cl1, meth2, val3); }
|
---|
1047 |
|
---|
1048 | void CallNonvirtualVoidMethod (jobject obj0, jclass cl1, jmethodID meth2, ...)
|
---|
1049 | {
|
---|
1050 | _Jv_va_list args;
|
---|
1051 | va_start (args, meth2);
|
---|
1052 | p->CallNonvirtualVoidMethodV (this, obj0, cl1, meth2, args);
|
---|
1053 | va_end (args);
|
---|
1054 | }
|
---|
1055 |
|
---|
1056 | void CallNonvirtualVoidMethodV (jobject obj0, jclass cl1, jmethodID meth2, _Jv_va_list val3)
|
---|
1057 | { p->CallNonvirtualVoidMethodV (this, obj0, cl1, meth2, val3); }
|
---|
1058 |
|
---|
1059 | void CallNonvirtualVoidMethodA (jobject obj0, jclass cl1, jmethodID meth2, jvalue * val3)
|
---|
1060 | { p->CallNonvirtualVoidMethodA (this, obj0, cl1, meth2, val3); }
|
---|
1061 |
|
---|
1062 | jfieldID GetFieldID (jclass cl0, const char * val1, const char * val2)
|
---|
1063 | { return p->GetFieldID (this, cl0, val1, val2); }
|
---|
1064 |
|
---|
1065 | jobject GetObjectField (jobject obj0, jfieldID fld1)
|
---|
1066 | { return p->GetObjectField (this, obj0, fld1); }
|
---|
1067 |
|
---|
1068 | jboolean GetBooleanField (jobject obj0, jfieldID fld1)
|
---|
1069 | { return p->GetBooleanField (this, obj0, fld1); }
|
---|
1070 |
|
---|
1071 | jbyte GetByteField (jobject obj0, jfieldID fld1)
|
---|
1072 | { return p->GetByteField (this, obj0, fld1); }
|
---|
1073 |
|
---|
1074 | jchar GetCharField (jobject obj0, jfieldID fld1)
|
---|
1075 | { return p->GetCharField (this, obj0, fld1); }
|
---|
1076 |
|
---|
1077 | jshort GetShortField (jobject obj0, jfieldID fld1)
|
---|
1078 | { return p->GetShortField (this, obj0, fld1); }
|
---|
1079 |
|
---|
1080 | jint GetIntField (jobject obj0, jfieldID fld1)
|
---|
1081 | { return p->GetIntField (this, obj0, fld1); }
|
---|
1082 |
|
---|
1083 | jlong GetLongField (jobject obj0, jfieldID fld1)
|
---|
1084 | { return p->GetLongField (this, obj0, fld1); }
|
---|
1085 |
|
---|
1086 | jfloat GetFloatField (jobject obj0, jfieldID fld1)
|
---|
1087 | { return p->GetFloatField (this, obj0, fld1); }
|
---|
1088 |
|
---|
1089 | jdouble GetDoubleField (jobject obj0, jfieldID fld1)
|
---|
1090 | { return p->GetDoubleField (this, obj0, fld1); }
|
---|
1091 |
|
---|
1092 | void SetObjectField (jobject obj0, jfieldID fld1, jobject obj2)
|
---|
1093 | { p->SetObjectField (this, obj0, fld1, obj2); }
|
---|
1094 |
|
---|
1095 | void SetBooleanField (jobject obj0, jfieldID fld1, jboolean val2)
|
---|
1096 | { p->SetBooleanField (this, obj0, fld1, val2); }
|
---|
1097 |
|
---|
1098 | void SetByteField (jobject obj0, jfieldID fld1, jbyte val2)
|
---|
1099 | { p->SetByteField (this, obj0, fld1, val2); }
|
---|
1100 |
|
---|
1101 | void SetCharField (jobject obj0, jfieldID fld1, jchar val2)
|
---|
1102 | { p->SetCharField (this, obj0, fld1, val2); }
|
---|
1103 |
|
---|
1104 | void SetShortField (jobject obj0, jfieldID fld1, jshort val2)
|
---|
1105 | { p->SetShortField (this, obj0, fld1, val2); }
|
---|
1106 |
|
---|
1107 | void SetIntField (jobject obj0, jfieldID fld1, jint val2)
|
---|
1108 | { p->SetIntField (this, obj0, fld1, val2); }
|
---|
1109 |
|
---|
1110 | void SetLongField (jobject obj0, jfieldID fld1, jlong val2)
|
---|
1111 | { p->SetLongField (this, obj0, fld1, val2); }
|
---|
1112 |
|
---|
1113 | void SetFloatField (jobject obj0, jfieldID fld1, jfloat val2)
|
---|
1114 | { p->SetFloatField (this, obj0, fld1, val2); }
|
---|
1115 |
|
---|
1116 | void SetDoubleField (jobject obj0, jfieldID fld1, jdouble val2)
|
---|
1117 | { p->SetDoubleField (this, obj0, fld1, val2); }
|
---|
1118 |
|
---|
1119 | jmethodID GetStaticMethodID (jclass cl0, const char * val1, const char * val2)
|
---|
1120 | { return p->GetStaticMethodID (this, cl0, val1, val2); }
|
---|
1121 |
|
---|
1122 | jobject CallStaticObjectMethod (jclass cl0, jmethodID meth1, ...)
|
---|
1123 | {
|
---|
1124 | _Jv_va_list args;
|
---|
1125 | va_start (args, meth1);
|
---|
1126 | jobject result = p->CallStaticObjectMethodV (this, cl0, meth1, args);
|
---|
1127 | va_end (args);
|
---|
1128 | return result;
|
---|
1129 | }
|
---|
1130 |
|
---|
1131 | jobject CallStaticObjectMethodV (jclass cl0, jmethodID meth1, _Jv_va_list val2)
|
---|
1132 | { return p->CallStaticObjectMethodV (this, cl0, meth1, val2); }
|
---|
1133 |
|
---|
1134 | jobject CallStaticObjectMethodA (jclass cl0, jmethodID meth1, jvalue * val2)
|
---|
1135 | { return p->CallStaticObjectMethodA (this, cl0, meth1, val2); }
|
---|
1136 |
|
---|
1137 | jboolean CallStaticBooleanMethod (jclass cl0, jmethodID meth1, ...)
|
---|
1138 | {
|
---|
1139 | _Jv_va_list args;
|
---|
1140 | va_start (args, meth1);
|
---|
1141 | jboolean result = p->CallStaticBooleanMethodV (this, cl0, meth1, args);
|
---|
1142 | va_end (args);
|
---|
1143 | return result;
|
---|
1144 | }
|
---|
1145 |
|
---|
1146 | jboolean CallStaticBooleanMethodV (jclass cl0, jmethodID meth1, _Jv_va_list val2)
|
---|
1147 | { return p->CallStaticBooleanMethodV (this, cl0, meth1, val2); }
|
---|
1148 |
|
---|
1149 | jboolean CallStaticBooleanMethodA (jclass cl0, jmethodID meth1, jvalue * val2)
|
---|
1150 | { return p->CallStaticBooleanMethodA (this, cl0, meth1, val2); }
|
---|
1151 |
|
---|
1152 | jbyte CallStaticByteMethod (jclass cl0, jmethodID meth1, ...)
|
---|
1153 | {
|
---|
1154 | _Jv_va_list args;
|
---|
1155 | va_start (args, meth1);
|
---|
1156 | jbyte result = p->CallStaticByteMethodV (this, cl0, meth1, args);
|
---|
1157 | va_end (args);
|
---|
1158 | return result;
|
---|
1159 | }
|
---|
1160 |
|
---|
1161 | jbyte CallStaticByteMethodV (jclass cl0, jmethodID meth1, _Jv_va_list val2)
|
---|
1162 | { return p->CallStaticByteMethodV (this, cl0, meth1, val2); }
|
---|
1163 |
|
---|
1164 | jbyte CallStaticByteMethodA (jclass cl0, jmethodID meth1, jvalue * val2)
|
---|
1165 | { return p->CallStaticByteMethodA (this, cl0, meth1, val2); }
|
---|
1166 |
|
---|
1167 | jchar CallStaticCharMethod (jclass cl0, jmethodID meth1, ...)
|
---|
1168 | {
|
---|
1169 | _Jv_va_list args;
|
---|
1170 | va_start (args, meth1);
|
---|
1171 | jchar result = p->CallStaticCharMethodV (this, cl0, meth1, args);
|
---|
1172 | va_end (args);
|
---|
1173 | return result;
|
---|
1174 | }
|
---|
1175 |
|
---|
1176 | jchar CallStaticCharMethodV (jclass cl0, jmethodID meth1, _Jv_va_list val2)
|
---|
1177 | { return p->CallStaticCharMethodV (this, cl0, meth1, val2); }
|
---|
1178 |
|
---|
1179 | jchar CallStaticCharMethodA (jclass cl0, jmethodID meth1, jvalue * val2)
|
---|
1180 | { return p->CallStaticCharMethodA (this, cl0, meth1, val2); }
|
---|
1181 |
|
---|
1182 | jshort CallStaticShortMethod (jclass cl0, jmethodID meth1, ...)
|
---|
1183 | {
|
---|
1184 | _Jv_va_list args;
|
---|
1185 | va_start (args, meth1);
|
---|
1186 | jshort result = p->CallStaticShortMethodV (this, cl0, meth1, args);
|
---|
1187 | va_end (args);
|
---|
1188 | return result;
|
---|
1189 | }
|
---|
1190 |
|
---|
1191 | jshort CallStaticShortMethodV (jclass cl0, jmethodID meth1, _Jv_va_list val2)
|
---|
1192 | { return p->CallStaticShortMethodV (this, cl0, meth1, val2); }
|
---|
1193 |
|
---|
1194 | jshort CallStaticShortMethodA (jclass cl0, jmethodID meth1, jvalue * val2)
|
---|
1195 | { return p->CallStaticShortMethodA (this, cl0, meth1, val2); }
|
---|
1196 |
|
---|
1197 | jint CallStaticIntMethod (jclass cl0, jmethodID meth1, ...)
|
---|
1198 | {
|
---|
1199 | _Jv_va_list args;
|
---|
1200 | va_start (args, meth1);
|
---|
1201 | jint result = p->CallStaticIntMethodV (this, cl0, meth1, args);
|
---|
1202 | va_end (args);
|
---|
1203 | return result;
|
---|
1204 | }
|
---|
1205 |
|
---|
1206 | jint CallStaticIntMethodV (jclass cl0, jmethodID meth1, _Jv_va_list val2)
|
---|
1207 | { return p->CallStaticIntMethodV (this, cl0, meth1, val2); }
|
---|
1208 |
|
---|
1209 | jint CallStaticIntMethodA (jclass cl0, jmethodID meth1, jvalue * val2)
|
---|
1210 | { return p->CallStaticIntMethodA (this, cl0, meth1, val2); }
|
---|
1211 |
|
---|
1212 | jlong CallStaticLongMethod (jclass cl0, jmethodID meth1, ...)
|
---|
1213 | {
|
---|
1214 | _Jv_va_list args;
|
---|
1215 | va_start (args, meth1);
|
---|
1216 | jlong result = p->CallStaticLongMethodV (this, cl0, meth1, args);
|
---|
1217 | va_end (args);
|
---|
1218 | return result;
|
---|
1219 | }
|
---|
1220 |
|
---|
1221 | jlong CallStaticLongMethodV (jclass cl0, jmethodID meth1, _Jv_va_list val2)
|
---|
1222 | { return p->CallStaticLongMethodV (this, cl0, meth1, val2); }
|
---|
1223 |
|
---|
1224 | jlong CallStaticLongMethodA (jclass cl0, jmethodID meth1, jvalue * val2)
|
---|
1225 | { return p->CallStaticLongMethodA (this, cl0, meth1, val2); }
|
---|
1226 |
|
---|
1227 | jfloat CallStaticFloatMethod (jclass cl0, jmethodID meth1, ...)
|
---|
1228 | {
|
---|
1229 | _Jv_va_list args;
|
---|
1230 | va_start (args, meth1);
|
---|
1231 | jfloat result = p->CallStaticFloatMethodV (this, cl0, meth1, args);
|
---|
1232 | va_end (args);
|
---|
1233 | return result;
|
---|
1234 | }
|
---|
1235 |
|
---|
1236 | jfloat CallStaticFloatMethodV (jclass cl0, jmethodID meth1, _Jv_va_list val2)
|
---|
1237 | { return p->CallStaticFloatMethodV (this, cl0, meth1, val2); }
|
---|
1238 |
|
---|
1239 | jfloat CallStaticFloatMethodA (jclass cl0, jmethodID meth1, jvalue * val2)
|
---|
1240 | { return p->CallStaticFloatMethodA (this, cl0, meth1, val2); }
|
---|
1241 |
|
---|
1242 | jdouble CallStaticDoubleMethod (jclass cl0, jmethodID meth1, ...)
|
---|
1243 | {
|
---|
1244 | _Jv_va_list args;
|
---|
1245 | va_start (args, meth1);
|
---|
1246 | jdouble result = p->CallStaticDoubleMethodV (this, cl0, meth1, args);
|
---|
1247 | va_end (args);
|
---|
1248 | return result;
|
---|
1249 | }
|
---|
1250 |
|
---|
1251 | jdouble CallStaticDoubleMethodV (jclass cl0, jmethodID meth1, _Jv_va_list val2)
|
---|
1252 | { return p->CallStaticDoubleMethodV (this, cl0, meth1, val2); }
|
---|
1253 |
|
---|
1254 | jdouble CallStaticDoubleMethodA (jclass cl0, jmethodID meth1, jvalue * val2)
|
---|
1255 | { return p->CallStaticDoubleMethodA (this, cl0, meth1, val2); }
|
---|
1256 |
|
---|
1257 | void CallStaticVoidMethod (jclass cl0, jmethodID meth1, ...)
|
---|
1258 | {
|
---|
1259 | _Jv_va_list args;
|
---|
1260 | va_start (args, meth1);
|
---|
1261 | p->CallStaticVoidMethodV (this, cl0, meth1, args);
|
---|
1262 | va_end (args);
|
---|
1263 | }
|
---|
1264 |
|
---|
1265 | void CallStaticVoidMethodV (jclass cl0, jmethodID meth1, _Jv_va_list val2)
|
---|
1266 | { p->CallStaticVoidMethodV (this, cl0, meth1, val2); }
|
---|
1267 |
|
---|
1268 | void CallStaticVoidMethodA (jclass cl0, jmethodID meth1, jvalue * val2)
|
---|
1269 | { p->CallStaticVoidMethodA (this, cl0, meth1, val2); }
|
---|
1270 |
|
---|
1271 | jfieldID GetStaticFieldID (jclass cl0, const char * val1, const char * val2)
|
---|
1272 | { return p->GetStaticFieldID (this, cl0, val1, val2); }
|
---|
1273 |
|
---|
1274 | jobject GetStaticObjectField (jclass cl0, jfieldID fld1)
|
---|
1275 | { return p->GetStaticObjectField (this, cl0, fld1); }
|
---|
1276 |
|
---|
1277 | jboolean GetStaticBooleanField (jclass cl0, jfieldID fld1)
|
---|
1278 | { return p->GetStaticBooleanField (this, cl0, fld1); }
|
---|
1279 |
|
---|
1280 | jbyte GetStaticByteField (jclass cl0, jfieldID fld1)
|
---|
1281 | { return p->GetStaticByteField (this, cl0, fld1); }
|
---|
1282 |
|
---|
1283 | jchar GetStaticCharField (jclass cl0, jfieldID fld1)
|
---|
1284 | { return p->GetStaticCharField (this, cl0, fld1); }
|
---|
1285 |
|
---|
1286 | jshort GetStaticShortField (jclass cl0, jfieldID fld1)
|
---|
1287 | { return p->GetStaticShortField (this, cl0, fld1); }
|
---|
1288 |
|
---|
1289 | jint GetStaticIntField (jclass cl0, jfieldID fld1)
|
---|
1290 | { return p->GetStaticIntField (this, cl0, fld1); }
|
---|
1291 |
|
---|
1292 | jlong GetStaticLongField (jclass cl0, jfieldID fld1)
|
---|
1293 | { return p->GetStaticLongField (this, cl0, fld1); }
|
---|
1294 |
|
---|
1295 | jfloat GetStaticFloatField (jclass cl0, jfieldID fld1)
|
---|
1296 | { return p->GetStaticFloatField (this, cl0, fld1); }
|
---|
1297 |
|
---|
1298 | jdouble GetStaticDoubleField (jclass cl0, jfieldID fld1)
|
---|
1299 | { return p->GetStaticDoubleField (this, cl0, fld1); }
|
---|
1300 |
|
---|
1301 | void SetStaticObjectField (jclass cl0, jfieldID fld1, jobject obj2)
|
---|
1302 | { p->SetStaticObjectField (this, cl0, fld1, obj2); }
|
---|
1303 |
|
---|
1304 | void SetStaticBooleanField (jclass cl0, jfieldID fld1, jboolean val2)
|
---|
1305 | { p->SetStaticBooleanField (this, cl0, fld1, val2); }
|
---|
1306 |
|
---|
1307 | void SetStaticByteField (jclass cl0, jfieldID fld1, jbyte val2)
|
---|
1308 | { p->SetStaticByteField (this, cl0, fld1, val2); }
|
---|
1309 |
|
---|
1310 | void SetStaticCharField (jclass cl0, jfieldID fld1, jchar val2)
|
---|
1311 | { p->SetStaticCharField (this, cl0, fld1, val2); }
|
---|
1312 |
|
---|
1313 | void SetStaticShortField (jclass cl0, jfieldID fld1, jshort val2)
|
---|
1314 | { p->SetStaticShortField (this, cl0, fld1, val2); }
|
---|
1315 |
|
---|
1316 | void SetStaticIntField (jclass cl0, jfieldID fld1, jint val2)
|
---|
1317 | { p->SetStaticIntField (this, cl0, fld1, val2); }
|
---|
1318 |
|
---|
1319 | void SetStaticLongField (jclass cl0, jfieldID fld1, jlong val2)
|
---|
1320 | { p->SetStaticLongField (this, cl0, fld1, val2); }
|
---|
1321 |
|
---|
1322 | void SetStaticFloatField (jclass cl0, jfieldID fld1, jfloat val2)
|
---|
1323 | { p->SetStaticFloatField (this, cl0, fld1, val2); }
|
---|
1324 |
|
---|
1325 | void SetStaticDoubleField (jclass cl0, jfieldID fld1, jdouble val2)
|
---|
1326 | { p->SetStaticDoubleField (this, cl0, fld1, val2); }
|
---|
1327 |
|
---|
1328 | jstring NewString (const jchar * val0, jsize val1)
|
---|
1329 | { return p->NewString (this, val0, val1); }
|
---|
1330 |
|
---|
1331 | jint GetStringLength (jstring val0)
|
---|
1332 | { return p->GetStringLength (this, val0); }
|
---|
1333 |
|
---|
1334 | const jchar * GetStringChars (jstring val0, jboolean * val1)
|
---|
1335 | { return p->GetStringChars (this, val0, val1); }
|
---|
1336 |
|
---|
1337 | void ReleaseStringChars (jstring val0, const jchar * val1)
|
---|
1338 | { p->ReleaseStringChars (this, val0, val1); }
|
---|
1339 |
|
---|
1340 | jstring NewStringUTF (const char * val0)
|
---|
1341 | { return p->NewStringUTF (this, val0); }
|
---|
1342 |
|
---|
1343 | jsize GetStringUTFLength (jstring val0)
|
---|
1344 | { return p->GetStringUTFLength (this, val0); }
|
---|
1345 |
|
---|
1346 | const char * GetStringUTFChars (jstring val0, jboolean * val1)
|
---|
1347 | { return p->GetStringUTFChars (this, val0, val1); }
|
---|
1348 |
|
---|
1349 | void ReleaseStringUTFChars (jstring val0, const char * val1)
|
---|
1350 | { p->ReleaseStringUTFChars (this, val0, val1); }
|
---|
1351 |
|
---|
1352 | jsize GetArrayLength (jarray val0)
|
---|
1353 | { return p->GetArrayLength (this, val0); }
|
---|
1354 |
|
---|
1355 | jarray NewObjectArray (jsize val0, jclass cl1, jobject obj2)
|
---|
1356 | { return p->NewObjectArray (this, val0, cl1, obj2); }
|
---|
1357 |
|
---|
1358 | jobject GetObjectArrayElement (jobjectArray val0, jsize val1)
|
---|
1359 | { return p->GetObjectArrayElement (this, val0, val1); }
|
---|
1360 |
|
---|
1361 | void SetObjectArrayElement (jobjectArray val0, jsize val1, jobject obj2)
|
---|
1362 | { p->SetObjectArrayElement (this, val0, val1, obj2); }
|
---|
1363 |
|
---|
1364 | jbooleanArray NewBooleanArray (jsize val0)
|
---|
1365 | { return p->NewBooleanArray (this, val0); }
|
---|
1366 |
|
---|
1367 | jbyteArray NewByteArray (jsize val0)
|
---|
1368 | { return p->NewByteArray (this, val0); }
|
---|
1369 |
|
---|
1370 | jcharArray NewCharArray (jsize val0)
|
---|
1371 | { return p->NewCharArray (this, val0); }
|
---|
1372 |
|
---|
1373 | jshortArray NewShortArray (jsize val0)
|
---|
1374 | { return p->NewShortArray (this, val0); }
|
---|
1375 |
|
---|
1376 | jintArray NewIntArray (jsize val0)
|
---|
1377 | { return p->NewIntArray (this, val0); }
|
---|
1378 |
|
---|
1379 | jlongArray NewLongArray (jsize val0)
|
---|
1380 | { return p->NewLongArray (this, val0); }
|
---|
1381 |
|
---|
1382 | jfloatArray NewFloatArray (jsize val0)
|
---|
1383 | { return p->NewFloatArray (this, val0); }
|
---|
1384 |
|
---|
1385 | jdoubleArray NewDoubleArray (jsize val0)
|
---|
1386 | { return p->NewDoubleArray (this, val0); }
|
---|
1387 |
|
---|
1388 | jboolean * GetBooleanArrayElements (jbooleanArray val0, jboolean * val1)
|
---|
1389 | { return p->GetBooleanArrayElements (this, val0, val1); }
|
---|
1390 |
|
---|
1391 | jbyte * GetByteArrayElements (jbyteArray val0, jboolean * val1)
|
---|
1392 | { return p->GetByteArrayElements (this, val0, val1); }
|
---|
1393 |
|
---|
1394 | jchar * GetCharArrayElements (jcharArray val0, jboolean * val1)
|
---|
1395 | { return p->GetCharArrayElements (this, val0, val1); }
|
---|
1396 |
|
---|
1397 | jshort * GetShortArrayElements (jshortArray val0, jboolean * val1)
|
---|
1398 | { return p->GetShortArrayElements (this, val0, val1); }
|
---|
1399 |
|
---|
1400 | jint * GetIntArrayElements (jintArray val0, jboolean * val1)
|
---|
1401 | { return p->GetIntArrayElements (this, val0, val1); }
|
---|
1402 |
|
---|
1403 | jlong * GetLongArrayElements (jlongArray val0, jboolean * val1)
|
---|
1404 | { return p->GetLongArrayElements (this, val0, val1); }
|
---|
1405 |
|
---|
1406 | jfloat * GetFloatArrayElements (jfloatArray val0, jboolean * val1)
|
---|
1407 | { return p->GetFloatArrayElements (this, val0, val1); }
|
---|
1408 |
|
---|
1409 | jdouble * GetDoubleArrayElements (jdoubleArray val0, jboolean * val1)
|
---|
1410 | { return p->GetDoubleArrayElements (this, val0, val1); }
|
---|
1411 |
|
---|
1412 | void ReleaseBooleanArrayElements (jbooleanArray val0, jboolean * val1, jint val2)
|
---|
1413 | { p->ReleaseBooleanArrayElements (this, val0, val1, val2); }
|
---|
1414 |
|
---|
1415 | void ReleaseByteArrayElements (jbyteArray val0, jbyte * val1, jint val2)
|
---|
1416 | { p->ReleaseByteArrayElements (this, val0, val1, val2); }
|
---|
1417 |
|
---|
1418 | void ReleaseCharArrayElements (jcharArray val0, jchar * val1, jint val2)
|
---|
1419 | { p->ReleaseCharArrayElements (this, val0, val1, val2); }
|
---|
1420 |
|
---|
1421 | void ReleaseShortArrayElements (jshortArray val0, jshort * val1, jint val2)
|
---|
1422 | { p->ReleaseShortArrayElements (this, val0, val1, val2); }
|
---|
1423 |
|
---|
1424 | void ReleaseIntArrayElements (jintArray val0, jint * val1, jint val2)
|
---|
1425 | { p->ReleaseIntArrayElements (this, val0, val1, val2); }
|
---|
1426 |
|
---|
1427 | void ReleaseLongArrayElements (jlongArray val0, jlong * val1, jint val2)
|
---|
1428 | { p->ReleaseLongArrayElements (this, val0, val1, val2); }
|
---|
1429 |
|
---|
1430 | void ReleaseFloatArrayElements (jfloatArray val0, jfloat * val1, jint val2)
|
---|
1431 | { p->ReleaseFloatArrayElements (this, val0, val1, val2); }
|
---|
1432 |
|
---|
1433 | void ReleaseDoubleArrayElements (jdoubleArray val0, jdouble * val1, jint val2)
|
---|
1434 | { p->ReleaseDoubleArrayElements (this, val0, val1, val2); }
|
---|
1435 |
|
---|
1436 | void GetBooleanArrayRegion (jbooleanArray val0, jsize val1, jsize val2, jboolean * val3)
|
---|
1437 | { p->GetBooleanArrayRegion (this, val0, val1, val2, val3); }
|
---|
1438 |
|
---|
1439 | void GetByteArrayRegion (jbyteArray val0, jsize val1, jsize val2, jbyte * val3)
|
---|
1440 | { p->GetByteArrayRegion (this, val0, val1, val2, val3); }
|
---|
1441 |
|
---|
1442 | void GetCharArrayRegion (jcharArray val0, jsize val1, jsize val2, jchar * val3)
|
---|
1443 | { p->GetCharArrayRegion (this, val0, val1, val2, val3); }
|
---|
1444 |
|
---|
1445 | void GetShortArrayRegion (jshortArray val0, jsize val1, jsize val2, jshort * val3)
|
---|
1446 | { p->GetShortArrayRegion (this, val0, val1, val2, val3); }
|
---|
1447 |
|
---|
1448 | void GetIntArrayRegion (jintArray val0, jsize val1, jsize val2, jint * val3)
|
---|
1449 | { p->GetIntArrayRegion (this, val0, val1, val2, val3); }
|
---|
1450 |
|
---|
1451 | void GetLongArrayRegion (jlongArray val0, jsize val1, jsize val2, jlong * val3)
|
---|
1452 | { p->GetLongArrayRegion (this, val0, val1, val2, val3); }
|
---|
1453 |
|
---|
1454 | void GetFloatArrayRegion (jfloatArray val0, jsize val1, jsize val2, jfloat * val3)
|
---|
1455 | { p->GetFloatArrayRegion (this, val0, val1, val2, val3); }
|
---|
1456 |
|
---|
1457 | void GetDoubleArrayRegion (jdoubleArray val0, jsize val1, jsize val2, jdouble * val3)
|
---|
1458 | { p->GetDoubleArrayRegion (this, val0, val1, val2, val3); }
|
---|
1459 |
|
---|
1460 | void SetBooleanArrayRegion (jbooleanArray val0, jsize val1, jsize val2, jboolean * val3)
|
---|
1461 | { p->SetBooleanArrayRegion (this, val0, val1, val2, val3); }
|
---|
1462 |
|
---|
1463 | void SetByteArrayRegion (jbyteArray val0, jsize val1, jsize val2, jbyte * val3)
|
---|
1464 | { p->SetByteArrayRegion (this, val0, val1, val2, val3); }
|
---|
1465 |
|
---|
1466 | void SetCharArrayRegion (jcharArray val0, jsize val1, jsize val2, jchar * val3)
|
---|
1467 | { p->SetCharArrayRegion (this, val0, val1, val2, val3); }
|
---|
1468 |
|
---|
1469 | void SetShortArrayRegion (jshortArray val0, jsize val1, jsize val2, jshort * val3)
|
---|
1470 | { p->SetShortArrayRegion (this, val0, val1, val2, val3); }
|
---|
1471 |
|
---|
1472 | void SetIntArrayRegion (jintArray val0, jsize val1, jsize val2, jint * val3)
|
---|
1473 | { p->SetIntArrayRegion (this, val0, val1, val2, val3); }
|
---|
1474 |
|
---|
1475 | void SetLongArrayRegion (jlongArray val0, jsize val1, jsize val2, jlong * val3)
|
---|
1476 | { p->SetLongArrayRegion (this, val0, val1, val2, val3); }
|
---|
1477 |
|
---|
1478 | void SetFloatArrayRegion (jfloatArray val0, jsize val1, jsize val2, jfloat * val3)
|
---|
1479 | { p->SetFloatArrayRegion (this, val0, val1, val2, val3); }
|
---|
1480 |
|
---|
1481 | void SetDoubleArrayRegion (jdoubleArray val0, jsize val1, jsize val2, jdouble * val3)
|
---|
1482 | { p->SetDoubleArrayRegion (this, val0, val1, val2, val3); }
|
---|
1483 |
|
---|
1484 | jint RegisterNatives (jclass cl0, const JNINativeMethod * val1, jint val2)
|
---|
1485 | { return p->RegisterNatives (this, cl0, val1, val2); }
|
---|
1486 |
|
---|
1487 | jint UnregisterNatives (jclass cl0)
|
---|
1488 | { return p->UnregisterNatives (this, cl0); }
|
---|
1489 |
|
---|
1490 | jint MonitorEnter (jobject obj0)
|
---|
1491 | { return p->MonitorEnter (this, obj0); }
|
---|
1492 |
|
---|
1493 | jint MonitorExit (jobject obj0)
|
---|
1494 | { return p->MonitorExit (this, obj0); }
|
---|
1495 |
|
---|
1496 | jint GetJavaVM (JavaVM ** val0)
|
---|
1497 | { return p->GetJavaVM (this, val0); }
|
---|
1498 |
|
---|
1499 | void GetStringRegion (jstring val0, jsize val1, jsize val2, jchar * val3)
|
---|
1500 | { p->GetStringRegion (this, val0, val1, val2, val3); }
|
---|
1501 |
|
---|
1502 | void GetStringUTFRegion (jstring val0, jsize val1, jsize val2, char * val3)
|
---|
1503 | { p->GetStringUTFRegion (this, val0, val1, val2, val3); }
|
---|
1504 |
|
---|
1505 | void * GetPrimitiveArrayCritical (jarray val0, jboolean * val1)
|
---|
1506 | { return p->GetPrimitiveArrayCritical (this, val0, val1); }
|
---|
1507 |
|
---|
1508 | void ReleasePrimitiveArrayCritical (jarray val0, void * val1, jint val2)
|
---|
1509 | { p->ReleasePrimitiveArrayCritical (this, val0, val1, val2); }
|
---|
1510 |
|
---|
1511 | const jchar * GetStringCritical (jstring val0, jboolean * val1)
|
---|
1512 | { return p->GetStringCritical (this, val0, val1); }
|
---|
1513 |
|
---|
1514 | void ReleaseStringCritical (jstring val0, const jchar * val1)
|
---|
1515 | { p->ReleaseStringCritical (this, val0, val1); }
|
---|
1516 |
|
---|
1517 | jweak NewWeakGlobalRef (jobject obj0)
|
---|
1518 | { return p->NewWeakGlobalRef (this, obj0); }
|
---|
1519 |
|
---|
1520 | void DeleteWeakGlobalRef (jweak val0)
|
---|
1521 | { p->DeleteWeakGlobalRef (this, val0); }
|
---|
1522 |
|
---|
1523 | jboolean ExceptionCheck ()
|
---|
1524 | { return p->ExceptionCheck (this); }
|
---|
1525 | };
|
---|
1526 | #endif /* __cplusplus */
|
---|
1527 |
|
---|
1528 | /*
|
---|
1529 | * Invocation API.
|
---|
1530 | */
|
---|
1531 |
|
---|
1532 | struct JNIInvokeInterface
|
---|
1533 | {
|
---|
1534 | _Jv_func reserved0;
|
---|
1535 | _Jv_func reserved1;
|
---|
1536 | _Jv_func reserved2;
|
---|
1537 |
|
---|
1538 | jint (*DestroyJavaVM) (JavaVM *);
|
---|
1539 | jint (*AttachCurrentThread) (JavaVM *, void **, void *);
|
---|
1540 | jint (*DetachCurrentThread) (JavaVM *);
|
---|
1541 | jint (*GetEnv) (JavaVM *, void **, jint);
|
---|
1542 | };
|
---|
1543 |
|
---|
1544 | #ifdef __cplusplus
|
---|
1545 |
|
---|
1546 | class _Jv_JavaVM
|
---|
1547 | {
|
---|
1548 | public:
|
---|
1549 | const struct JNIInvokeInterface *functions;
|
---|
1550 |
|
---|
1551 | private:
|
---|
1552 | /* FIXME: other fields. */
|
---|
1553 |
|
---|
1554 | public:
|
---|
1555 | jint DestroyJavaVM ()
|
---|
1556 | { return functions->DestroyJavaVM (this); }
|
---|
1557 |
|
---|
1558 | jint AttachCurrentThread (void **penv, void *args)
|
---|
1559 | { return functions->AttachCurrentThread (this, penv, args); }
|
---|
1560 |
|
---|
1561 | jint DetachCurrentThread ()
|
---|
1562 | { return functions->DetachCurrentThread (this); }
|
---|
1563 |
|
---|
1564 | jint GetEnv (void **penv, jint version)
|
---|
1565 | { return functions->GetEnv (this, penv, version); }
|
---|
1566 | };
|
---|
1567 | #endif /* __cplusplus */
|
---|
1568 |
|
---|
1569 | typedef struct JavaVMAttachArgs
|
---|
1570 | {
|
---|
1571 | jint version; /* Must be JNI_VERSION_1_2. */
|
---|
1572 | char *name; /* The name of the thread (or NULL). */
|
---|
1573 | jobject group; /* Global ref of a ThreadGroup object
|
---|
1574 | (or NULL). */
|
---|
1575 | } JavaVMAttachArgs;
|
---|
1576 |
|
---|
1577 | typedef struct JavaVMOption
|
---|
1578 | {
|
---|
1579 | char *optionString;
|
---|
1580 | void *extraInfo;
|
---|
1581 | } JavaVMOption;
|
---|
1582 |
|
---|
1583 | typedef struct JavaVMInitArgs
|
---|
1584 | {
|
---|
1585 | /* Must be JNI_VERSION_1_2. */
|
---|
1586 | jint version;
|
---|
1587 |
|
---|
1588 | /* Number of options. */
|
---|
1589 | jint nOptions;
|
---|
1590 |
|
---|
1591 | /* Options to the VM. */
|
---|
1592 | JavaVMOption *options;
|
---|
1593 |
|
---|
1594 | /* Whether we should ignore unrecognized options. */
|
---|
1595 | jboolean ignoreUnrecognized;
|
---|
1596 | } JavaVMInitArgs;
|
---|
1597 |
|
---|
1598 | #endif /* __GCJ_JNI_H__ */
|
---|