2362N/A * or visit www.oracle.com if you need additional information or have any
0N/A#ifndef _JAVA_JVMTI_H_
0N/A#ifdef __cplusplus
0N/Astruct jvmtiInterface_1_;
0N/A#ifdef __cplusplus
0N/Astruct _jrawMonitorID;
0N/A JVMTI_JAVA_LANG_THREAD_STATE_MASK = JVMTI_THREAD_STATE_TERMINATED | JVMTI_THREAD_STATE_ALIVE | JVMTI_THREAD_STATE_RUNNABLE | JVMTI_THREAD_STATE_BLOCKED_ON_MONITOR_ENTER | JVMTI_THREAD_STATE_WAITING | JVMTI_THREAD_STATE_WAITING_INDEFINITELY | JVMTI_THREAD_STATE_WAITING_WITH_TIMEOUT,
0N/A JVMTI_JAVA_LANG_THREAD_STATE_RUNNABLE = JVMTI_THREAD_STATE_ALIVE | JVMTI_THREAD_STATE_RUNNABLE,
0N/A JVMTI_JAVA_LANG_THREAD_STATE_BLOCKED = JVMTI_THREAD_STATE_ALIVE | JVMTI_THREAD_STATE_BLOCKED_ON_MONITOR_ENTER,
0N/A JVMTI_JAVA_LANG_THREAD_STATE_WAITING = JVMTI_THREAD_STATE_ALIVE | JVMTI_THREAD_STATE_WAITING | JVMTI_THREAD_STATE_WAITING_INDEFINITELY,
0N/A JVMTI_JAVA_LANG_THREAD_STATE_TIMED_WAITING = JVMTI_THREAD_STATE_ALIVE | JVMTI_THREAD_STATE_WAITING | JVMTI_THREAD_STATE_WAITING_WITH_TIMEOUT
0N/Astruct _jvmtiThreadInfo;
0N/Astruct _jvmtiMonitorStackDepthInfo;
0N/Astruct _jvmtiThreadGroupInfo;
0N/Astruct _jvmtiFrameInfo;
0N/Astruct _jvmtiStackInfo;
0N/Astruct _jvmtiHeapReferenceInfoField;
0N/Astruct _jvmtiHeapReferenceInfoArray;
0N/Aunion _jvmtiHeapReferenceInfo;
0N/Astruct _jvmtiHeapCallbacks;
0N/Astruct _jvmtiClassDefinition;
0N/Astruct _jvmtiMonitorUsage;
0N/Astruct _jvmtiLineNumberEntry;
0N/Astruct _jvmtiLocalVariableEntry;
0N/Astruct _jvmtiParamInfo;
0N/Astruct _jvmtiExtensionFunctionInfo;
0N/Astruct _jvmtiExtensionEventInfo;
0N/Astruct _jvmtiTimerInfo;
0N/Astruct _jvmtiAddrLocationMap;
0N/A (jvmtiHeapReferenceKind reference_kind, const jvmtiHeapReferenceInfo* reference_info, jlong class_tag, jlong referrer_class_tag, jlong size, jlong* tag_ptr, jlong* referrer_tag_ptr, jint length, void* user_data);
0N/A (jvmtiHeapReferenceKind kind, const jvmtiHeapReferenceInfo* info, jlong object_class_tag, jlong* object_tag_ptr, jvalue value, jvmtiPrimitiveType value_type, void* user_data);
0N/A (jlong class_tag, jlong size, jlong* tag_ptr, jint element_count, jvmtiPrimitiveType element_type, const void* elements, void* user_data);
0N/A (jlong class_tag, jlong size, jlong* tag_ptr, const jchar* value, jint value_length, void* user_data);
0N/A (jvmtiHeapRootKind root_kind, jlong class_tag, jlong size, jlong* tag_ptr, jlong thread_tag, jint depth, jmethodID method, jint slot, void* user_data);
0N/A (jvmtiObjectReferenceKind reference_kind, jlong class_tag, jlong size, jlong* tag_ptr, jlong referrer_tag, jint referrer_index, void* user_data);
0N/A const unsigned char* class_data,
0N/A unsigned char** new_class_data);
0N/A const void* compile_info);
0N/A char signature_type,
0N/A void** new_address_ptr);
0N/A const char* description);
0N/A char** signature_ptr,
0N/A char** generic_ptr);
0N/A char** source_name_ptr);
0N/A char** signature_ptr,
0N/A char** generic_ptr);
0N/A char** signature_ptr,
0N/A char** generic_ptr);
0N/A unsigned char** bytecodes_ptr);
0N/A char** source_debug_extension_ptr);
0N/A char*** property_ptr);
0N/A unsigned char** constant_pool_bytes_ptr);
0N/A#ifdef __cplusplus
0N/A return functions->GetOwnedMonitorInfo(this, thread, owned_monitor_count_ptr, owned_monitors_ptr);
0N/A return functions->GetOwnedMonitorStackDepthInfo(this, thread, monitor_info_count_ptr, monitor_info_ptr);
0N/A return functions->GetThreadGroupChildren(this, group, thread_count_ptr, threads_ptr, group_count_ptr, groups_ptr);
0N/A return functions->GetStackTrace(this, thread, start_depth, max_frame_count, frame_buffer, count_ptr);
0N/A return functions->GetThreadListStackTraces(this, thread_count, thread_list, max_frame_count, stack_info_ptr);
0N/A return functions->FollowReferences(this, heap_filter, klass, initial_object, callbacks, user_data);
0N/A return functions->GetObjectsWithTags(this, tag_count, tags, count_ptr, object_result_ptr, tag_result_ptr);
0N/A return functions->IterateOverObjectsReachableFromObject(this, object, object_reference_callback, user_data);
0N/A return functions->IterateOverReachableObjects(this, heap_root_callback, stack_ref_callback, object_ref_callback, user_data);
0N/A return functions->IterateOverInstancesOfClass(this, klass, object_filter, heap_object_callback, user_data);
0N/A return functions->GetClassLoaderClasses(this, initiating_loader, class_count_ptr, classes_ptr);
0N/A char** signature_ptr,
0N/A char** generic_ptr) {
0N/A char** source_name_ptr) {
0N/A unsigned char** constant_pool_bytes_ptr) {
0N/A return functions->GetConstantPool(this, klass, constant_pool_count_ptr, constant_pool_byte_count_ptr, constant_pool_bytes_ptr);
0N/A char** source_debug_extension_ptr) {
0N/A char** signature_ptr,
0N/A char** generic_ptr) {
0N/A char** signature_ptr,
0N/A char** generic_ptr) {
0N/A unsigned char** bytecodes_ptr) {
0N/A char*** property_ptr) {
0N/A#ifdef __cplusplus