261 * Convenience thread-related calls on the java.lang.Object class. 262 */ 263 264 JNIEXPORT void JNICALL 265 JNU_MonitorWait(JNIEnv *env, jobject object, jlong timeout); 266 267 JNIEXPORT void JNICALL 268 JNU_Notify(JNIEnv *env, jobject object); 269 270 JNIEXPORT void JNICALL 271 JNU_NotifyAll(JNIEnv *env, jobject object); 272 273 274 /************************************************************************ 275 * Miscellaneous utilities used by the class libraries 276 */ 277 278 #define IS_NULL(obj) ((obj) == NULL) 279 #define JNU_IsNull(env,obj) ((obj) == NULL) 280 281 282 /************************************************************************ 283 * Debugging utilities 284 */ 285 286 JNIEXPORT void JNICALL 287 JNU_PrintString(JNIEnv *env, char *hdr, jstring string); 288 289 JNIEXPORT void JNICALL 290 JNU_PrintClass(JNIEnv *env, char *hdr, jobject object); 291 292 JNIEXPORT jstring JNICALL 293 JNU_ToString(JNIEnv *env, jobject object); 294 295 /* 296 * Package shorthand for use by native libraries 297 */ 298 #define JNU_JAVAPKG "java/lang/" 299 #define JNU_JAVAIOPKG "java/io/" 300 #define JNU_JAVANETPKG "java/net/" | 261 * Convenience thread-related calls on the java.lang.Object class. 262 */ 263 264 JNIEXPORT void JNICALL 265 JNU_MonitorWait(JNIEnv *env, jobject object, jlong timeout); 266 267 JNIEXPORT void JNICALL 268 JNU_Notify(JNIEnv *env, jobject object); 269 270 JNIEXPORT void JNICALL 271 JNU_NotifyAll(JNIEnv *env, jobject object); 272 273 274 /************************************************************************ 275 * Miscellaneous utilities used by the class libraries 276 */ 277 278 #define IS_NULL(obj) ((obj) == NULL) 279 #define JNU_IsNull(env,obj) ((obj) == NULL) 280 281 /************************************************************************ 282 * Miscellaneous utilities used by the class libraries to return from 283 * a function if a value is NULL or an exception is pending. 284 */ 285 286 #define CHECK_NULL(x) \ 287 do { \ 288 if ((x) == NULL) { \ 289 return; \ 290 } \ 291 } while (0) \ 292 293 #define CHECK_NULL_RETURN(x, y) \ 294 do { \ 295 if ((x) == NULL) { \ 296 return (y); \ 297 } \ 298 } while (0) \ 299 300 #define JNU_CHECK_EXCEPTION(env) \ 301 do { \ 302 if ((*env)->ExceptionCheck(env)) { \ 303 return; \ 304 } \ 305 } while (0) \ 306 307 #define JNU_CHECK_EXCEPTION_RETURN(env, y) \ 308 do { \ 309 if ((*env)->ExceptionCheck(env)) { \ 310 return (y); \ 311 } \ 312 } while (0) 313 314 /************************************************************************ 315 * Debugging utilities 316 */ 317 318 JNIEXPORT void JNICALL 319 JNU_PrintString(JNIEnv *env, char *hdr, jstring string); 320 321 JNIEXPORT void JNICALL 322 JNU_PrintClass(JNIEnv *env, char *hdr, jobject object); 323 324 JNIEXPORT jstring JNICALL 325 JNU_ToString(JNIEnv *env, jobject object); 326 327 /* 328 * Package shorthand for use by native libraries 329 */ 330 #define JNU_JAVAPKG "java/lang/" 331 #define JNU_JAVAIOPKG "java/io/" 332 #define JNU_JAVANETPKG "java/net/" |