BWAPI
Classes | Defines | Typedefs | Enumerations | Functions
EISBot/c_src/include/jni/jvmti.h File Reference
#include "jni.h"
Include dependency graph for jvmti.h:

Go to the source code of this file.

Classes

struct  _jvmtiThreadInfo
struct  _jvmtiMonitorStackDepthInfo
struct  _jvmtiThreadGroupInfo
struct  _jvmtiFrameInfo
struct  _jvmtiStackInfo
struct  _jvmtiHeapReferenceInfoField
struct  _jvmtiHeapReferenceInfoArray
struct  _jvmtiHeapReferenceInfoConstantPool
struct  _jvmtiHeapReferenceInfoStackLocal
struct  _jvmtiHeapReferenceInfoJniLocal
struct  _jvmtiHeapReferenceInfoReserved
union  _jvmtiHeapReferenceInfo
struct  _jvmtiHeapCallbacks
struct  _jvmtiClassDefinition
struct  _jvmtiMonitorUsage
struct  _jvmtiLineNumberEntry
struct  _jvmtiLocalVariableEntry
struct  _jvmtiParamInfo
struct  _jvmtiExtensionFunctionInfo
struct  _jvmtiExtensionEventInfo
struct  _jvmtiTimerInfo
struct  _jvmtiAddrLocationMap
struct  jvmtiCapabilities
struct  jvmtiEventCallbacks
struct  jvmtiInterface_1_
struct  _jvmtiEnv

Defines

#define _JAVA_JVMTI_H_

Typedefs

typedef struct jvmtiInterface_1_jvmtiEnv
typedef jobject jthread
typedef jobject jthreadGroup
typedef jlong jlocation
typedef struct _jrawMonitorID * jrawMonitorID
typedef struct JNINativeInterface_ jniNativeInterface
typedef struct _jvmtiThreadInfo jvmtiThreadInfo
typedef struct
_jvmtiMonitorStackDepthInfo 
jvmtiMonitorStackDepthInfo
typedef struct
_jvmtiThreadGroupInfo 
jvmtiThreadGroupInfo
typedef struct _jvmtiFrameInfo jvmtiFrameInfo
typedef struct _jvmtiStackInfo jvmtiStackInfo
typedef struct
_jvmtiHeapReferenceInfoField 
jvmtiHeapReferenceInfoField
typedef struct
_jvmtiHeapReferenceInfoArray 
jvmtiHeapReferenceInfoArray
typedef struct
_jvmtiHeapReferenceInfoConstantPool 
jvmtiHeapReferenceInfoConstantPool
typedef struct
_jvmtiHeapReferenceInfoStackLocal 
jvmtiHeapReferenceInfoStackLocal
typedef struct
_jvmtiHeapReferenceInfoJniLocal 
jvmtiHeapReferenceInfoJniLocal
typedef struct
_jvmtiHeapReferenceInfoReserved 
jvmtiHeapReferenceInfoReserved
typedef union
_jvmtiHeapReferenceInfo 
jvmtiHeapReferenceInfo
typedef struct _jvmtiHeapCallbacks jvmtiHeapCallbacks
typedef struct
_jvmtiClassDefinition 
jvmtiClassDefinition
typedef struct _jvmtiMonitorUsage jvmtiMonitorUsage
typedef struct
_jvmtiLineNumberEntry 
jvmtiLineNumberEntry
typedef struct
_jvmtiLocalVariableEntry 
jvmtiLocalVariableEntry
typedef struct _jvmtiParamInfo jvmtiParamInfo
typedef struct
_jvmtiExtensionFunctionInfo 
jvmtiExtensionFunctionInfo
typedef struct
_jvmtiExtensionEventInfo 
jvmtiExtensionEventInfo
typedef struct _jvmtiTimerInfo jvmtiTimerInfo
typedef struct
_jvmtiAddrLocationMap 
jvmtiAddrLocationMap
typedef JNIEnvjni_env
typedef JNIEnv voidarg
typedef jlong size
typedef jlong jlongtag_ptr
typedef jlong jlong jint length
typedef jlong jlong jint voiduser_data
typedef const
jvmtiHeapReferenceInfo
reference_info
typedef const
jvmtiHeapReferenceInfo jlong 
class_tag
typedef const
jvmtiHeapReferenceInfo jlong
jlong 
referrer_class_tag
typedef const
jvmtiHeapReferenceInfo jlong
jlong jlong jlong jlong
referrer_tag_ptr
typedef const
jvmtiHeapReferenceInfo
info
typedef const
jvmtiHeapReferenceInfo jlong 
object_class_tag
typedef const
jvmtiHeapReferenceInfo jlong
jlong
object_tag_ptr
typedef const
jvmtiHeapReferenceInfo jlong
jlong jvalue 
value
typedef const
jvmtiHeapReferenceInfo jlong
jlong jvalue
jvmtiPrimitiveType 
value_type
typedef jlong jlong jint element_count
typedef jlong jlong jint
jvmtiPrimitiveType 
element_type
typedef jlong jlong jint
jvmtiPrimitiveType const void
elements
typedef jlong jlong const
jchar jint 
value_length
typedef jlong jlong jlong jlong thread_tag
typedef jlong jlong jlong
jlong jint 
depth
typedef jlong jlong jlong
jlong jint jmethodID 
method
typedef jlong jlong jlong
jlong jint jmethodID jint 
slot
typedef jlong jlong jlong jlong referrer_tag
typedef jlong jlong jlong
jlong jint 
referrer_index
typedef typedef void (JNICALL *jvmtiExtensionEvent)(jvmtiEnv *jvmti_env
typedef void(JNICALLjvmtiEventReserved )(void)
typedef JNIEnv jthread thread
typedef JNIEnv jthread
jmethodID jlocation 
location
typedef JNIEnv jclass class_being_redefined
typedef JNIEnv jclass jobject loader
typedef JNIEnv jclass jobject
const char * 
name
typedef JNIEnv jclass jobject
const char jobject 
protection_domain
typedef JNIEnv jclass jobject
const char jobject jint 
class_data_len
typedef JNIEnv jclass jobject
const char jobject jint const
unsigned char * 
class_data
typedef JNIEnv jclass jobject
const char jobject jint const
unsigned char jint
new_class_data_len
typedef JNIEnv jclass jobject
const char jobject jint const
unsigned char jint unsigned
char ** 
new_class_data
typedef JNIEnv jthread jclass klass
typedef jmethodID jint code_size
typedef jmethodID jint const voidcode_addr
typedef jmethodID jint const
void jint 
map_length
typedef jmethodID jint const
void jint const
jvmtiAddrLocationMap
map
typedef jmethodID jint const
void jint const
jvmtiAddrLocationMap const
void
compile_info
typedef const char const voidaddress
typedef JNIEnv jthread
jmethodID jlocation jobject 
exception
typedef JNIEnv jthread
jmethodID jlocation jobject
jmethodID 
catch_method
typedef JNIEnv jthread
jmethodID jlocation jobject
jmethodID jlocation 
catch_location
typedef JNIEnv jthread
jmethodID jlocation jclass 
field_klass
typedef JNIEnv jthread
jmethodID jlocation jclass
jobject 
object
typedef JNIEnv jthread
jmethodID jlocation jclass
jobject jfieldID 
field
typedef JNIEnv jthread
jmethodID jlocation jclass
jobject jfieldID char 
signature_type
typedef JNIEnv jthread
jmethodID jlocation jclass
jobject jfieldID char jvalue 
new_value
typedef JNIEnv jthread
jmethodID jboolean 
was_popped_by_exception
typedef JNIEnv jthread
jmethodID jboolean jvalue 
return_value
typedef JNIEnv jthread jobject
jlong 
timeout
typedef JNIEnv jthread jobject
jboolean 
timed_out
typedef JNIEnv jthread
jmethodID void void ** 
new_address_ptr
typedef jlong tag
typedef JNIEnv jint flags
typedef JNIEnv jint const voidreserved
typedef JNIEnv jint const void
const char * 
description
typedef JNIEnv jthread jobject
jclass 
object_klass
typedef struct jvmtiInterface_1_ jvmtiInterface_1

Enumerations

enum  { JVMTI_VERSION_1 = 0x30010000, JVMTI_VERSION_1_0 = 0x30010000, JVMTI_VERSION_1_1 = 0x30010100, JVMTI_VERSION = 0x30000000 + (1 * 0x10000) + (1 * 0x100) + 102 }
enum  {
  JVMTI_THREAD_STATE_ALIVE = 0x0001, JVMTI_THREAD_STATE_TERMINATED = 0x0002, JVMTI_THREAD_STATE_RUNNABLE = 0x0004, JVMTI_THREAD_STATE_BLOCKED_ON_MONITOR_ENTER = 0x0400,
  JVMTI_THREAD_STATE_WAITING = 0x0080, JVMTI_THREAD_STATE_WAITING_INDEFINITELY = 0x0010, JVMTI_THREAD_STATE_WAITING_WITH_TIMEOUT = 0x0020, JVMTI_THREAD_STATE_SLEEPING = 0x0040,
  JVMTI_THREAD_STATE_IN_OBJECT_WAIT = 0x0100, JVMTI_THREAD_STATE_PARKED = 0x0200, JVMTI_THREAD_STATE_SUSPENDED = 0x100000, JVMTI_THREAD_STATE_INTERRUPTED = 0x200000,
  JVMTI_THREAD_STATE_IN_NATIVE = 0x400000, JVMTI_THREAD_STATE_VENDOR_1 = 0x10000000, JVMTI_THREAD_STATE_VENDOR_2 = 0x20000000, JVMTI_THREAD_STATE_VENDOR_3 = 0x40000000
}
enum  {
  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, JVMTI_JAVA_LANG_THREAD_STATE_NEW = 0, JVMTI_JAVA_LANG_THREAD_STATE_TERMINATED = JVMTI_THREAD_STATE_TERMINATED, JVMTI_JAVA_LANG_THREAD_STATE_RUNNABLE = JVMTI_THREAD_STATE_ALIVE | JVMTI_THREAD_STATE_RUNNABLE,
  JVMTI_JAVA_LANG_THREAD_STATE_BLOCKED = JVMTI_THREAD_STATE_ALIVE | JVMTI_THREAD_STATE_BLOCKED_ON_MONITOR_ENTER, JVMTI_JAVA_LANG_THREAD_STATE_WAITING = JVMTI_THREAD_STATE_ALIVE | JVMTI_THREAD_STATE_WAITING | JVMTI_THREAD_STATE_WAITING_INDEFINITELY, JVMTI_JAVA_LANG_THREAD_STATE_TIMED_WAITING = JVMTI_THREAD_STATE_ALIVE | JVMTI_THREAD_STATE_WAITING | JVMTI_THREAD_STATE_WAITING_WITH_TIMEOUT
}
enum  { JVMTI_THREAD_MIN_PRIORITY = 1, JVMTI_THREAD_NORM_PRIORITY = 5, JVMTI_THREAD_MAX_PRIORITY = 10 }
enum  { JVMTI_HEAP_FILTER_TAGGED = 0x4, JVMTI_HEAP_FILTER_UNTAGGED = 0x8, JVMTI_HEAP_FILTER_CLASS_TAGGED = 0x10, JVMTI_HEAP_FILTER_CLASS_UNTAGGED = 0x20 }
enum  { JVMTI_VISIT_OBJECTS = 0x100, JVMTI_VISIT_ABORT = 0x8000 }
enum  jvmtiHeapReferenceKind {
  JVMTI_HEAP_REFERENCE_CLASS = 1, JVMTI_HEAP_REFERENCE_FIELD = 2, JVMTI_HEAP_REFERENCE_ARRAY_ELEMENT = 3, JVMTI_HEAP_REFERENCE_CLASS_LOADER = 4,
  JVMTI_HEAP_REFERENCE_SIGNERS = 5, JVMTI_HEAP_REFERENCE_PROTECTION_DOMAIN = 6, JVMTI_HEAP_REFERENCE_INTERFACE = 7, JVMTI_HEAP_REFERENCE_STATIC_FIELD = 8,
  JVMTI_HEAP_REFERENCE_CONSTANT_POOL = 9, JVMTI_HEAP_REFERENCE_SUPERCLASS = 10, JVMTI_HEAP_REFERENCE_JNI_GLOBAL = 21, JVMTI_HEAP_REFERENCE_SYSTEM_CLASS = 22,
  JVMTI_HEAP_REFERENCE_MONITOR = 23, JVMTI_HEAP_REFERENCE_STACK_LOCAL = 24, JVMTI_HEAP_REFERENCE_JNI_LOCAL = 25, JVMTI_HEAP_REFERENCE_THREAD = 26,
  JVMTI_HEAP_REFERENCE_OTHER = 27
}
enum  jvmtiPrimitiveType {
  JVMTI_PRIMITIVE_TYPE_BOOLEAN = 90, JVMTI_PRIMITIVE_TYPE_BYTE = 66, JVMTI_PRIMITIVE_TYPE_CHAR = 67, JVMTI_PRIMITIVE_TYPE_SHORT = 83,
  JVMTI_PRIMITIVE_TYPE_INT = 73, JVMTI_PRIMITIVE_TYPE_LONG = 74, JVMTI_PRIMITIVE_TYPE_FLOAT = 70, JVMTI_PRIMITIVE_TYPE_DOUBLE = 68
}
enum  jvmtiHeapObjectFilter { JVMTI_HEAP_OBJECT_TAGGED = 1, JVMTI_HEAP_OBJECT_UNTAGGED = 2, JVMTI_HEAP_OBJECT_EITHER = 3 }
enum  jvmtiHeapRootKind {
  JVMTI_HEAP_ROOT_JNI_GLOBAL = 1, JVMTI_HEAP_ROOT_SYSTEM_CLASS = 2, JVMTI_HEAP_ROOT_MONITOR = 3, JVMTI_HEAP_ROOT_STACK_LOCAL = 4,
  JVMTI_HEAP_ROOT_JNI_LOCAL = 5, JVMTI_HEAP_ROOT_THREAD = 6, JVMTI_HEAP_ROOT_OTHER = 7
}
enum  jvmtiObjectReferenceKind {
  JVMTI_REFERENCE_CLASS = 1, JVMTI_REFERENCE_FIELD = 2, JVMTI_REFERENCE_ARRAY_ELEMENT = 3, JVMTI_REFERENCE_CLASS_LOADER = 4,
  JVMTI_REFERENCE_SIGNERS = 5, JVMTI_REFERENCE_PROTECTION_DOMAIN = 6, JVMTI_REFERENCE_INTERFACE = 7, JVMTI_REFERENCE_STATIC_FIELD = 8,
  JVMTI_REFERENCE_CONSTANT_POOL = 9
}
enum  jvmtiIterationControl { JVMTI_ITERATION_CONTINUE = 1, JVMTI_ITERATION_IGNORE = 2, JVMTI_ITERATION_ABORT = 0 }
enum  {
  JVMTI_CLASS_STATUS_VERIFIED = 1, JVMTI_CLASS_STATUS_PREPARED = 2, JVMTI_CLASS_STATUS_INITIALIZED = 4, JVMTI_CLASS_STATUS_ERROR = 8,
  JVMTI_CLASS_STATUS_ARRAY = 16, JVMTI_CLASS_STATUS_PRIMITIVE = 32
}
enum  jvmtiEventMode { JVMTI_ENABLE = 1, JVMTI_DISABLE = 0 }
enum  jvmtiParamTypes {
  JVMTI_TYPE_JBYTE = 101, JVMTI_TYPE_JCHAR = 102, JVMTI_TYPE_JSHORT = 103, JVMTI_TYPE_JINT = 104,
  JVMTI_TYPE_JLONG = 105, JVMTI_TYPE_JFLOAT = 106, JVMTI_TYPE_JDOUBLE = 107, JVMTI_TYPE_JBOOLEAN = 108,
  JVMTI_TYPE_JOBJECT = 109, JVMTI_TYPE_JTHREAD = 110, JVMTI_TYPE_JCLASS = 111, JVMTI_TYPE_JVALUE = 112,
  JVMTI_TYPE_JFIELDID = 113, JVMTI_TYPE_JMETHODID = 114, JVMTI_TYPE_CCHAR = 115, JVMTI_TYPE_CVOID = 116,
  JVMTI_TYPE_JNIENV = 117
}
enum  jvmtiParamKind {
  JVMTI_KIND_IN = 91, JVMTI_KIND_IN_PTR = 92, JVMTI_KIND_IN_BUF = 93, JVMTI_KIND_ALLOC_BUF = 94,
  JVMTI_KIND_ALLOC_ALLOC_BUF = 95, JVMTI_KIND_OUT = 96, JVMTI_KIND_OUT_BUF = 97
}
enum  jvmtiTimerKind { JVMTI_TIMER_USER_CPU = 30, JVMTI_TIMER_TOTAL_CPU = 31, JVMTI_TIMER_ELAPSED = 32 }
enum  jvmtiPhase {
  JVMTI_PHASE_ONLOAD = 1, JVMTI_PHASE_PRIMORDIAL = 2, JVMTI_PHASE_START = 6, JVMTI_PHASE_LIVE = 4,
  JVMTI_PHASE_DEAD = 8
}
enum  { JVMTI_VERSION_INTERFACE_JNI = 0x00000000, JVMTI_VERSION_INTERFACE_JVMTI = 0x30000000 }
enum  { JVMTI_VERSION_MASK_INTERFACE_TYPE = 0x70000000, JVMTI_VERSION_MASK_MAJOR = 0x0FFF0000, JVMTI_VERSION_MASK_MINOR = 0x0000FF00, JVMTI_VERSION_MASK_MICRO = 0x000000FF }
enum  { JVMTI_VERSION_SHIFT_MAJOR = 16, JVMTI_VERSION_SHIFT_MINOR = 8, JVMTI_VERSION_SHIFT_MICRO = 0 }
enum  jvmtiVerboseFlag { JVMTI_VERBOSE_OTHER = 0, JVMTI_VERBOSE_GC = 1, JVMTI_VERBOSE_CLASS = 2, JVMTI_VERBOSE_JNI = 4 }
enum  jvmtiJlocationFormat { JVMTI_JLOCATION_JVMBCI = 1, JVMTI_JLOCATION_MACHINEPC = 2, JVMTI_JLOCATION_OTHER = 0 }
enum  { JVMTI_RESOURCE_EXHAUSTED_OOM_ERROR = 0x0001, JVMTI_RESOURCE_EXHAUSTED_JAVA_HEAP = 0x0002, JVMTI_RESOURCE_EXHAUSTED_THREADS = 0x0004 }
enum  jvmtiError {
  JVMTI_ERROR_NONE = 0, JVMTI_ERROR_INVALID_THREAD = 10, JVMTI_ERROR_INVALID_THREAD_GROUP = 11, JVMTI_ERROR_INVALID_PRIORITY = 12,
  JVMTI_ERROR_THREAD_NOT_SUSPENDED = 13, JVMTI_ERROR_THREAD_SUSPENDED = 14, JVMTI_ERROR_THREAD_NOT_ALIVE = 15, JVMTI_ERROR_INVALID_OBJECT = 20,
  JVMTI_ERROR_INVALID_CLASS = 21, JVMTI_ERROR_CLASS_NOT_PREPARED = 22, JVMTI_ERROR_INVALID_METHODID = 23, JVMTI_ERROR_INVALID_LOCATION = 24,
  JVMTI_ERROR_INVALID_FIELDID = 25, JVMTI_ERROR_NO_MORE_FRAMES = 31, JVMTI_ERROR_OPAQUE_FRAME = 32, JVMTI_ERROR_TYPE_MISMATCH = 34,
  JVMTI_ERROR_INVALID_SLOT = 35, JVMTI_ERROR_DUPLICATE = 40, JVMTI_ERROR_NOT_FOUND = 41, JVMTI_ERROR_INVALID_MONITOR = 50,
  JVMTI_ERROR_NOT_MONITOR_OWNER = 51, JVMTI_ERROR_INTERRUPT = 52, JVMTI_ERROR_INVALID_CLASS_FORMAT = 60, JVMTI_ERROR_CIRCULAR_CLASS_DEFINITION = 61,
  JVMTI_ERROR_FAILS_VERIFICATION = 62, JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_ADDED = 63, JVMTI_ERROR_UNSUPPORTED_REDEFINITION_SCHEMA_CHANGED = 64, JVMTI_ERROR_INVALID_TYPESTATE = 65,
  JVMTI_ERROR_UNSUPPORTED_REDEFINITION_HIERARCHY_CHANGED = 66, JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_DELETED = 67, JVMTI_ERROR_UNSUPPORTED_VERSION = 68, JVMTI_ERROR_NAMES_DONT_MATCH = 69,
  JVMTI_ERROR_UNSUPPORTED_REDEFINITION_CLASS_MODIFIERS_CHANGED = 70, JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_MODIFIERS_CHANGED = 71, JVMTI_ERROR_UNMODIFIABLE_CLASS = 79, JVMTI_ERROR_NOT_AVAILABLE = 98,
  JVMTI_ERROR_MUST_POSSESS_CAPABILITY = 99, JVMTI_ERROR_NULL_POINTER = 100, JVMTI_ERROR_ABSENT_INFORMATION = 101, JVMTI_ERROR_INVALID_EVENT_TYPE = 102,
  JVMTI_ERROR_ILLEGAL_ARGUMENT = 103, JVMTI_ERROR_NATIVE_METHOD = 104, JVMTI_ERROR_CLASS_LOADER_UNSUPPORTED = 106, JVMTI_ERROR_OUT_OF_MEMORY = 110,
  JVMTI_ERROR_ACCESS_DENIED = 111, JVMTI_ERROR_WRONG_PHASE = 112, JVMTI_ERROR_INTERNAL = 113, JVMTI_ERROR_UNATTACHED_THREAD = 115,
  JVMTI_ERROR_INVALID_ENVIRONMENT = 116, JVMTI_ERROR_MAX = 116
}
enum  jvmtiEvent {
  JVMTI_MIN_EVENT_TYPE_VAL = 50, JVMTI_EVENT_VM_INIT = 50, JVMTI_EVENT_VM_DEATH = 51, JVMTI_EVENT_THREAD_START = 52,
  JVMTI_EVENT_THREAD_END = 53, JVMTI_EVENT_CLASS_FILE_LOAD_HOOK = 54, JVMTI_EVENT_CLASS_LOAD = 55, JVMTI_EVENT_CLASS_PREPARE = 56,
  JVMTI_EVENT_VM_START = 57, JVMTI_EVENT_EXCEPTION = 58, JVMTI_EVENT_EXCEPTION_CATCH = 59, JVMTI_EVENT_SINGLE_STEP = 60,
  JVMTI_EVENT_FRAME_POP = 61, JVMTI_EVENT_BREAKPOINT = 62, JVMTI_EVENT_FIELD_ACCESS = 63, JVMTI_EVENT_FIELD_MODIFICATION = 64,
  JVMTI_EVENT_METHOD_ENTRY = 65, JVMTI_EVENT_METHOD_EXIT = 66, JVMTI_EVENT_NATIVE_METHOD_BIND = 67, JVMTI_EVENT_COMPILED_METHOD_LOAD = 68,
  JVMTI_EVENT_COMPILED_METHOD_UNLOAD = 69, JVMTI_EVENT_DYNAMIC_CODE_GENERATED = 70, JVMTI_EVENT_DATA_DUMP_REQUEST = 71, JVMTI_EVENT_MONITOR_WAIT = 73,
  JVMTI_EVENT_MONITOR_WAITED = 74, JVMTI_EVENT_MONITOR_CONTENDED_ENTER = 75, JVMTI_EVENT_MONITOR_CONTENDED_ENTERED = 76, JVMTI_EVENT_RESOURCE_EXHAUSTED = 80,
  JVMTI_EVENT_GARBAGE_COLLECTION_START = 81, JVMTI_EVENT_GARBAGE_COLLECTION_FINISH = 82, JVMTI_EVENT_OBJECT_FREE = 83, JVMTI_EVENT_VM_OBJECT_ALLOC = 84,
  JVMTI_MAX_EVENT_TYPE_VAL = 84
}

Functions

JNIEXPORT jint JNICALL Agent_OnLoad (JavaVM *vm, char *options, void *reserved)
JNIEXPORT jint JNICALL Agent_OnAttach (JavaVM *vm, char *options, void *reserved)
JNIEXPORT void JNICALL Agent_OnUnload (JavaVM *vm)
typedef void (JNICALL *jvmtiStartFunction)(jvmtiEnv *jvmti_env
typedef jint (JNICALL *jvmtiHeapIterationCallback)(jlong class_tag
typedef jvmtiIterationControl (JNICALL *jvmtiHeapObjectCallback)(jlong class_tag
typedef jvmtiError (JNICALL *jvmtiExtensionFunction)(jvmtiEnv *jvmti_env

Define Documentation

#define _JAVA_JVMTI_H_

Typedef Documentation

typedef JNIEnv void* arg
typedef JNIEnv jclass jobject const char jobject jint const unsigned char* class_data
typedef jlong class_tag
typedef jmethodID const void * code_addr
typedef JNIEnv jint const void const char* description
typedef JNIEnv jint flags
typedef const jvmtiHeapReferenceInfo* info
typedef jlong jlocation
typedef JNIEnv * jni_env
typedef struct _jrawMonitorID* jrawMonitorID
typedef jobject jthread
typedef struct jvmtiInterface_1_* jvmtiEnv
typedef const char const void jint length
typedef const char * name
typedef JNIEnv jclass jobject const char jobject jint const unsigned char jint unsigned char** new_class_data
typedef JNIEnv jclass jobject const char jobject jint const unsigned char jint* new_class_data_len
typedef JNIEnv jint const void* reserved
typedef jlong tag
typedef jlong jlong jlong * tag_ptr
typedef jlong jlong const jchar * value
typedef void

Enumeration Type Documentation

anonymous enum
Enumerator:
JVMTI_THREAD_STATE_ALIVE 
JVMTI_THREAD_STATE_TERMINATED 
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 
JVMTI_THREAD_STATE_SLEEPING 
JVMTI_THREAD_STATE_IN_OBJECT_WAIT 
JVMTI_THREAD_STATE_PARKED 
JVMTI_THREAD_STATE_SUSPENDED 
JVMTI_THREAD_STATE_INTERRUPTED 
JVMTI_THREAD_STATE_IN_NATIVE 
JVMTI_THREAD_STATE_VENDOR_1 
JVMTI_THREAD_STATE_VENDOR_2 
JVMTI_THREAD_STATE_VENDOR_3 
anonymous enum
Enumerator:
JVMTI_JAVA_LANG_THREAD_STATE_MASK 
JVMTI_JAVA_LANG_THREAD_STATE_NEW 
JVMTI_JAVA_LANG_THREAD_STATE_TERMINATED 
JVMTI_JAVA_LANG_THREAD_STATE_RUNNABLE 
JVMTI_JAVA_LANG_THREAD_STATE_BLOCKED 
JVMTI_JAVA_LANG_THREAD_STATE_WAITING 
JVMTI_JAVA_LANG_THREAD_STATE_TIMED_WAITING 
anonymous enum
Enumerator:
JVMTI_THREAD_MIN_PRIORITY 
JVMTI_THREAD_NORM_PRIORITY 
JVMTI_THREAD_MAX_PRIORITY 
anonymous enum
Enumerator:
JVMTI_HEAP_FILTER_TAGGED 
JVMTI_HEAP_FILTER_UNTAGGED 
JVMTI_HEAP_FILTER_CLASS_TAGGED 
JVMTI_HEAP_FILTER_CLASS_UNTAGGED 
anonymous enum
Enumerator:
JVMTI_VISIT_OBJECTS 
JVMTI_VISIT_ABORT 
anonymous enum
Enumerator:
JVMTI_CLASS_STATUS_VERIFIED 
JVMTI_CLASS_STATUS_PREPARED 
JVMTI_CLASS_STATUS_INITIALIZED 
JVMTI_CLASS_STATUS_ERROR 
JVMTI_CLASS_STATUS_ARRAY 
JVMTI_CLASS_STATUS_PRIMITIVE 
anonymous enum
Enumerator:
JVMTI_VERSION_INTERFACE_JNI 
JVMTI_VERSION_INTERFACE_JVMTI 
anonymous enum
Enumerator:
JVMTI_VERSION_MASK_INTERFACE_TYPE 
JVMTI_VERSION_MASK_MAJOR 
JVMTI_VERSION_MASK_MINOR 
JVMTI_VERSION_MASK_MICRO 
anonymous enum
Enumerator:
JVMTI_VERSION_SHIFT_MAJOR 
JVMTI_VERSION_SHIFT_MINOR 
JVMTI_VERSION_SHIFT_MICRO 
anonymous enum
Enumerator:
JVMTI_RESOURCE_EXHAUSTED_OOM_ERROR 
JVMTI_RESOURCE_EXHAUSTED_JAVA_HEAP 
JVMTI_RESOURCE_EXHAUSTED_THREADS 
anonymous enum
Enumerator:
JVMTI_VERSION_1 
JVMTI_VERSION_1_0 
JVMTI_VERSION_1_1 
JVMTI_VERSION 
enum jvmtiError
Enumerator:
JVMTI_ERROR_NONE 
JVMTI_ERROR_INVALID_THREAD 
JVMTI_ERROR_INVALID_THREAD_GROUP 
JVMTI_ERROR_INVALID_PRIORITY 
JVMTI_ERROR_THREAD_NOT_SUSPENDED 
JVMTI_ERROR_THREAD_SUSPENDED 
JVMTI_ERROR_THREAD_NOT_ALIVE 
JVMTI_ERROR_INVALID_OBJECT 
JVMTI_ERROR_INVALID_CLASS 
JVMTI_ERROR_CLASS_NOT_PREPARED 
JVMTI_ERROR_INVALID_METHODID 
JVMTI_ERROR_INVALID_LOCATION 
JVMTI_ERROR_INVALID_FIELDID 
JVMTI_ERROR_NO_MORE_FRAMES 
JVMTI_ERROR_OPAQUE_FRAME 
JVMTI_ERROR_TYPE_MISMATCH 
JVMTI_ERROR_INVALID_SLOT 
JVMTI_ERROR_DUPLICATE 
JVMTI_ERROR_NOT_FOUND 
JVMTI_ERROR_INVALID_MONITOR 
JVMTI_ERROR_NOT_MONITOR_OWNER 
JVMTI_ERROR_INTERRUPT 
JVMTI_ERROR_INVALID_CLASS_FORMAT 
JVMTI_ERROR_CIRCULAR_CLASS_DEFINITION 
JVMTI_ERROR_FAILS_VERIFICATION 
JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_ADDED 
JVMTI_ERROR_UNSUPPORTED_REDEFINITION_SCHEMA_CHANGED 
JVMTI_ERROR_INVALID_TYPESTATE 
JVMTI_ERROR_UNSUPPORTED_REDEFINITION_HIERARCHY_CHANGED 
JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_DELETED 
JVMTI_ERROR_UNSUPPORTED_VERSION 
JVMTI_ERROR_NAMES_DONT_MATCH 
JVMTI_ERROR_UNSUPPORTED_REDEFINITION_CLASS_MODIFIERS_CHANGED 
JVMTI_ERROR_UNSUPPORTED_REDEFINITION_METHOD_MODIFIERS_CHANGED 
JVMTI_ERROR_UNMODIFIABLE_CLASS 
JVMTI_ERROR_NOT_AVAILABLE 
JVMTI_ERROR_MUST_POSSESS_CAPABILITY 
JVMTI_ERROR_NULL_POINTER 
JVMTI_ERROR_ABSENT_INFORMATION 
JVMTI_ERROR_INVALID_EVENT_TYPE 
JVMTI_ERROR_ILLEGAL_ARGUMENT 
JVMTI_ERROR_NATIVE_METHOD 
JVMTI_ERROR_CLASS_LOADER_UNSUPPORTED 
JVMTI_ERROR_OUT_OF_MEMORY 
JVMTI_ERROR_ACCESS_DENIED 
JVMTI_ERROR_WRONG_PHASE 
JVMTI_ERROR_INTERNAL 
JVMTI_ERROR_UNATTACHED_THREAD 
JVMTI_ERROR_INVALID_ENVIRONMENT 
JVMTI_ERROR_MAX 
enum jvmtiEvent
Enumerator:
JVMTI_MIN_EVENT_TYPE_VAL 
JVMTI_EVENT_VM_INIT 
JVMTI_EVENT_VM_DEATH 
JVMTI_EVENT_THREAD_START 
JVMTI_EVENT_THREAD_END 
JVMTI_EVENT_CLASS_FILE_LOAD_HOOK 
JVMTI_EVENT_CLASS_LOAD 
JVMTI_EVENT_CLASS_PREPARE 
JVMTI_EVENT_VM_START 
JVMTI_EVENT_EXCEPTION 
JVMTI_EVENT_EXCEPTION_CATCH 
JVMTI_EVENT_SINGLE_STEP 
JVMTI_EVENT_FRAME_POP 
JVMTI_EVENT_BREAKPOINT 
JVMTI_EVENT_FIELD_ACCESS 
JVMTI_EVENT_FIELD_MODIFICATION 
JVMTI_EVENT_METHOD_ENTRY 
JVMTI_EVENT_METHOD_EXIT 
JVMTI_EVENT_NATIVE_METHOD_BIND 
JVMTI_EVENT_COMPILED_METHOD_LOAD 
JVMTI_EVENT_COMPILED_METHOD_UNLOAD 
JVMTI_EVENT_DYNAMIC_CODE_GENERATED 
JVMTI_EVENT_DATA_DUMP_REQUEST 
JVMTI_EVENT_MONITOR_WAIT 
JVMTI_EVENT_MONITOR_WAITED 
JVMTI_EVENT_MONITOR_CONTENDED_ENTER 
JVMTI_EVENT_MONITOR_CONTENDED_ENTERED 
JVMTI_EVENT_RESOURCE_EXHAUSTED 
JVMTI_EVENT_GARBAGE_COLLECTION_START 
JVMTI_EVENT_GARBAGE_COLLECTION_FINISH 
JVMTI_EVENT_OBJECT_FREE 
JVMTI_EVENT_VM_OBJECT_ALLOC 
JVMTI_MAX_EVENT_TYPE_VAL 
Enumerator:
JVMTI_ENABLE 
JVMTI_DISABLE 
Enumerator:
JVMTI_HEAP_OBJECT_TAGGED 
JVMTI_HEAP_OBJECT_UNTAGGED 
JVMTI_HEAP_OBJECT_EITHER 
Enumerator:
JVMTI_HEAP_REFERENCE_CLASS 
JVMTI_HEAP_REFERENCE_FIELD 
JVMTI_HEAP_REFERENCE_ARRAY_ELEMENT 
JVMTI_HEAP_REFERENCE_CLASS_LOADER 
JVMTI_HEAP_REFERENCE_SIGNERS 
JVMTI_HEAP_REFERENCE_PROTECTION_DOMAIN 
JVMTI_HEAP_REFERENCE_INTERFACE 
JVMTI_HEAP_REFERENCE_STATIC_FIELD 
JVMTI_HEAP_REFERENCE_CONSTANT_POOL 
JVMTI_HEAP_REFERENCE_SUPERCLASS 
JVMTI_HEAP_REFERENCE_JNI_GLOBAL 
JVMTI_HEAP_REFERENCE_SYSTEM_CLASS 
JVMTI_HEAP_REFERENCE_MONITOR 
JVMTI_HEAP_REFERENCE_STACK_LOCAL 
JVMTI_HEAP_REFERENCE_JNI_LOCAL 
JVMTI_HEAP_REFERENCE_THREAD 
JVMTI_HEAP_REFERENCE_OTHER 
Enumerator:
JVMTI_HEAP_ROOT_JNI_GLOBAL 
JVMTI_HEAP_ROOT_SYSTEM_CLASS 
JVMTI_HEAP_ROOT_MONITOR 
JVMTI_HEAP_ROOT_STACK_LOCAL 
JVMTI_HEAP_ROOT_JNI_LOCAL 
JVMTI_HEAP_ROOT_THREAD 
JVMTI_HEAP_ROOT_OTHER 
Enumerator:
JVMTI_ITERATION_CONTINUE 
JVMTI_ITERATION_IGNORE 
JVMTI_ITERATION_ABORT 
Enumerator:
JVMTI_JLOCATION_JVMBCI 
JVMTI_JLOCATION_MACHINEPC 
JVMTI_JLOCATION_OTHER 
Enumerator:
JVMTI_REFERENCE_CLASS 
JVMTI_REFERENCE_FIELD 
JVMTI_REFERENCE_ARRAY_ELEMENT 
JVMTI_REFERENCE_CLASS_LOADER 
JVMTI_REFERENCE_SIGNERS 
JVMTI_REFERENCE_PROTECTION_DOMAIN 
JVMTI_REFERENCE_INTERFACE 
JVMTI_REFERENCE_STATIC_FIELD 
JVMTI_REFERENCE_CONSTANT_POOL 
Enumerator:
JVMTI_KIND_IN 
JVMTI_KIND_IN_PTR 
JVMTI_KIND_IN_BUF 
JVMTI_KIND_ALLOC_BUF 
JVMTI_KIND_ALLOC_ALLOC_BUF 
JVMTI_KIND_OUT 
JVMTI_KIND_OUT_BUF 
Enumerator:
JVMTI_TYPE_JBYTE 
JVMTI_TYPE_JCHAR 
JVMTI_TYPE_JSHORT 
JVMTI_TYPE_JINT 
JVMTI_TYPE_JLONG 
JVMTI_TYPE_JFLOAT 
JVMTI_TYPE_JDOUBLE 
JVMTI_TYPE_JBOOLEAN 
JVMTI_TYPE_JOBJECT 
JVMTI_TYPE_JTHREAD 
JVMTI_TYPE_JCLASS 
JVMTI_TYPE_JVALUE 
JVMTI_TYPE_JFIELDID 
JVMTI_TYPE_JMETHODID 
JVMTI_TYPE_CCHAR 
JVMTI_TYPE_CVOID 
JVMTI_TYPE_JNIENV 
enum jvmtiPhase
Enumerator:
JVMTI_PHASE_ONLOAD 
JVMTI_PHASE_PRIMORDIAL 
JVMTI_PHASE_START 
JVMTI_PHASE_LIVE 
JVMTI_PHASE_DEAD 
Enumerator:
JVMTI_PRIMITIVE_TYPE_BOOLEAN 
JVMTI_PRIMITIVE_TYPE_BYTE 
JVMTI_PRIMITIVE_TYPE_CHAR 
JVMTI_PRIMITIVE_TYPE_SHORT 
JVMTI_PRIMITIVE_TYPE_INT 
JVMTI_PRIMITIVE_TYPE_LONG 
JVMTI_PRIMITIVE_TYPE_FLOAT 
JVMTI_PRIMITIVE_TYPE_DOUBLE 
Enumerator:
JVMTI_TIMER_USER_CPU 
JVMTI_TIMER_TOTAL_CPU 
JVMTI_TIMER_ELAPSED 
Enumerator:
JVMTI_VERBOSE_OTHER 
JVMTI_VERBOSE_GC 
JVMTI_VERBOSE_CLASS 
JVMTI_VERBOSE_JNI 

Function Documentation

JNIEXPORT jint JNICALL Agent_OnAttach ( JavaVM vm,
char *  options,
void reserved 
)
JNIEXPORT jint JNICALL Agent_OnLoad ( JavaVM vm,
char *  options,
void reserved 
)
typedef jint ( JNICALL jvmtiHeapIterationCallback)
typedef jvmtiError ( JNICALL jvmtiExtensionFunction)
typedef jvmtiIterationControl ( JNICALL jvmtiHeapObjectCallback)
typedef void ( JNICALL jvmtiStartFunction)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines