JNI和函数地址关系
Here are some commonly used functions (and their offsets in JNIEnv):
JNIEnv + 0x18: jclass (FindClass)(JNIEnv, const char);
JNIEnv + 0x34: jint (Throw)(JNIEnv, jthrowable);
JNIEnv + 0x70: jobject (NewObject)(JNIEnv, jclass, jmethodID, …);
JNIEnv + 0x84: jobject (NewObject)(JNIEnv, jclass, jmethodID, …);
JNIEnv + 0x28C: jstring (NewString)(JNIEnv, const jchar, jsize);
JNIEnv + 0x35C: jint (*RegisterNatives)(JNIEnv, jclass, const JNINativeMethod, jint);
Index | Offset(Dec) | Offset(Hex) | Function |
---|---|---|---|
0 | 0 | 0 | void* reserved0; |
1 | 4 | 4 | void* reserved1; |
2 | 8 | 8 | void* reserved2; |
3 | 12 | C | void* reserved3; |
4 | 16 | 10 | jint (*GetVersion)(JNIEnv *); |
5 | 20 | 14 | jclass (DefineClass)(JNIEnv, const char, jobject, const jbyte, jsize); |
6 | 24 | 18 | jclass (FindClass)(JNIEnv, const char*); |
7 | 28 | 1C | jmethodID (FromReflectedMethod)(JNIEnv, jobject); |
8 | 32 | 20 | jfieldID (FromReflectedField)(JNIEnv, jobject); |
9 | 36 | 24 | jobject (ToReflectedMethod)(JNIEnv, jclass, jmethodID, jboolean); |
10 | 40 | 28 | jclass (GetSuperclass)(JNIEnv, jclass); |
11 | 44 | 2C | jboolean (IsAssignableFrom)(JNIEnv, jclass, jclass); |
12 | 48 | 30 | jobject (ToReflectedField)(JNIEnv, jclass, jfieldID, jboolean); |
13 | 52 | 34 | jint (Throw)(JNIEnv, jthrowable); |
14 | 56 | 38 | jint (*ThrowNew)(JNIEnv *, jclass, const char *); |
15 | 60 | 3C | jthrowable (ExceptionOccurred)(JNIEnv); |
16 | 64 | 40 | void (ExceptionDescribe)(JNIEnv); |
17 | 68 | 44 | void (ExceptionClear)(JNIEnv); |
18 | 72 | 48 | void (FatalError)(JNIEnv, const char*); |
19 | 76 | 4C | jint (PushLocalFrame)(JNIEnv, jint); |
20 | 80 | 50 | jobject (PopLocalFrame)(JNIEnv, jobject); |
21 | 84 | 54 | jobject (NewGlobalRef)(JNIEnv, jobject); |
22 | 88 | 58 | void (DeleteGlobalRef)(JNIEnv, jobject); |
23 | 92 | 5C | void (DeleteLocalRef)(JNIEnv, jobject); |
24 | 96 | 60 | jboolean (IsSameObject)(JNIEnv, jobject, jobject); |
25 | 100 | 64 | jobject (NewLocalRef)(JNIEnv, jobject); |
26 | 104 | 68 | jint (EnsureLocalCapacity)(JNIEnv, jint); |
27 | 108 | 6C | jobject (AllocObject)(JNIEnv, jclass); |
28 | 112 | 70 | jobject (NewObject)(JNIEnv, jclass, jmethodID, ...); |
29 | 116 | 74 | jobject (NewObjectV)(JNIEnv, jclass, jmethodID, va_list); |
30 | 120 | 78 | jobject (NewObjectA)(JNIEnv, jclass, jmethodID, jvalue*); |
31 | 124 | 7C | jclass (GetObjectClass)(JNIEnv, jobject); |
32 | 128 | 80 | jboolean (IsInstanceOf)(JNIEnv, jobject, jclass); |
33 | 132 | 84 | jmethodID (GetMethodID)(JNIEnv, jclass, const char, const char); |
34 | 136 | 88 | jobject (CallObjectMethod)(JNIEnv, jobject, jmethodID, ...); |
35 | 140 | 8C | jobject (CallObjectMethodV)(JNIEnv, jobject, jmethodID, va_list); |
36 | 144 | 90 | jobject (CallObjectMethodA)(JNIEnv, jobject, jmethodID, jvalue*); |
37 | 148 | 94 | jboolean (CallBooleanMethod)(JNIEnv, jobject, jmethodID, ...); |
38 | 152 | 98 | jboolean (CallBooleanMethodV)(JNIEnv, jobject, jmethodID, va_list); |
39 | 156 | 9C | jboolean (CallBooleanMethodA)(JNIEnv, jobject, jmethodID, jvalue*); |
40 | 160 | A0 | jbyte (CallByteMethod)(JNIEnv, jobject, jmethodID, ...); |
41 | 164 | A4 | jbyte (CallByteMethodV)(JNIEnv, jobject, jmethodID, va_list); |
42 | 168 | A8 | jbyte (CallByteMethodA)(JNIEnv, jobject, jmethodID, jvalue*); |
43 | 172 | AC | jchar (CallCharMethod)(JNIEnv, jobject, jmethodID, ...); |
44 | 176 | B0 | jchar (CallCharMethodV)(JNIEnv, jobject, jmethodID, va_list); |
45 | 180 | B4 | jchar (CallCharMethodA)(JNIEnv, jobject, jmethodID, jvalue*); |
46 | 184 | B8 | jshort (CallShortMethod)(JNIEnv, jobject, jmethodID, ...); |
47 | 188 | BC | jshort (CallShortMethodV)(JNIEnv, jobject, jmethodID, va_list); |
48 | 192 | C0 | jshort (CallShortMethodA)(JNIEnv, jobject, jmethodID, jvalue*); |
49 | 196 | C4 | jint (CallIntMethod)(JNIEnv, jobject, jmethodID, ...); |
50 | 200 | C8 | jint (CallIntMethodV)(JNIEnv, jobject, jmethodID, va_list); |
51 | 204 | CC | jint (CallIntMethodA)(JNIEnv, jobject, jmethodID, jvalue*); |
52 | 208 | D0 | jlong (CallLongMethod)(JNIEnv, jobject, jmethodID, ...); |
53 | 212 | D4 | jlong (CallLongMethodV)(JNIEnv, jobject, jmethodID, va_list); |
54 | 216 | D8 | jlong (CallLongMethodA)(JNIEnv, jobject, jmethodID, jvalue*); |
55 | 220 | DC | jfloat (CallFloatMethod)(JNIEnv, jobject, jmethodID, ...); |
56 | 224 | E0 | jfloat (CallFloatMethodV)(JNIEnv, jobject, jmethodID, va_list); |
57 | 228 | E4 | jfloat (CallFloatMethodA)(JNIEnv, jobject, jmethodID, jvalue*); |
58 | 232 | E8 | jdouble (CallDoubleMethod)(JNIEnv, jobject, jmethodID, ...); |
59 | 236 | EC | jdouble (CallDoubleMethodV)(JNIEnv, jobject, jmethodID, va_list); |
60 | 240 | F0 | jdouble (CallDoubleMethodA)(JNIEnv, jobject, jmethodID, jvalue*); |
61 | 244 | F4 | void (CallVoidMethod)(JNIEnv, jobject, jmethodID, ...); |
62 | 248 | F8 | void (CallVoidMethodV)(JNIEnv, jobject, jmethodID, va_list); |
63 | 252 | FC | void (CallVoidMethodA)(JNIEnv, jobject, jmethodID, jvalue*); |
64 | 256 | 100 | jobject (CallNonvirtualObjectMethod)(JNIEnv, jobject, jclass, jmethodID, ...); |
65 | 260 | 104 | jobject (CallNonvirtualObjectMethodV)(JNIEnv, jobject, jclass, jmethodID, va_list); |
66 | 264 | 108 | jobject (CallNonvirtualObjectMethodA)(JNIEnv, jobject, jclass, jmethodID, jvalue*); |
67 | 268 | 10C | jboolean (CallNonvirtualBooleanMethod)(JNIEnv, jobject, jclass, jmethodID, ...); |
68 | 272 | 110 | jboolean (CallNonvirtualBooleanMethodV)(JNIEnv, jobject, jclass, jmethodID, va_list); |
69 | 276 | 114 | jboolean (CallNonvirtualBooleanMethodA)(JNIEnv, jobject, jclass, jmethodID, jvalue*); |
70 | 280 | 118 | jbyte (CallNonvirtualByteMethod)(JNIEnv, jobject, jclass, jmethodID, ...); |
71 | 284 | 11C | jbyte (CallNonvirtualByteMethodV)(JNIEnv, jobject, jclass, jmethodID, va_list); |
72 | 288 | 120 | jbyte (CallNonvirtualByteMethodA)(JNIEnv, jobject, jclass, jmethodID, jvalue*); |
73 | 292 | 124 | jchar (CallNonvirtualCharMethod)(JNIEnv, jobject, jclass, jmethodID, ...); |
74 | 296 | 128 | jchar (CallNonvirtualCharMethodV)(JNIEnv, jobject, jclass, jmethodID, va_list); |
75 | 300 | 12C | jchar (CallNonvirtualCharMethodA)(JNIEnv, jobject, jclass, jmethodID, jvalue*); |
76 | 304 | 130 | jshort (CallNonvirtualShortMethod)(JNIEnv, jobject, jclass, jmethodID, ...); |
77 | 308 | 134 | jshort (CallNonvirtualShortMethodV)(JNIEnv, jobject, jclass, jmethodID, va_list); |
78 | 312 | 138 | jshort (CallNonvirtualShortMethodA)(JNIEnv, jobject, jclass, jmethodID, jvalue*); |
79 | 316 | 13C | jint (CallNonvirtualIntMethod)(JNIEnv, jobject, jclass, jmethodID, ...); |
80 | 320 | 140 | jint (CallNonvirtualIntMethodV)(JNIEnv, jobject, jclass, jmethodID, va_list); |
81 | 324 | 144 | jint (CallNonvirtualIntMethodA)(JNIEnv, jobject, jclass, jmethodID, jvalue*); |
82 | 328 | 148 | jlong (CallNonvirtualLongMethod)(JNIEnv, jobject, jclass, jmethodID, ...); |
83 | 332 | 14C | jlong (CallNonvirtualLongMethodV)(JNIEnv, jobject, jclass, jmethodID, va_list); |
84 | 336 | 150 | jlong (CallNonvirtualLongMethodA)(JNIEnv, jobject, jclass, jmethodID, jvalue*); |
85 | 340 | 154 | jfloat (CallNonvirtualFloatMethod)(JNIEnv, jobject, jclass, jmethodID, ...); |
86 | 344 | 158 | jfloat (CallNonvirtualFloatMethodV)(JNIEnv, jobject, jclass, jmethodID, va_list); |
87 | 348 | 15C | jfloat (CallNonvirtualFloatMethodA)(JNIEnv, jobject, jclass, jmethodID, jvalue*); |
88 | 352 | 160 | jdouble (CallNonvirtualDoubleMethod)(JNIEnv, jobject, jclass, jmethodID, ...); |
89 | 356 | 164 | jdouble (CallNonvirtualDoubleMethodV)(JNIEnv, jobject, jclass, jmethodID, va_list); |
90 | 360 | 168 | jdouble (CallNonvirtualDoubleMethodA)(JNIEnv, jobject, jclass, jmethodID, jvalue*); |
91 | 364 | 16C | void (CallNonvirtualVoidMethod)(JNIEnv, jobject, jclass, jmethodID, ...); |
92 | 368 | 170 | void (CallNonvirtualVoidMethodV)(JNIEnv, jobject, jclass, jmethodID, va_list); |
93 | 372 | 174 | void (CallNonvirtualVoidMethodA)(JNIEnv, jobject, jclass, jmethodID, jvalue*); |
94 | 376 | 178 | jfieldID (GetFieldID)(JNIEnv, jclass, const char, const char); |
95 | 380 | 17C | jobject (GetObjectField)(JNIEnv, jobject, jfieldID); |
96 | 384 | 180 | jboolean (GetBooleanField)(JNIEnv, jobject, jfieldID); |
97 | 388 | 184 | jbyte (GetByteField)(JNIEnv, jobject, jfieldID); |
98 | 392 | 188 | jchar (GetCharField)(JNIEnv, jobject, jfieldID); |
99 | 396 | 18C | jshort (GetShortField)(JNIEnv, jobject, jfieldID); |
100 | 400 | 190 | jint (GetIntField)(JNIEnv, jobject, jfieldID); |
101 | 404 | 194 | jlong (GetLongField)(JNIEnv, jobject, jfieldID); |
102 | 408 | 198 | jfloat (GetFloatField)(JNIEnv, jobject, jfieldID); |
103 | 412 | 19C | jdouble (GetDoubleField)(JNIEnv, jobject, jfieldID); |
104 | 416 | 1A0 | void (SetObjectField)(JNIEnv, jobject, jfieldID, jobject); |
105 | 420 | 1A4 | void (SetBooleanField)(JNIEnv, jobject, jfieldID, jboolean); |
106 | 424 | 1A8 | void (SetByteField)(JNIEnv, jobject, jfieldID, jbyte); |
107 | 428 | 1AC | void (SetCharField)(JNIEnv, jobject, jfieldID, jchar); |
108 | 432 | 1B0 | void (SetShortField)(JNIEnv, jobject, jfieldID, jshort); |
109 | 436 | 1B4 | void (SetIntField)(JNIEnv, jobject, jfieldID, jint); |
110 | 440 | 1B8 | void (SetLongField)(JNIEnv, jobject, jfieldID, jlong); |
111 | 444 | 1BC | void (SetFloatField)(JNIEnv, jobject, jfieldID, jfloat); |
112 | 448 | 1C0 | void (SetDoubleField)(JNIEnv, jobject, jfieldID, jdouble); |
113 | 452 | 1C4 | jmethodID (GetStaticMethodID)(JNIEnv, jclass, const char, const char); |
114 | 456 | 1C8 | jobject (CallStaticObjectMethod)(JNIEnv, jclass, jmethodID, ...); |
115 | 460 | 1CC | jobject (CallStaticObjectMethodV)(JNIEnv, jclass, jmethodID, va_list); |
116 | 464 | 1D0 | jobject (CallStaticObjectMethodA)(JNIEnv, jclass, jmethodID, jvalue*); |
117 | 468 | 1D4 | jboolean (CallStaticBooleanMethod)(JNIEnv, jclass, jmethodID, ...); |
118 | 472 | 1D8 | jboolean (CallStaticBooleanMethodV)(JNIEnv, jclass, jmethodID, va_list); |
119 | 476 | 1DC | jboolean (CallStaticBooleanMethodA)(JNIEnv, jclass, jmethodID, jvalue*); |
120 | 480 | 1E0 | jbyte (CallStaticByteMethod)(JNIEnv, jclass, jmethodID, ...); |
121 | 484 | 1E4 | jbyte (CallStaticByteMethodV)(JNIEnv, jclass, jmethodID, va_list); |
122 | 488 | 1E8 | jbyte (CallStaticByteMethodA)(JNIEnv, jclass, jmethodID, jvalue*); |
123 | 492 | 1EC | jchar (CallStaticCharMethod)(JNIEnv, jclass, jmethodID, ...); |
124 | 496 | 1F0 | jchar (CallStaticCharMethodV)(JNIEnv, jclass, jmethodID, va_list); |
125 | 500 | 1F4 | jchar (CallStaticCharMethodA)(JNIEnv, jclass, jmethodID, jvalue*); |
126 | 504 | 1F8 | jshort (CallStaticShortMethod)(JNIEnv, jclass, jmethodID, ...); |
127 | 508 | 1FC | jshort (CallStaticShortMethodV)(JNIEnv, jclass, jmethodID, va_list); |
128 | 512 | 200 | jshort (CallStaticShortMethodA)(JNIEnv, jclass, jmethodID, jvalue*); |
129 | 516 | 204 | jint (CallStaticIntMethod)(JNIEnv, jclass, jmethodID, ...); |
130 | 520 | 208 | jint (CallStaticIntMethodV)(JNIEnv, jclass, jmethodID, va_list); |
131 | 524 | 20C | jint (CallStaticIntMethodA)(JNIEnv, jclass, jmethodID, jvalue*); |
132 | 528 | 210 | jlong (CallStaticLongMethod)(JNIEnv, jclass, jmethodID, ...); |
133 | 532 | 214 | jlong (CallStaticLongMethodV)(JNIEnv, jclass, jmethodID, va_list); |
134 | 536 | 218 | jlong (CallStaticLongMethodA)(JNIEnv, jclass, jmethodID, jvalue*); |
135 | 540 | 21C | jfloat (CallStaticFloatMethod)(JNIEnv, jclass, jmethodID, ...); |
136 | 544 | 220 | jfloat (CallStaticFloatMethodV)(JNIEnv, jclass, jmethodID, va_list); |
137 | 548 | 224 | jfloat (CallStaticFloatMethodA)(JNIEnv, jclass, jmethodID, jvalue*); |
138 | 552 | 228 | jdouble (CallStaticDoubleMethod)(JNIEnv, jclass, jmethodID, ...); |
139 | 556 | 22C | jdouble (CallStaticDoubleMethodV)(JNIEnv, jclass, jmethodID, va_list); |
140 | 560 | 230 | jdouble (CallStaticDoubleMethodA)(JNIEnv, jclass, jmethodID, jvalue*); |
141 | 564 | 234 | void (CallStaticVoidMethod)(JNIEnv, jclass, jmethodID, ...); |
142 | 568 | 238 | void (CallStaticVoidMethodV)(JNIEnv, jclass, jmethodID, va_list); |
143 | 572 | 23C | void (CallStaticVoidMethodA)(JNIEnv, jclass, jmethodID, jvalue*); |
144 | 576 | 240 | jfieldID (GetStaticFieldID)(JNIEnv, jclass, const char, const char); |
145 | 580 | 244 | jobject (GetStaticObjectField)(JNIEnv, jclass, jfieldID); |
146 | 584 | 248 | jboolean (GetStaticBooleanField)(JNIEnv, jclass, jfieldID); |
147 | 588 | 24C | jbyte (GetStaticByteField)(JNIEnv, jclass, jfieldID); |
148 | 592 | 250 | jchar (GetStaticCharField)(JNIEnv, jclass, jfieldID); |
149 | 596 | 254 | jshort (GetStaticShortField)(JNIEnv, jclass, jfieldID); |
150 | 600 | 258 | jint (GetStaticIntField)(JNIEnv, jclass, jfieldID); |
151 | 604 | 25C | jlong (GetStaticLongField)(JNIEnv, jclass, jfieldID); |
152 | 608 | 260 | jfloat (GetStaticFloatField)(JNIEnv, jclass, jfieldID); |
153 | 612 | 264 | jdouble (GetStaticDoubleField)(JNIEnv, jclass, jfieldID); |
154 | 616 | 268 | void (SetStaticObjectField)(JNIEnv, jclass, jfieldID, jobject); |
155 | 620 | 26C | void (SetStaticBooleanField)(JNIEnv, jclass, jfieldID, jboolean); |
156 | 624 | 270 | void (SetStaticByteField)(JNIEnv, jclass, jfieldID, jbyte); |
157 | 628 | 274 | void (SetStaticCharField)(JNIEnv, jclass, jfieldID, jchar); |
158 | 632 | 278 | void (SetStaticShortField)(JNIEnv, jclass, jfieldID, jshort); |
159 | 636 | 27C | void (SetStaticIntField)(JNIEnv, jclass, jfieldID, jint); |
160 | 640 | 280 | void (SetStaticLongField)(JNIEnv, jclass, jfieldID, jlong); |
161 | 644 | 284 | void (SetStaticFloatField)(JNIEnv, jclass, jfieldID, jfloat); |
162 | 648 | 288 | void (SetStaticDoubleField)(JNIEnv, jclass, jfieldID, jdouble); |
163 | 652 | 28C | jstring (NewString)(JNIEnv, const jchar*, jsize); |
164 | 656 | 290 | jsize (GetStringLength)(JNIEnv, jstring); |
165 | 660 | 294 | const jchar* (GetStringChars)(JNIEnv, jstring, jboolean*); |
166 | 664 | 298 | void (ReleaseStringChars)(JNIEnv, jstring, const jchar*); |
167 | 668 | 29C | jstring (NewStringUTF)(JNIEnv, const char*); |
168 | 672 | 2A0 | jsize (GetStringUTFLength)(JNIEnv, jstring); |
169 | 676 | 2A4 | const char* (GetStringUTFChars)(JNIEnv, jstring, jboolean*); |
170 | 680 | 2A8 | void (ReleaseStringUTFChars)(JNIEnv, jstring, const char*); |
171 | 684 | 2AC | jsize (GetArrayLength)(JNIEnv, jarray); |
172 | 688 | 2B0 | jobjectArray (NewObjectArray)(JNIEnv, jsize, jclass, jobject); |
173 | 692 | 2B4 | jobject (GetObjectArrayElement)(JNIEnv, jobjectArray, jsize); |
174 | 696 | 2B8 | void (SetObjectArrayElement)(JNIEnv, jobjectArray, jsize, jobject); |
175 | 700 | 2BC | jbooleanArray (NewBooleanArray)(JNIEnv, jsize); |
176 | 704 | 2C0 | jbyteArray (NewByteArray)(JNIEnv, jsize); |
177 | 708 | 2C4 | jcharArray (NewCharArray)(JNIEnv, jsize); |
178 | 712 | 2C8 | jshortArray (NewShortArray)(JNIEnv, jsize); |
179 | 716 | 2CC | jintArray (NewIntArray)(JNIEnv, jsize); |
180 | 720 | 2D0 | jlongArray (NewLongArray)(JNIEnv, jsize); |
181 | 724 | 2D4 | jfloatArray (NewFloatArray)(JNIEnv, jsize); |
182 | 728 | 2D8 | jdoubleArray (NewDoubleArray)(JNIEnv, jsize); |
183 | 732 | 2DC | jboolean* (GetBooleanArrayElements)(JNIEnv, jbooleanArray, jboolean*); |
184 | 736 | 2E0 | jbyte* (GetByteArrayElements)(JNIEnv, jbyteArray, jboolean*); |
185 | 740 | 2E4 | jchar* (GetCharArrayElements)(JNIEnv, jcharArray, jboolean*); |
186 | 744 | 2E8 | jshort* (GetShortArrayElements)(JNIEnv, jshortArray, jboolean*); |
187 | 748 | 2EC | jint* (GetIntArrayElements)(JNIEnv, jintArray, jboolean*); |
188 | 752 | 2F0 | jlong* (GetLongArrayElements)(JNIEnv, jlongArray, jboolean*); |
189 | 756 | 2F4 | jfloat* (GetFloatArrayElements)(JNIEnv, jfloatArray, jboolean*); |
190 | 760 | 2F8 | jdouble* (GetDoubleArrayElements)(JNIEnv, jdoubleArray, jboolean*); |
191 | 764 | 2FC | void (ReleaseBooleanArrayElements)(JNIEnv, jbooleanArray, jboolean*, jint); |
192 | 768 | 300 | void (ReleaseByteArrayElements)(JNIEnv, jbyteArray, jbyte*, jint); |
193 | 772 | 304 | void (ReleaseCharArrayElements)(JNIEnv, jcharArray, jchar*, jint); |
194 | 776 | 308 | void (ReleaseShortArrayElements)(JNIEnv, jshortArray, jshort*, jint); |
195 | 780 | 30C | void (ReleaseIntArrayElements)(JNIEnv, jintArray, jint*, jint); |
196 | 784 | 310 | void (ReleaseLongArrayElements)(JNIEnv, jlongArray, jlong*, jint); |
197 | 788 | 314 | void (ReleaseFloatArrayElements)(JNIEnv, jfloatArray, jfloat*, jint); |
198 | 792 | 318 | void (ReleaseDoubleArrayElements)(JNIEnv, jdoubleArray, jdouble*, jint); |
199 | 796 | 31C | void (GetBooleanArrayRegion)(JNIEnv, jbooleanArray, jsize, jsize, jboolean*); |
200 | 800 | 320 | void (GetByteArrayRegion)(JNIEnv, jbyteArray, jsize, jsize, jbyte*); |
201 | 804 | 324 | void (GetCharArrayRegion)(JNIEnv, jcharArray, jsize, jsize, jchar*); |
202 | 808 | 328 | void (GetShortArrayRegion)(JNIEnv, jshortArray, jsize, jsize, jshort*); |
203 | 812 | 32C | void (GetIntArrayRegion)(JNIEnv, jintArray, jsize, jsize, jint*); |
204 | 816 | 330 | void (GetLongArrayRegion)(JNIEnv, jlongArray, jsize, jsize, jlong*); |
205 | 820 | 334 | void (GetFloatArrayRegion)(JNIEnv, jfloatArray, jsize, jsize, jfloat*); |
206 | 824 | 338 | void (GetDoubleArrayRegion)(JNIEnv, jdoubleArray, jsize, jsize, jdouble*); |
207 | 828 | 33C | void (SetBooleanArrayRegion)(JNIEnv, jbooleanArray, jsize, jsize, const jboolean*); |
208 | 832 | 340 | void (SetByteArrayRegion)(JNIEnv, jbyteArray, jsize, jsize, const jbyte*); |
209 | 836 | 344 | void (SetCharArrayRegion)(JNIEnv, jcharArray, jsize, jsize, const jchar*); |
210 | 840 | 348 | void (SetShortArrayRegion)(JNIEnv, jshortArray, jsize, jsize, const jshort*); |
211 | 844 | 34C | void (SetIntArrayRegion)(JNIEnv, jintArray, jsize, jsize, const jint*); |
212 | 848 | 350 | void (SetLongArrayRegion)(JNIEnv, jlongArray, jsize, jsize, const jlong*); |
213 | 852 | 354 | void (SetFloatArrayRegion)(JNIEnv, jfloatArray, jsize, jsize, const jfloat*); |
214 | 856 | 358 | void (SetDoubleArrayRegion)(JNIEnv, jdoubleArray, jsize, jsize, const jdouble*); |
215 | 860 | 35C | jint (RegisterNatives)(JNIEnv, jclass, const JNINativeMethod*, jint); |
216 | 864 | 360 | jint (UnregisterNatives)(JNIEnv, jclass); |
217 | 868 | 364 | jint (MonitorEnter)(JNIEnv, jobject); |
218 | 872 | 368 | jint (MonitorExit)(JNIEnv, jobject); |
219 | 876 | 36C | jint (GetJavaVM)(JNIEnv, JavaVM**); |
220 | 880 | 370 | void (GetStringRegion)(JNIEnv, jstring, jsize, jsize, jchar*); |
221 | 884 | 374 | void (GetStringUTFRegion)(JNIEnv, jstring, jsize, jsize, char*); |
222 | 888 | 378 | void* (GetPrimitiveArrayCritical)(JNIEnv, jarray, jboolean*); |
223 | 892 | 37C | void (ReleasePrimitiveArrayCritical)(JNIEnv, jarray, void*, jint); |
224 | 896 | 380 | const jchar* (GetStringCritical)(JNIEnv, jstring, jboolean*); |
225 | 900 | 384 | void (ReleaseStringCritical)(JNIEnv, jstring, const jchar*); |
226 | 904 | 388 | jweak (NewWeakGlobalRef)(JNIEnv, jobject); |
227 | 908 | 38C | void (DeleteWeakGlobalRef)(JNIEnv, jweak); |
228 | 912 | 390 | jboolean (ExceptionCheck)(JNIEnv); |
229 | 916 | 394 | jobject (NewDirectByteBuffer)(JNIEnv, void*, jlong); |
230 | 920 | 398 | void* (GetDirectBufferAddress)(JNIEnv, jobject); |
231 | 924 | 39C | jlong (GetDirectBufferCapacity)(JNIEnv, jobject); |
232 | 928 | 3A0 | jobjectRefType (GetObjectRefType)(JNIEnv, jobject); |