46 *
47 * Second, this file contains the functions and constant definitions
48 * needed by the byte code verifier and class file format checker.
49 * These functions allow the verifier and format checker to be written
50 * in a VM-independent way.
51 *
52 * Third, this file contains various I/O and nerwork operations needed
53 * by the standard Java I/O and network APIs.
54 */
55
56 /*
57 * Bump the version number when either of the following happens:
58 *
59 * 1. There is a change in JVM_* functions.
60 *
61 * 2. There is a change in the contract between VM and Java classes.
62 * For example, if the VM relies on a new private field in Thread
63 * class.
64 */
65
66 #define JVM_INTERFACE_VERSION 4
67
68 JNIEXPORT jint JNICALL
69 JVM_GetInterfaceVersion(void);
70
71 /*************************************************************************
72 PART 1: Functions for Native Libraries
73 ************************************************************************/
74 /*
75 * java.lang.Object
76 */
77 JNIEXPORT jint JNICALL
78 JVM_IHashCode(JNIEnv *env, jobject obj);
79
80 JNIEXPORT void JNICALL
81 JVM_MonitorWait(JNIEnv *env, jobject obj, jlong ms);
82
83 JNIEXPORT void JNICALL
84 JVM_MonitorNotify(JNIEnv *env, jobject obj);
85
86 JNIEXPORT void JNICALL
466 (JNIEnv *env, jobject unused, jobject jcpool, jint index);
467
468 JNIEXPORT jclass JNICALL JVM_ConstantPoolGetClassAtIfLoaded
469 (JNIEnv *env, jobject unused, jobject jcpool, jint index);
470
471 JNIEXPORT jobject JNICALL JVM_ConstantPoolGetMethodAt
472 (JNIEnv *env, jobject unused, jobject jcpool, jint index);
473
474 JNIEXPORT jobject JNICALL JVM_ConstantPoolGetMethodAtIfLoaded
475 (JNIEnv *env, jobject unused, jobject jcpool, jint index);
476
477 JNIEXPORT jobject JNICALL JVM_ConstantPoolGetFieldAt
478 (JNIEnv *env, jobject unused, jobject jcpool, jint index);
479
480 JNIEXPORT jobject JNICALL JVM_ConstantPoolGetFieldAtIfLoaded
481 (JNIEnv *env, jobject unused, jobject jcpool, jint index);
482
483 JNIEXPORT jobjectArray JNICALL JVM_ConstantPoolGetMemberRefInfoAt
484 (JNIEnv *env, jobject unused, jobject jcpool, jint index);
485
486 JNIEXPORT jint JNICALL JVM_ConstantPoolGetIntAt
487 (JNIEnv *env, jobject unused, jobject jcpool, jint index);
488
489 JNIEXPORT jlong JNICALL JVM_ConstantPoolGetLongAt
490 (JNIEnv *env, jobject unused, jobject jcpool, jint index);
491
492 JNIEXPORT jfloat JNICALL JVM_ConstantPoolGetFloatAt
493 (JNIEnv *env, jobject unused, jobject jcpool, jint index);
494
495 JNIEXPORT jdouble JNICALL JVM_ConstantPoolGetDoubleAt
496 (JNIEnv *env, jobject unused, jobject jcpool, jint index);
497
498 JNIEXPORT jstring JNICALL JVM_ConstantPoolGetStringAt
499 (JNIEnv *env, jobject unused, jobject jcpool, jint index);
500
501 JNIEXPORT jstring JNICALL JVM_ConstantPoolGetUTF8At
502 (JNIEnv *env, jobject unused, jobject jcpool, jint index);
503
504 /*
505 * Parameter reflection
506 */
507
508 JNIEXPORT jobjectArray JNICALL
509 JVM_GetMethodParameters(JNIEnv *env, jobject method);
510
511 /*
512 * java.security.*
513 */
514
515 JNIEXPORT jobject JNICALL
516 JVM_DoPrivileged(JNIEnv *env, jclass cls,
517 jobject action, jobject context, jboolean wrapException);
518
519 JNIEXPORT jobject JNICALL
520 JVM_GetInheritedAccessControlContext(JNIEnv *env, jclass cls);
521
|
46 *
47 * Second, this file contains the functions and constant definitions
48 * needed by the byte code verifier and class file format checker.
49 * These functions allow the verifier and format checker to be written
50 * in a VM-independent way.
51 *
52 * Third, this file contains various I/O and nerwork operations needed
53 * by the standard Java I/O and network APIs.
54 */
55
56 /*
57 * Bump the version number when either of the following happens:
58 *
59 * 1. There is a change in JVM_* functions.
60 *
61 * 2. There is a change in the contract between VM and Java classes.
62 * For example, if the VM relies on a new private field in Thread
63 * class.
64 */
65
66 #define JVM_INTERFACE_VERSION 5
67
68 JNIEXPORT jint JNICALL
69 JVM_GetInterfaceVersion(void);
70
71 /*************************************************************************
72 PART 1: Functions for Native Libraries
73 ************************************************************************/
74 /*
75 * java.lang.Object
76 */
77 JNIEXPORT jint JNICALL
78 JVM_IHashCode(JNIEnv *env, jobject obj);
79
80 JNIEXPORT void JNICALL
81 JVM_MonitorWait(JNIEnv *env, jobject obj, jlong ms);
82
83 JNIEXPORT void JNICALL
84 JVM_MonitorNotify(JNIEnv *env, jobject obj);
85
86 JNIEXPORT void JNICALL
466 (JNIEnv *env, jobject unused, jobject jcpool, jint index);
467
468 JNIEXPORT jclass JNICALL JVM_ConstantPoolGetClassAtIfLoaded
469 (JNIEnv *env, jobject unused, jobject jcpool, jint index);
470
471 JNIEXPORT jobject JNICALL JVM_ConstantPoolGetMethodAt
472 (JNIEnv *env, jobject unused, jobject jcpool, jint index);
473
474 JNIEXPORT jobject JNICALL JVM_ConstantPoolGetMethodAtIfLoaded
475 (JNIEnv *env, jobject unused, jobject jcpool, jint index);
476
477 JNIEXPORT jobject JNICALL JVM_ConstantPoolGetFieldAt
478 (JNIEnv *env, jobject unused, jobject jcpool, jint index);
479
480 JNIEXPORT jobject JNICALL JVM_ConstantPoolGetFieldAtIfLoaded
481 (JNIEnv *env, jobject unused, jobject jcpool, jint index);
482
483 JNIEXPORT jobjectArray JNICALL JVM_ConstantPoolGetMemberRefInfoAt
484 (JNIEnv *env, jobject unused, jobject jcpool, jint index);
485
486 JNIEXPORT jobjectArray JNICALL JVM_ConstantPoolGetNameAndTypeRefInfoAt
487 (JNIEnv *env, jobject obj, jobject unused, jint index);
488
489 JNIEXPORT jobjectArray JNICALL JVM_ConstantPoolGetInvokedynamicRefInfoAt
490 (JNIEnv *env, jobject obj, jobject unused, jint index);
491
492 JNIEXPORT jint JNICALL JVM_ConstantPoolGetIntAt
493 (JNIEnv *env, jobject unused, jobject jcpool, jint index);
494
495 JNIEXPORT jlong JNICALL JVM_ConstantPoolGetLongAt
496 (JNIEnv *env, jobject unused, jobject jcpool, jint index);
497
498 JNIEXPORT jfloat JNICALL JVM_ConstantPoolGetFloatAt
499 (JNIEnv *env, jobject unused, jobject jcpool, jint index);
500
501 JNIEXPORT jdouble JNICALL JVM_ConstantPoolGetDoubleAt
502 (JNIEnv *env, jobject unused, jobject jcpool, jint index);
503
504 JNIEXPORT jstring JNICALL JVM_ConstantPoolGetStringAt
505 (JNIEnv *env, jobject unused, jobject jcpool, jint index);
506
507 JNIEXPORT jstring JNICALL JVM_ConstantPoolGetUTF8At
508 (JNIEnv *env, jobject unused, jobject jcpool, jint index);
509
510 JNIEXPORT jbyte JNICALL JVM_ConstantPoolGetTagAt
511 (JNIEnv *env, jobject unused, jobject jcpool, jint index);
512
513 /*
514 * Parameter reflection
515 */
516
517 JNIEXPORT jobjectArray JNICALL
518 JVM_GetMethodParameters(JNIEnv *env, jobject method);
519
520 /*
521 * java.security.*
522 */
523
524 JNIEXPORT jobject JNICALL
525 JVM_DoPrivileged(JNIEnv *env, jclass cls,
526 jobject action, jobject context, jboolean wrapException);
527
528 JNIEXPORT jobject JNICALL
529 JVM_GetInheritedAccessControlContext(JNIEnv *env, jclass cls);
530
|