Max 5 API Reference
00001 #ifndef _JIT_JAVACFM_H_ 00002 #define _JIT_JAVACFM_H_ 00003 00004 #include "jni_cfm.h" 00005 00006 typedef struct _cfm_jni { 00007 /* 00008 void *reserved0; 00009 void *reserved1; 00010 void *reserved2; 00011 00012 void *reserved3; 00013 */ 00014 00015 jint (JNICALL *GetVersion)(JNIEnv *env); 00016 00017 jclass (JNICALL *DefineClass) 00018 (JNIEnv *env, const char *name, jobject loader, const jbyte *buf, 00019 jsize len); 00020 jclass (JNICALL *FindClass) 00021 (JNIEnv *env, const char *name); 00022 00023 jmethodID (JNICALL *FromReflectedMethod) 00024 (JNIEnv *env, jobject method); 00025 jfieldID (JNICALL *FromReflectedField) 00026 (JNIEnv *env, jobject field); 00027 00028 jobject (JNICALL *ToReflectedMethod) 00029 (JNIEnv *env, jclass cls, jmethodID methodID, jboolean isStatic); 00030 00031 jclass (JNICALL *GetSuperclass) 00032 (JNIEnv *env, jclass sub); 00033 jboolean (JNICALL *IsAssignableFrom) 00034 (JNIEnv *env, jclass sub, jclass sup); 00035 00036 jobject (JNICALL *ToReflectedField) 00037 (JNIEnv *env, jclass cls, jfieldID fieldID, jboolean isStatic); 00038 00039 jint (JNICALL *Throw) 00040 (JNIEnv *env, jthrowable obj); 00041 jint (JNICALL *ThrowNew) 00042 (JNIEnv *env, jclass clazz, const char *msg); 00043 jthrowable (JNICALL *ExceptionOccurred) 00044 (JNIEnv *env); 00045 void (JNICALL *ExceptionDescribe) 00046 (JNIEnv *env); 00047 void (JNICALL *ExceptionClear) 00048 (JNIEnv *env); 00049 void (JNICALL *FatalError) 00050 (JNIEnv *env, const char *msg); 00051 00052 jint (JNICALL *PushLocalFrame) 00053 (JNIEnv *env, jint capacity); 00054 jobject (JNICALL *PopLocalFrame) 00055 (JNIEnv *env, jobject result); 00056 00057 jobject (JNICALL *NewGlobalRef) 00058 (JNIEnv *env, jobject lobj); 00059 void (JNICALL *DeleteGlobalRef) 00060 (JNIEnv *env, jobject gref); 00061 void (JNICALL *DeleteLocalRef) 00062 (JNIEnv *env, jobject obj); 00063 jboolean (JNICALL *IsSameObject) 00064 (JNIEnv *env, jobject obj1, jobject obj2); 00065 jobject (JNICALL *NewLocalRef) 00066 (JNIEnv *env, jobject ref); 00067 jint (JNICALL *EnsureLocalCapacity) 00068 (JNIEnv *env, jint capacity); 00069 00070 jobject (JNICALL *AllocObject) 00071 (JNIEnv *env, jclass clazz); 00072 jobject (JNICALL *NewObject) 00073 (JNIEnv *env, jclass clazz, jmethodID methodID, ...); 00074 jobject (JNICALL *NewObjectV) 00075 (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); 00076 jobject (JNICALL *NewObjectA) 00077 (JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args); 00078 00079 jclass (JNICALL *GetObjectClass) 00080 (JNIEnv *env, jobject obj); 00081 jboolean (JNICALL *IsInstanceOf) 00082 (JNIEnv *env, jobject obj, jclass clazz); 00083 00084 jmethodID (JNICALL *GetMethodID) 00085 (JNIEnv *env, jclass clazz, const char *name, const char *sig); 00086 00087 jobject (JNICALL *CallObjectMethod) 00088 (JNIEnv *env, jobject obj, jmethodID methodID, ...); 00089 jobject (JNICALL *CallObjectMethodV) 00090 (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); 00091 jobject (JNICALL *CallObjectMethodA) 00092 (JNIEnv *env, jobject obj, jmethodID methodID, jvalue * args); 00093 00094 jboolean (JNICALL *CallBooleanMethod) 00095 (JNIEnv *env, jobject obj, jmethodID methodID, ...); 00096 jboolean (JNICALL *CallBooleanMethodV) 00097 (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); 00098 jboolean (JNICALL *CallBooleanMethodA) 00099 (JNIEnv *env, jobject obj, jmethodID methodID, jvalue * args); 00100 00101 jbyte (JNICALL *CallByteMethod) 00102 (JNIEnv *env, jobject obj, jmethodID methodID, ...); 00103 jbyte (JNICALL *CallByteMethodV) 00104 (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); 00105 jbyte (JNICALL *CallByteMethodA) 00106 (JNIEnv *env, jobject obj, jmethodID methodID, jvalue *args); 00107 00108 jchar (JNICALL *CallCharMethod) 00109 (JNIEnv *env, jobject obj, jmethodID methodID, ...); 00110 jchar (JNICALL *CallCharMethodV) 00111 (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); 00112 jchar (JNICALL *CallCharMethodA) 00113 (JNIEnv *env, jobject obj, jmethodID methodID, jvalue *args); 00114 00115 jshort (JNICALL *CallShortMethod) 00116 (JNIEnv *env, jobject obj, jmethodID methodID, ...); 00117 jshort (JNICALL *CallShortMethodV) 00118 (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); 00119 jshort (JNICALL *CallShortMethodA) 00120 (JNIEnv *env, jobject obj, jmethodID methodID, jvalue *args); 00121 00122 jint (JNICALL *CallIntMethod) 00123 (JNIEnv *env, jobject obj, jmethodID methodID, ...); 00124 jint (JNICALL *CallIntMethodV) 00125 (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); 00126 jint (JNICALL *CallIntMethodA) 00127 (JNIEnv *env, jobject obj, jmethodID methodID, jvalue *args); 00128 00129 jlong (JNICALL *CallLongMethod) 00130 (JNIEnv *env, jobject obj, jmethodID methodID, ...); 00131 jlong (JNICALL *CallLongMethodV) 00132 (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); 00133 jlong (JNICALL *CallLongMethodA) 00134 (JNIEnv *env, jobject obj, jmethodID methodID, jvalue *args); 00135 00136 jfloat (JNICALL *CallFloatMethod) 00137 (JNIEnv *env, jobject obj, jmethodID methodID, ...); 00138 jfloat (JNICALL *CallFloatMethodV) 00139 (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); 00140 jfloat (JNICALL *CallFloatMethodA) 00141 (JNIEnv *env, jobject obj, jmethodID methodID, jvalue *args); 00142 00143 jdouble (JNICALL *CallDoubleMethod) 00144 (JNIEnv *env, jobject obj, jmethodID methodID, ...); 00145 jdouble (JNICALL *CallDoubleMethodV) 00146 (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); 00147 jdouble (JNICALL *CallDoubleMethodA) 00148 (JNIEnv *env, jobject obj, jmethodID methodID, jvalue *args); 00149 00150 void (JNICALL *CallVoidMethod) 00151 (JNIEnv *env, jobject obj, jmethodID methodID, ...); 00152 void (JNICALL *CallVoidMethodV) 00153 (JNIEnv *env, jobject obj, jmethodID methodID, va_list args); 00154 void (JNICALL *CallVoidMethodA) 00155 (JNIEnv *env, jobject obj, jmethodID methodID, jvalue * args); 00156 00157 jobject (JNICALL *CallNonvirtualObjectMethod) 00158 (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); 00159 jobject (JNICALL *CallNonvirtualObjectMethodV) 00160 (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, 00161 va_list args); 00162 jobject (JNICALL *CallNonvirtualObjectMethodA) 00163 (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, 00164 jvalue * args); 00165 00166 jboolean (JNICALL *CallNonvirtualBooleanMethod) 00167 (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); 00168 jboolean (JNICALL *CallNonvirtualBooleanMethodV) 00169 (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, 00170 va_list args); 00171 jboolean (JNICALL *CallNonvirtualBooleanMethodA) 00172 (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, 00173 jvalue * args); 00174 00175 jbyte (JNICALL *CallNonvirtualByteMethod) 00176 (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); 00177 jbyte (JNICALL *CallNonvirtualByteMethodV) 00178 (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, 00179 va_list args); 00180 jbyte (JNICALL *CallNonvirtualByteMethodA) 00181 (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, 00182 jvalue *args); 00183 00184 jchar (JNICALL *CallNonvirtualCharMethod) 00185 (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); 00186 jchar (JNICALL *CallNonvirtualCharMethodV) 00187 (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, 00188 va_list args); 00189 jchar (JNICALL *CallNonvirtualCharMethodA) 00190 (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, 00191 jvalue *args); 00192 00193 jshort (JNICALL *CallNonvirtualShortMethod) 00194 (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); 00195 jshort (JNICALL *CallNonvirtualShortMethodV) 00196 (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, 00197 va_list args); 00198 jshort (JNICALL *CallNonvirtualShortMethodA) 00199 (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, 00200 jvalue *args); 00201 00202 jint (JNICALL *CallNonvirtualIntMethod) 00203 (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); 00204 jint (JNICALL *CallNonvirtualIntMethodV) 00205 (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, 00206 va_list args); 00207 jint (JNICALL *CallNonvirtualIntMethodA) 00208 (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, 00209 jvalue *args); 00210 00211 jlong (JNICALL *CallNonvirtualLongMethod) 00212 (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); 00213 jlong (JNICALL *CallNonvirtualLongMethodV) 00214 (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, 00215 va_list args); 00216 jlong (JNICALL *CallNonvirtualLongMethodA) 00217 (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, 00218 jvalue *args); 00219 00220 jfloat (JNICALL *CallNonvirtualFloatMethod) 00221 (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); 00222 jfloat (JNICALL *CallNonvirtualFloatMethodV) 00223 (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, 00224 va_list args); 00225 jfloat (JNICALL *CallNonvirtualFloatMethodA) 00226 (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, 00227 jvalue *args); 00228 00229 jdouble (JNICALL *CallNonvirtualDoubleMethod) 00230 (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); 00231 jdouble (JNICALL *CallNonvirtualDoubleMethodV) 00232 (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, 00233 va_list args); 00234 jdouble (JNICALL *CallNonvirtualDoubleMethodA) 00235 (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, 00236 jvalue *args); 00237 00238 void (JNICALL *CallNonvirtualVoidMethod) 00239 (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, ...); 00240 void (JNICALL *CallNonvirtualVoidMethodV) 00241 (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, 00242 va_list args); 00243 void (JNICALL *CallNonvirtualVoidMethodA) 00244 (JNIEnv *env, jobject obj, jclass clazz, jmethodID methodID, 00245 jvalue * args); 00246 00247 jfieldID (JNICALL *GetFieldID) 00248 (JNIEnv *env, jclass clazz, const char *name, const char *sig); 00249 00250 jobject (JNICALL *GetObjectField) 00251 (JNIEnv *env, jobject obj, jfieldID fieldID); 00252 jboolean (JNICALL *GetBooleanField) 00253 (JNIEnv *env, jobject obj, jfieldID fieldID); 00254 jbyte (JNICALL *GetByteField) 00255 (JNIEnv *env, jobject obj, jfieldID fieldID); 00256 jchar (JNICALL *GetCharField) 00257 (JNIEnv *env, jobject obj, jfieldID fieldID); 00258 jshort (JNICALL *GetShortField) 00259 (JNIEnv *env, jobject obj, jfieldID fieldID); 00260 jint (JNICALL *GetIntField) 00261 (JNIEnv *env, jobject obj, jfieldID fieldID); 00262 jlong (JNICALL *GetLongField) 00263 (JNIEnv *env, jobject obj, jfieldID fieldID); 00264 jfloat (JNICALL *GetFloatField) 00265 (JNIEnv *env, jobject obj, jfieldID fieldID); 00266 jdouble (JNICALL *GetDoubleField) 00267 (JNIEnv *env, jobject obj, jfieldID fieldID); 00268 00269 void (JNICALL *SetObjectField) 00270 (JNIEnv *env, jobject obj, jfieldID fieldID, jobject val); 00271 void (JNICALL *SetBooleanField) 00272 (JNIEnv *env, jobject obj, jfieldID fieldID, jboolean val); 00273 void (JNICALL *SetByteField) 00274 (JNIEnv *env, jobject obj, jfieldID fieldID, jbyte val); 00275 void (JNICALL *SetCharField) 00276 (JNIEnv *env, jobject obj, jfieldID fieldID, jchar val); 00277 void (JNICALL *SetShortField) 00278 (JNIEnv *env, jobject obj, jfieldID fieldID, jshort val); 00279 void (JNICALL *SetIntField) 00280 (JNIEnv *env, jobject obj, jfieldID fieldID, jint val); 00281 void (JNICALL *SetLongField) 00282 (JNIEnv *env, jobject obj, jfieldID fieldID, jlong val); 00283 void (JNICALL *SetFloatField) 00284 (JNIEnv *env, jobject obj, jfieldID fieldID, jfloat val); 00285 void (JNICALL *SetDoubleField) 00286 (JNIEnv *env, jobject obj, jfieldID fieldID, jdouble val); 00287 00288 jmethodID (JNICALL *GetStaticMethodID) 00289 (JNIEnv *env, jclass clazz, const char *name, const char *sig); 00290 00291 jobject (JNICALL *CallStaticObjectMethod) 00292 (JNIEnv *env, jclass clazz, jmethodID methodID, ...); 00293 jobject (JNICALL *CallStaticObjectMethodV) 00294 (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); 00295 jobject (JNICALL *CallStaticObjectMethodA) 00296 (JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args); 00297 00298 jboolean (JNICALL *CallStaticBooleanMethod) 00299 (JNIEnv *env, jclass clazz, jmethodID methodID, ...); 00300 jboolean (JNICALL *CallStaticBooleanMethodV) 00301 (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); 00302 jboolean (JNICALL *CallStaticBooleanMethodA) 00303 (JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args); 00304 00305 jbyte (JNICALL *CallStaticByteMethod) 00306 (JNIEnv *env, jclass clazz, jmethodID methodID, ...); 00307 jbyte (JNICALL *CallStaticByteMethodV) 00308 (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); 00309 jbyte (JNICALL *CallStaticByteMethodA) 00310 (JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args); 00311 00312 jchar (JNICALL *CallStaticCharMethod) 00313 (JNIEnv *env, jclass clazz, jmethodID methodID, ...); 00314 jchar (JNICALL *CallStaticCharMethodV) 00315 (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); 00316 jchar (JNICALL *CallStaticCharMethodA) 00317 (JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args); 00318 00319 jshort (JNICALL *CallStaticShortMethod) 00320 (JNIEnv *env, jclass clazz, jmethodID methodID, ...); 00321 jshort (JNICALL *CallStaticShortMethodV) 00322 (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); 00323 jshort (JNICALL *CallStaticShortMethodA) 00324 (JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args); 00325 00326 jint (JNICALL *CallStaticIntMethod) 00327 (JNIEnv *env, jclass clazz, jmethodID methodID, ...); 00328 jint (JNICALL *CallStaticIntMethodV) 00329 (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); 00330 jint (JNICALL *CallStaticIntMethodA) 00331 (JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args); 00332 00333 jlong (JNICALL *CallStaticLongMethod) 00334 (JNIEnv *env, jclass clazz, jmethodID methodID, ...); 00335 jlong (JNICALL *CallStaticLongMethodV) 00336 (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); 00337 jlong (JNICALL *CallStaticLongMethodA) 00338 (JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args); 00339 00340 jfloat (JNICALL *CallStaticFloatMethod) 00341 (JNIEnv *env, jclass clazz, jmethodID methodID, ...); 00342 jfloat (JNICALL *CallStaticFloatMethodV) 00343 (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); 00344 jfloat (JNICALL *CallStaticFloatMethodA) 00345 (JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args); 00346 00347 jdouble (JNICALL *CallStaticDoubleMethod) 00348 (JNIEnv *env, jclass clazz, jmethodID methodID, ...); 00349 jdouble (JNICALL *CallStaticDoubleMethodV) 00350 (JNIEnv *env, jclass clazz, jmethodID methodID, va_list args); 00351 jdouble (JNICALL *CallStaticDoubleMethodA) 00352 (JNIEnv *env, jclass clazz, jmethodID methodID, jvalue *args); 00353 00354 void (JNICALL *CallStaticVoidMethod) 00355 (JNIEnv *env, jclass cls, jmethodID methodID, ...); 00356 void (JNICALL *CallStaticVoidMethodV) 00357 (JNIEnv *env, jclass cls, jmethodID methodID, va_list args); 00358 void (JNICALL *CallStaticVoidMethodA) 00359 (JNIEnv *env, jclass cls, jmethodID methodID, jvalue * args); 00360 00361 jfieldID (JNICALL *GetStaticFieldID) 00362 (JNIEnv *env, jclass clazz, const char *name, const char *sig); 00363 jobject (JNICALL *GetStaticObjectField) 00364 (JNIEnv *env, jclass clazz, jfieldID fieldID); 00365 jboolean (JNICALL *GetStaticBooleanField) 00366 (JNIEnv *env, jclass clazz, jfieldID fieldID); 00367 jbyte (JNICALL *GetStaticByteField) 00368 (JNIEnv *env, jclass clazz, jfieldID fieldID); 00369 jchar (JNICALL *GetStaticCharField) 00370 (JNIEnv *env, jclass clazz, jfieldID fieldID); 00371 jshort (JNICALL *GetStaticShortField) 00372 (JNIEnv *env, jclass clazz, jfieldID fieldID); 00373 jint (JNICALL *GetStaticIntField) 00374 (JNIEnv *env, jclass clazz, jfieldID fieldID); 00375 jlong (JNICALL *GetStaticLongField) 00376 (JNIEnv *env, jclass clazz, jfieldID fieldID); 00377 jfloat (JNICALL *GetStaticFloatField) 00378 (JNIEnv *env, jclass clazz, jfieldID fieldID); 00379 jdouble (JNICALL *GetStaticDoubleField) 00380 (JNIEnv *env, jclass clazz, jfieldID fieldID); 00381 00382 void (JNICALL *SetStaticObjectField) 00383 (JNIEnv *env, jclass clazz, jfieldID fieldID, jobject value); 00384 void (JNICALL *SetStaticBooleanField) 00385 (JNIEnv *env, jclass clazz, jfieldID fieldID, jboolean value); 00386 void (JNICALL *SetStaticByteField) 00387 (JNIEnv *env, jclass clazz, jfieldID fieldID, jbyte value); 00388 void (JNICALL *SetStaticCharField) 00389 (JNIEnv *env, jclass clazz, jfieldID fieldID, jchar value); 00390 void (JNICALL *SetStaticShortField) 00391 (JNIEnv *env, jclass clazz, jfieldID fieldID, jshort value); 00392 void (JNICALL *SetStaticIntField) 00393 (JNIEnv *env, jclass clazz, jfieldID fieldID, jint value); 00394 void (JNICALL *SetStaticLongField) 00395 (JNIEnv *env, jclass clazz, jfieldID fieldID, jlong value); 00396 void (JNICALL *SetStaticFloatField) 00397 (JNIEnv *env, jclass clazz, jfieldID fieldID, jfloat value); 00398 void (JNICALL *SetStaticDoubleField) 00399 (JNIEnv *env, jclass clazz, jfieldID fieldID, jdouble value); 00400 00401 jstring (JNICALL *NewString) 00402 (JNIEnv *env, const jchar *unicode, jsize len); 00403 jsize (JNICALL *GetStringLength) 00404 (JNIEnv *env, jstring str); 00405 const jchar *(JNICALL *GetStringChars) 00406 (JNIEnv *env, jstring str, jboolean *isCopy); 00407 void (JNICALL *ReleaseStringChars) 00408 (JNIEnv *env, jstring str, const jchar *chars); 00409 00410 jstring (JNICALL *NewStringUTF) 00411 (JNIEnv *env, const char *utf); 00412 jsize (JNICALL *GetStringUTFLength) 00413 (JNIEnv *env, jstring str); 00414 const char* (JNICALL *GetStringUTFChars) 00415 (JNIEnv *env, jstring str, jboolean *isCopy); 00416 void (JNICALL *ReleaseStringUTFChars) 00417 (JNIEnv *env, jstring str, const char* chars); 00418 00419 00420 jsize (JNICALL *GetArrayLength) 00421 (JNIEnv *env, jarray array); 00422 00423 jobjectArray (JNICALL *NewObjectArray) 00424 (JNIEnv *env, jsize len, jclass clazz, jobject init); 00425 jobject (JNICALL *GetObjectArrayElement) 00426 (JNIEnv *env, jobjectArray array, jsize index); 00427 void (JNICALL *SetObjectArrayElement) 00428 (JNIEnv *env, jobjectArray array, jsize index, jobject val); 00429 00430 jbooleanArray (JNICALL *NewBooleanArray) 00431 (JNIEnv *env, jsize len); 00432 jbyteArray (JNICALL *NewByteArray) 00433 (JNIEnv *env, jsize len); 00434 jcharArray (JNICALL *NewCharArray) 00435 (JNIEnv *env, jsize len); 00436 jshortArray (JNICALL *NewShortArray) 00437 (JNIEnv *env, jsize len); 00438 jintArray (JNICALL *NewIntArray) 00439 (JNIEnv *env, jsize len); 00440 jlongArray (JNICALL *NewLongArray) 00441 (JNIEnv *env, jsize len); 00442 jfloatArray (JNICALL *NewFloatArray) 00443 (JNIEnv *env, jsize len); 00444 jdoubleArray (JNICALL *NewDoubleArray) 00445 (JNIEnv *env, jsize len); 00446 00447 jboolean * (JNICALL *GetBooleanArrayElements) 00448 (JNIEnv *env, jbooleanArray array, jboolean *isCopy); 00449 jbyte * (JNICALL *GetByteArrayElements) 00450 (JNIEnv *env, jbyteArray array, jboolean *isCopy); 00451 jchar * (JNICALL *GetCharArrayElements) 00452 (JNIEnv *env, jcharArray array, jboolean *isCopy); 00453 jshort * (JNICALL *GetShortArrayElements) 00454 (JNIEnv *env, jshortArray array, jboolean *isCopy); 00455 jint * (JNICALL *GetIntArrayElements) 00456 (JNIEnv *env, jintArray array, jboolean *isCopy); 00457 jlong * (JNICALL *GetLongArrayElements) 00458 (JNIEnv *env, jlongArray array, jboolean *isCopy); 00459 jfloat * (JNICALL *GetFloatArrayElements) 00460 (JNIEnv *env, jfloatArray array, jboolean *isCopy); 00461 jdouble * (JNICALL *GetDoubleArrayElements) 00462 (JNIEnv *env, jdoubleArray array, jboolean *isCopy); 00463 00464 void (JNICALL *ReleaseBooleanArrayElements) 00465 (JNIEnv *env, jbooleanArray array, jboolean *elems, jint mode); 00466 void (JNICALL *ReleaseByteArrayElements) 00467 (JNIEnv *env, jbyteArray array, jbyte *elems, jint mode); 00468 void (JNICALL *ReleaseCharArrayElements) 00469 (JNIEnv *env, jcharArray array, jchar *elems, jint mode); 00470 void (JNICALL *ReleaseShortArrayElements) 00471 (JNIEnv *env, jshortArray array, jshort *elems, jint mode); 00472 void (JNICALL *ReleaseIntArrayElements) 00473 (JNIEnv *env, jintArray array, jint *elems, jint mode); 00474 void (JNICALL *ReleaseLongArrayElements) 00475 (JNIEnv *env, jlongArray array, jlong *elems, jint mode); 00476 void (JNICALL *ReleaseFloatArrayElements) 00477 (JNIEnv *env, jfloatArray array, jfloat *elems, jint mode); 00478 void (JNICALL *ReleaseDoubleArrayElements) 00479 (JNIEnv *env, jdoubleArray array, jdouble *elems, jint mode); 00480 00481 void (JNICALL *GetBooleanArrayRegion) 00482 (JNIEnv *env, jbooleanArray array, jsize start, jsize l, jboolean *buf); 00483 void (JNICALL *GetByteArrayRegion) 00484 (JNIEnv *env, jbyteArray array, jsize start, jsize len, jbyte *buf); 00485 void (JNICALL *GetCharArrayRegion) 00486 (JNIEnv *env, jcharArray array, jsize start, jsize len, jchar *buf); 00487 void (JNICALL *GetShortArrayRegion) 00488 (JNIEnv *env, jshortArray array, jsize start, jsize len, jshort *buf); 00489 void (JNICALL *GetIntArrayRegion) 00490 (JNIEnv *env, jintArray array, jsize start, jsize len, jint *buf); 00491 void (JNICALL *GetLongArrayRegion) 00492 (JNIEnv *env, jlongArray array, jsize start, jsize len, jlong *buf); 00493 void (JNICALL *GetFloatArrayRegion) 00494 (JNIEnv *env, jfloatArray array, jsize start, jsize len, jfloat *buf); 00495 void (JNICALL *GetDoubleArrayRegion) 00496 (JNIEnv *env, jdoubleArray array, jsize start, jsize len, jdouble *buf); 00497 00498 void (JNICALL *SetBooleanArrayRegion) 00499 (JNIEnv *env, jbooleanArray array, jsize start, jsize l, jboolean *buf); 00500 void (JNICALL *SetByteArrayRegion) 00501 (JNIEnv *env, jbyteArray array, jsize start, jsize len, jbyte *buf); 00502 void (JNICALL *SetCharArrayRegion) 00503 (JNIEnv *env, jcharArray array, jsize start, jsize len, jchar *buf); 00504 void (JNICALL *SetShortArrayRegion) 00505 (JNIEnv *env, jshortArray array, jsize start, jsize len, jshort *buf); 00506 void (JNICALL *SetIntArrayRegion) 00507 (JNIEnv *env, jintArray array, jsize start, jsize len, jint *buf); 00508 void (JNICALL *SetLongArrayRegion) 00509 (JNIEnv *env, jlongArray array, jsize start, jsize len, jlong *buf); 00510 void (JNICALL *SetFloatArrayRegion) 00511 (JNIEnv *env, jfloatArray array, jsize start, jsize len, jfloat *buf); 00512 void (JNICALL *SetDoubleArrayRegion) 00513 (JNIEnv *env, jdoubleArray array, jsize start, jsize len, jdouble *buf); 00514 00515 jint (JNICALL *RegisterNatives) 00516 (JNIEnv *env, jclass clazz, const JNINativeMethod *methods, 00517 jint nMethods); 00518 jint (JNICALL *UnregisterNatives) 00519 (JNIEnv *env, jclass clazz); 00520 00521 jint (JNICALL *MonitorEnter) 00522 (JNIEnv *env, jobject obj); 00523 jint (JNICALL *MonitorExit) 00524 (JNIEnv *env, jobject obj); 00525 00526 jint (JNICALL *GetJavaVM) 00527 (JNIEnv *env, JavaVM **vm); 00528 00529 void (JNICALL *GetStringRegion) 00530 (JNIEnv *env, jstring str, jsize start, jsize len, jchar *buf); 00531 void (JNICALL *GetStringUTFRegion) 00532 (JNIEnv *env, jstring str, jsize start, jsize len, char *buf); 00533 00534 void * (JNICALL *GetPrimitiveArrayCritical) 00535 (JNIEnv *env, jarray array, jboolean *isCopy); 00536 void (JNICALL *ReleasePrimitiveArrayCritical) 00537 (JNIEnv *env, jarray array, void *carray, jint mode); 00538 00539 const jchar * (JNICALL *GetStringCritical) 00540 (JNIEnv *env, jstring string, jboolean *isCopy); 00541 void (JNICALL *ReleaseStringCritical) 00542 (JNIEnv *env, jstring string, const jchar *cstring); 00543 00544 jweak (JNICALL *NewWeakGlobalRef) 00545 (JNIEnv *env, jobject obj); 00546 void (JNICALL *DeleteWeakGlobalRef) 00547 (JNIEnv *env, jweak ref); 00548 00549 jboolean (JNICALL *ExceptionCheck) 00550 (JNIEnv *env); 00551 00552 jobject (JNICALL *NewDirectByteBuffer) 00553 (JNIEnv* env, void* address, jlong capacity); 00554 00555 void* (JNICALL *GetDirectBufferAddress) 00556 (JNIEnv* env, jobject buf); 00557 00558 jlong (JNICALL *GetDirectBufferCapacity) 00559 (JNIEnv* env, jobject buf); 00560 00561 } t_cfm_jni_env; 00562 00563 typedef struct _cfm_invoke_interface_ { 00564 00565 jint (JNICALL *DestroyJavaVM)(JavaVM *vm); 00566 00567 jint (JNICALL *AttachCurrentThread)(JavaVM *vm, void **penv, void *args); 00568 00569 jint (JNICALL *DetachCurrentThread)(JavaVM *vm); 00570 00571 jint (JNICALL *GetEnv)(JavaVM *vm, void **penv, jint version); 00572 00573 jint (JNICALL *AttachCurrentThreadAsDaemon)(JavaVM *vm, void **penv, void *args); 00574 00575 }t_cfm_invoke_interface; 00576 00577 #endif /*_JIT_JAVACFM_H_*/
Copyright © 2008, Cycling '74