372 JNIEXPORT jclass JNICALL 373 JVM_FindClassFromClass(JNIEnv *env, const char *name, jboolean init, 374 jclass from); 375 376 /* Find a loaded class cached by the VM */ 377 JNIEXPORT jclass JNICALL 378 JVM_FindLoadedClass(JNIEnv *env, jobject loader, jstring name); 379 380 /* Define a class */ 381 JNIEXPORT jclass JNICALL 382 JVM_DefineClass(JNIEnv *env, const char *name, jobject loader, const jbyte *buf, 383 jsize len, jobject pd); 384 385 /* Define a class with a source (added in JDK1.5) */ 386 JNIEXPORT jclass JNICALL 387 JVM_DefineClassWithSource(JNIEnv *env, const char *name, jobject loader, 388 const jbyte *buf, jsize len, jobject pd, 389 const char *source); 390 391 /* 392 * Module support funcions 393 */ 394 395 /* 396 * Define a module with the specified packages and bind the module to the 397 * given class loader. 398 * module: module to define 399 * is_open: specifies if module is open (currently ignored) 400 * version: the module version 401 * location: the module location 402 * packages: list of packages in the module 403 * num_packages: number of packages in the module 404 */ 405 JNIEXPORT void JNICALL 406 JVM_DefineModule(JNIEnv *env, jobject module, jboolean is_open, jstring version, 407 jstring location, const char* const* packages, jsize num_packages); 408 409 /* 410 * Set the boot loader's unnamed module. 411 * module: boot loader's unnamed module 457 JVM_GetClassInterfaces(JNIEnv *env, jclass cls); 458 459 JNIEXPORT jboolean JNICALL 460 JVM_IsInterface(JNIEnv *env, jclass cls); 461 462 JNIEXPORT jobjectArray JNICALL 463 JVM_GetClassSigners(JNIEnv *env, jclass cls); 464 465 JNIEXPORT void JNICALL 466 JVM_SetClassSigners(JNIEnv *env, jclass cls, jobjectArray signers); 467 468 JNIEXPORT jobject JNICALL 469 JVM_GetProtectionDomain(JNIEnv *env, jclass cls); 470 471 JNIEXPORT jboolean JNICALL 472 JVM_IsArrayClass(JNIEnv *env, jclass cls); 473 474 JNIEXPORT jboolean JNICALL 475 JVM_IsPrimitiveClass(JNIEnv *env, jclass cls); 476 477 JNIEXPORT jint JNICALL 478 JVM_GetClassModifiers(JNIEnv *env, jclass cls); 479 480 JNIEXPORT jobjectArray JNICALL 481 JVM_GetDeclaredClasses(JNIEnv *env, jclass ofClass); 482 483 JNIEXPORT jclass JNICALL 484 JVM_GetDeclaringClass(JNIEnv *env, jclass ofClass); 485 486 JNIEXPORT jstring JNICALL 487 JVM_GetSimpleBinaryName(JNIEnv *env, jclass ofClass); 488 489 /* Generics support (JDK 1.5) */ 490 JNIEXPORT jstring JNICALL 491 JVM_GetClassSignature(JNIEnv *env, jclass cls); 492 493 /* Annotations support (JDK 1.5) */ 494 JNIEXPORT jbyteArray JNICALL 495 JVM_GetClassAnnotations(JNIEnv *env, jclass cls); 496 | 372 JNIEXPORT jclass JNICALL 373 JVM_FindClassFromClass(JNIEnv *env, const char *name, jboolean init, 374 jclass from); 375 376 /* Find a loaded class cached by the VM */ 377 JNIEXPORT jclass JNICALL 378 JVM_FindLoadedClass(JNIEnv *env, jobject loader, jstring name); 379 380 /* Define a class */ 381 JNIEXPORT jclass JNICALL 382 JVM_DefineClass(JNIEnv *env, const char *name, jobject loader, const jbyte *buf, 383 jsize len, jobject pd); 384 385 /* Define a class with a source (added in JDK1.5) */ 386 JNIEXPORT jclass JNICALL 387 JVM_DefineClassWithSource(JNIEnv *env, const char *name, jobject loader, 388 const jbyte *buf, jsize len, jobject pd, 389 const char *source); 390 391 /* 392 * Define a class with the specified lookup class. 393 * lookup: Lookup class 394 * name: the name of the class 395 * loader: defining class loader 396 * buf: class bytes 397 * len: length of class bytes 398 * pd: protection domain 399 * init: initialize the class 400 * flags: properties of the class 401 * classData: private static pre-initialized field; may be null 402 */ 403 JNIEXPORT jclass JNICALL 404 JVM_LookupDefineClass(JNIEnv *env, jclass lookup, const char *name, jobject loader, 405 const jbyte *buf, jsize len, jobject pd, jboolean init, int flags, jobject classData); 406 407 /* 408 * Module support funcions 409 */ 410 411 /* 412 * Define a module with the specified packages and bind the module to the 413 * given class loader. 414 * module: module to define 415 * is_open: specifies if module is open (currently ignored) 416 * version: the module version 417 * location: the module location 418 * packages: list of packages in the module 419 * num_packages: number of packages in the module 420 */ 421 JNIEXPORT void JNICALL 422 JVM_DefineModule(JNIEnv *env, jobject module, jboolean is_open, jstring version, 423 jstring location, const char* const* packages, jsize num_packages); 424 425 /* 426 * Set the boot loader's unnamed module. 427 * module: boot loader's unnamed module 473 JVM_GetClassInterfaces(JNIEnv *env, jclass cls); 474 475 JNIEXPORT jboolean JNICALL 476 JVM_IsInterface(JNIEnv *env, jclass cls); 477 478 JNIEXPORT jobjectArray JNICALL 479 JVM_GetClassSigners(JNIEnv *env, jclass cls); 480 481 JNIEXPORT void JNICALL 482 JVM_SetClassSigners(JNIEnv *env, jclass cls, jobjectArray signers); 483 484 JNIEXPORT jobject JNICALL 485 JVM_GetProtectionDomain(JNIEnv *env, jclass cls); 486 487 JNIEXPORT jboolean JNICALL 488 JVM_IsArrayClass(JNIEnv *env, jclass cls); 489 490 JNIEXPORT jboolean JNICALL 491 JVM_IsPrimitiveClass(JNIEnv *env, jclass cls); 492 493 JNIEXPORT jboolean JNICALL 494 JVM_IsHiddenClass(JNIEnv *env, jclass cls); 495 496 JNIEXPORT jint JNICALL 497 JVM_GetClassModifiers(JNIEnv *env, jclass cls); 498 499 JNIEXPORT jobjectArray JNICALL 500 JVM_GetDeclaredClasses(JNIEnv *env, jclass ofClass); 501 502 JNIEXPORT jclass JNICALL 503 JVM_GetDeclaringClass(JNIEnv *env, jclass ofClass); 504 505 JNIEXPORT jstring JNICALL 506 JVM_GetSimpleBinaryName(JNIEnv *env, jclass ofClass); 507 508 /* Generics support (JDK 1.5) */ 509 JNIEXPORT jstring JNICALL 510 JVM_GetClassSignature(JNIEnv *env, jclass cls); 511 512 /* Annotations support (JDK 1.5) */ 513 JNIEXPORT jbyteArray JNICALL 514 JVM_GetClassAnnotations(JNIEnv *env, jclass cls); 515 |