harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From ge...@apache.org
Subject svn commit: r350181 [175/198] - in /incubator/harmony/enhanced/trunk/sandbox/contribs/ibm_core: ./ depends/ depends/files/ depends/jars/ depends/libs/ depends/libs/linux.IA32/ depends/libs/win.IA32/ depends/oss/ depends/oss/linux.IA32/ depends/oss/win....
Date Thu, 01 Dec 2005 06:04:00 GMT
Added: incubator/harmony/enhanced/trunk/sandbox/contribs/ibm_core/native-src/win.IA32/include/jvmpi.h
URL: http://svn.apache.org/viewcvs/incubator/harmony/enhanced/trunk/sandbox/contribs/ibm_core/native-src/win.IA32/include/jvmpi.h?rev=350181&view=auto
==============================================================================
--- incubator/harmony/enhanced/trunk/sandbox/contribs/ibm_core/native-src/win.IA32/include/jvmpi.h (added)
+++ incubator/harmony/enhanced/trunk/sandbox/contribs/ibm_core/native-src/win.IA32/include/jvmpi.h Wed Nov 30 21:29:27 2005
@@ -0,0 +1,471 @@
+/* Copyright 1991, 2005 The Apache Software Foundation or its licensors, as applicable
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#if !defined(jvmpi_h)
+#define jvmpi_h
+
+#include "jni.h"
+/* JVMPI Constants */
+#define JVMPI_VERSION_1 ((jint)0x10000001)
+#define JVMPI_VERSION_1_1 ((jint)0x10000002)
+#define JVMPI_VERSION_1_2 ((jint)0x10000003)
+#define JVMPI_VERSION_HOTSPOT ((jint)0x10000002)
+/* for compatability with older specs */
+#define JVMPI_EVENT_LOAD_COMPILED_METHOD JVMPI_EVENT_COMPILED_METHOD_LOAD
+#define JVMPI_EVENT_UNLOAD_COMPILED_METHOD JVMPI_EVENT_COMPILED_METHOD_UNLOAD
+#define JVMPI_EVENT_METHOD_ENTRY    ((jint)1)
+#define JVMPI_EVENT_METHOD_ENTRY2   ((jint)2)
+#define JVMPI_EVENT_METHOD_EXIT   ((jint)3)
+#define JVMPI_EVENT_OBJECT_ALLOC    ((jint)4)
+#define JVMPI_EVENT_OBJECT_FREE   ((jint)5)
+#define JVMPI_EVENT_OBJECT_MOVE   ((jint)6)
+#define JVMPI_EVENT_COMPILED_METHOD_LOAD    ((jint)7)
+#define JVMPI_EVENT_COMPILED_METHOD_UNLOAD    ((jint)8)
+#define JVMPI_EVENT_INSTRUCTION_START   ((jint)9)       /* added in JVMPI_VERSION_1_2 */
+#define JVMPI_EVENT_UNUSED_10   ((jint)10)
+#define JVMPI_EVENT_UNUSED_11   ((jint)11)
+#define JVMPI_EVENT_UNUSED_12   ((jint)12)
+#define JVMPI_EVENT_UNUSED_13   ((jint)13)
+#define JVMPI_EVENT_UNUSED_14   ((jint)14)
+#define JVMPI_EVENT_UNUSED_15   ((jint)15)
+#define JVMPI_EVENT_UNUSED_16   ((jint)16)
+#define JVMPI_EVENT_UNUSED_17   ((jint)17)
+#define JVMPI_EVENT_UNUSED_18   ((jint)18)
+#define JVMPI_EVENT_UNUSED_19   ((jint)19)
+#define JVMPI_EVENT_UNUSED_20   ((jint)20)
+#define JVMPI_EVENT_UNUSED_21   ((jint)21)
+#define JVMPI_EVENT_UNUSED_22   ((jint)22)
+#define JVMPI_EVENT_UNUSED_23   ((jint)23)
+#define JVMPI_EVENT_UNUSED_24   ((jint)24)
+#define JVMPI_EVENT_UNUSED_25   ((jint)25)
+#define JVMPI_EVENT_UNUSED_26   ((jint)26)
+#define JVMPI_EVENT_UNUSED_27   ((jint)27)
+#define JVMPI_EVENT_UNUSED_28   ((jint)28)
+#define JVMPI_EVENT_UNUSED_29   ((jint)29)
+#define JVMPI_EVENT_UNUSED_30   ((jint)30)
+#define JVMPI_EVENT_UNUSED_31   ((jint)31)
+#define JVMPI_EVENT_UNUSED_32   ((jint)32)
+#define JVMPI_EVENT_THREAD_START    ((jint)33)
+#define JVMPI_EVENT_THREAD_END    ((jint)34)
+#define JVMPI_EVENT_CLASS_LOAD_HOOK   ((jint)35)
+#define JVMPI_EVENT_UNUSED_36   ((jint)36)
+#define JVMPI_EVENT_HEAP_DUMP   ((jint)37)
+#define JVMPI_EVENT_JNI_GLOBALREF_ALLOC   ((jint)38)
+#define JVMPI_EVENT_JNI_GLOBALREF_FREE    ((jint)39)
+#define JVMPI_EVENT_JNI_WEAK_GLOBALREF_ALLOC    ((jint)40)
+#define JVMPI_EVENT_JNI_WEAK_GLOBALREF_FREE   ((jint)41)
+#define JVMPI_EVENT_CLASS_LOAD    ((jint)42)
+#define JVMPI_EVENT_CLASS_UNLOAD    ((jint)43)
+#define JVMPI_EVENT_DATA_DUMP_REQUEST   ((jint)44)
+#define JVMPI_EVENT_DATA_RESET_REQUEST    ((jint)45)
+#define JVMPI_EVENT_JVM_INIT_DONE   ((jint)46)
+#define JVMPI_EVENT_JVM_SHUT_DOWN   ((jint)47)
+#define JVMPI_EVENT_ARENA_NEW   ((jint)48)
+#define JVMPI_EVENT_ARENA_DELETE    ((jint)49)
+#define JVMPI_EVENT_OBJECT_DUMP   ((jint)50)
+#define JVMPI_EVENT_RAW_MONITOR_CONTENDED_ENTER   ((jint)51)
+#define JVMPI_EVENT_RAW_MONITOR_CONTENDED_ENTERED   ((jint)52)
+#define JVMPI_EVENT_RAW_MONITOR_CONTENDED_EXIT    ((jint)53)
+#define JVMPI_EVENT_MONITOR_CONTENDED_ENTER   ((jint)54)
+#define JVMPI_EVENT_MONITOR_CONTENDED_ENTERED   ((jint)55)
+#define JVMPI_EVENT_MONITOR_CONTENDED_EXIT    ((jint)56)
+#define JVMPI_EVENT_MONITOR_WAIT    ((jint)57)
+#define JVMPI_EVENT_MONITOR_WAITED    ((jint)58)
+#define JVMPI_EVENT_MONITOR_DUMP    ((jint)59)
+#define JVMPI_EVENT_GC_START    ((jint)60)
+#define JVMPI_EVENT_GC_FINISH   ((jint)61)
+#define JVMPI_MAX_EVENT_TYPE_VAL    ((jint)61)
+/* IBM-Specific Profiling Events */
+#define JVMPI_EVENT_DISABLE_COMPATIBILITY         ((jint )2000)
+#define JVMPI_EVENT_GEN_COMPILED_METHOD           ((jint )2001)
+#define JVMPI_EVENT_GEN_INLINE_METHOD             ((jint )2002)
+#define JVMPI_EVENT_GEN_BUILTIN_METHOD            ((jint )2003)
+#define JVMPI_EVENT_COMPILED_METHOD_ENTRY         ((jint )2004)
+#define JVMPI_EVENT_COMPILED_METHOD_ENTRY2        ((jint )2005)
+#define JVMPI_EVENT_COMPILED_METHOD_EXIT          ((jint )2006)
+#define JVMPI_EVENT_INLINE_METHOD_ENTRY           ((jint )2007)
+#define JVMPI_EVENT_INLINE_METHOD_ENTRY2          ((jint )2008)
+#define JVMPI_EVENT_BUILTIN_METHOD_ENTRY          ((jint )2009)
+#define JVMPI_EVENT_BUILTIN_METHOD_ENTRY2         ((jint )2010)
+#define JVMPI_EVENT_NATIVE_METHOD_ENTRY           ((jint )2011)
+#define JVMPI_EVENT_NATIVE_METHOD_ENTRY2          ((jint )2012)
+#define JVMPI_EVENT_COMPILING_START               ((jint )2013)
+#define JVMPI_EVENT_COMPILING_END                 ((jint )2014)
+#define JVMPI_EVENT_COMPILER_GC_START             ((jint )2015)
+#define JVMPI_EVENT_COMPILER_GC_END               ((jint )2016)
+#define JVMPI_EVENT_OBJ_ALLOC_FAILURE             ((jint )2017)
+#define JVMPI_EVENT_COMPILED_METHOD_LOAD2         ((jint )2018)
+#define JVMPI_EVENT_JLM                           ((jint )2019)
+#define JVMPI_EVENT_JLMTS                         ((jint )2020)
+#define JVMPI_EVENT_MONITOR_JLM_DUMP              ((jint )2021)
+#define JVMPI_EVENT_TRANSFER                      ((jint )2022)
+#define JVMPI_EVENT_SEGMENT                       ((jint )2023)
+#define JVMPI_MIN_IBM_INTERNAL_OPTION_VAL ((jint) 2000)
+#define JVMPI_MAX_IBM_INTERNAL_OPTION_VAL ((jint) 2023)
+#define JVMPI_REQUESTED_EVENT   ((jint)0x10000000)
+#define JVMPI_SUCCESS   ((jint)0)
+#define JVMPI_NOT_AVAILABLE   ((jint)1)
+#define JVMPI_FAIL    ((jint)-1)
+
+enum
+{
+  JVMPI_THREAD_RUNNABLE = 1,
+  JVMPI_THREAD_MONITOR_WAIT,
+  JVMPI_THREAD_CONDVAR_WAIT
+};
+
+#define JVMPI_THREAD_SUSPENDED    0x8000
+#define JVMPI_THREAD_INTERRUPTED    0x4000
+#define JVMPI_MINIMUM_PRIORITY    1
+#define JVMPI_MAXIMUM_PRIORITY    10
+#define JVMPI_NORMAL_PRIORITY   5
+#define JVMPI_NORMAL_OBJECT   ((jint)0)
+#define JVMPI_CLASS           ((jint)2)
+#define JVMPI_BOOLEAN         ((jint)4)
+#define JVMPI_CHAR            ((jint)5)
+#define JVMPI_FLOAT           ((jint)6)
+#define JVMPI_DOUBLE          ((jint)7)
+#define JVMPI_BYTE            ((jint)8)
+#define JVMPI_SHORT           ((jint)9)
+#define JVMPI_INT             ((jint)10)
+#define JVMPI_LONG            ((jint)11)
+#define JVMPI_MONITOR_JAVA    0x01
+#define JVMPI_MONITOR_RAW   0x02
+#define JVMPI_GC_ROOT_UNKNOWN   0xff
+#define JVMPI_GC_ROOT_JNI_GLOBAL    0x01
+#define JVMPI_GC_ROOT_JNI_LOCAL   0x02
+#define JVMPI_GC_ROOT_JAVA_FRAME    0x03
+#define JVMPI_GC_ROOT_NATIVE_STACK    0x04
+#define JVMPI_GC_ROOT_STICKY_CLASS    0x05
+#define JVMPI_GC_ROOT_THREAD_BLOCK    0x06
+#define JVMPI_GC_ROOT_MONITOR_USED    0x07
+#define JVMPI_GC_ROOT_THREAD_OBJ    0x08
+#define JVMPI_GC_CLASS_DUMP   0x20
+#define JVMPI_GC_INSTANCE_DUMP    0x21
+#define JVMPI_GC_OBJ_ARRAY_DUMP   0x22
+#define JVMPI_GC_PRIM_ARRAY_DUMP    0x23
+#define JVMPI_DUMP_LEVEL_0    ((jint)0)
+#define JVMPI_DUMP_LEVEL_1    ((jint)1)
+#define JVMPI_DUMP_LEVEL_2    ((jint)2)
+/* JLM monitor dump */
+#define JVMPI_DUMP_LEVEL_3    ((jint)3)
+/* generic_event.flags */
+#define JVMPI_GENERIC_FLAG_DISABLE_GC ((jint)1)
+#define JVMPI_GENERIC_FLAG_CHECK_EVENT  ((jint)2)
+/* generic_compiled_method_load.ld_ind */
+#define JVMPI_LOAD      ((jint)1)
+#define JVMPI_UNLOAD      ((jint)2)
+/* generic_compiled_method_load.edesc */
+#define JVMPI_NAME_FORMAT   ((jint)1)
+/* generic_transfer_event.transfer_type */
+#define JVMPI_TRANSFER_ITOJ   ((jint)1)
+/* generic_transfer_event.transfer_status */
+#define JVMPI_TRANSFER_OK   ((jint)1)
+#define JVMPI_TRANSFER_FAIL   ((jint)2)
+/* generic_segment_event.seg_type */
+#define JVMPI_JITTED_SEGMENT    ((jint)1)
+#define JVMPI_MMI_SEGMENT   ((jint)2)
+/* generic_segment_event.alloc_ind */
+#define JVMPI_SEGMENT_ALLOCATE    ((jint)1)
+#define JVMPI_SEGMENT_FREE    ((jint)2)
+/* jobjectID */
+struct _jobjectID;
+typedef struct _jobjectID *jobjectID;
+/* JVMPI_RawMonitor */
+struct _JVMPI_RawMonitor;
+typedef struct _JVMPI_RawMonitor *JVMPI_RawMonitor;
+
+/* JVMPI_CallFrame */
+typedef struct
+{
+  jint lineno;
+  jmethodID method_id;
+} JVMPI_CallFrame;
+
+/* JVMPI_CallTrace */
+typedef struct
+{
+  JNIEnv *env_id;
+  jint num_frames;
+  JVMPI_CallFrame *frames;
+} JVMPI_CallTrace;
+
+/* JVMPI_Field */
+typedef struct
+{
+  char *field_name;
+  char *field_signature;
+} JVMPI_Field;
+
+/* JVMPI_HeapDumpArg */
+typedef struct
+{
+  jint heap_dump_level;
+} JVMPI_HeapDumpArg;
+
+/* JVMPI_Lineno */
+typedef struct
+{
+  jint offset;
+  jint lineno;
+} JVMPI_Lineno;
+
+/* JVMPI_Method */
+typedef struct
+{
+  char *method_name;
+  char *method_signature;
+  jint start_lineno;
+  jint end_lineno;
+  jmethodID method_id;
+} JVMPI_Method;
+
+/* JVMPI Event */
+typedef struct
+{
+  jint event_type;
+  JNIEnv *env_id;
+  union
+  {
+    struct
+    {
+      jint arena_id;
+    } delete_arena;
+    struct
+    {
+      jint arena_id;
+      char *arena_name;
+    } new_arena;
+
+    struct
+    {
+      char *class_name;
+      char *source_name;
+      jint num_interfaces;
+      jint num_methods;
+      JVMPI_Method *methods;
+      jint num_static_fields;
+      JVMPI_Field *statics;
+      jint num_instance_fields;
+      JVMPI_Field *instances;
+      jobjectID class_id;
+    } class_load;
+    struct
+    {
+      unsigned char *class_data;
+      jint class_data_len;
+      unsigned char *new_class_data;
+      jint new_class_data_len;
+      void *(*malloc_f) (unsigned int);
+    } class_load_hook;
+    struct
+    {
+      jobjectID class_id;
+    } class_unload;
+    struct
+    {
+      jmethodID method_id;
+      void *code_addr;
+      jint code_size;
+      jint lineno_table_size;
+      JVMPI_Lineno *lineno_table;
+    } compiled_method_load;
+    struct
+    {
+      jmethodID method_id;
+    } compiled_method_unload;
+    struct
+    {
+      jlong used_objects;
+      jlong used_object_space;
+      jlong total_object_space;
+    } gc_info;
+    struct
+    {
+      int dump_level;
+      char *begin;
+      char *end;
+      jint num_traces;
+      JVMPI_CallTrace *traces;
+    } heap_dump;
+    struct
+    {
+      jobjectID obj_id;
+      jobject ref_id;
+    } jni_globalref_alloc;
+    struct
+    {
+      jobject ref_id;
+    } jni_globalref_free;
+    struct
+    {
+      jmethodID method_id;
+    } method;
+    struct
+    {
+      jmethodID method_id;
+      jobjectID obj_id;
+    } method_entry2;
+    struct
+    {
+      jobjectID object;
+    } monitor;
+    struct
+    {
+      char *begin;
+      char *end;
+      jint num_traces;
+      JVMPI_CallTrace *traces;
+      jint *threads_status;
+    } monitor_dump;
+    struct
+    {
+      jobjectID object;
+      jlong timeout;
+    } monitor_wait;
+    struct
+    {
+      jint arena_id;
+      jobjectID class_id;
+      jint is_array;
+      jint size;
+      jobjectID obj_id;
+    } obj_alloc;
+    struct
+    {
+      jint data_len;
+      char *data;
+    } object_dump;
+    struct
+    {
+      jobjectID obj_id;
+    } obj_free;
+    struct
+    {
+      jint arena_id;
+      jobjectID obj_id;
+      jint new_arena_id;
+      jobjectID new_obj_id;
+    } obj_move;
+    struct
+    {
+      char *name;
+      JVMPI_RawMonitor id;
+    } raw_monitor;
+    struct
+    {
+      char *thread_name;
+      char *group_name;
+      char *parent_name;
+      jobjectID thread_id;
+      JNIEnv *thread_env_id;
+    } thread_start;
+    struct
+    {
+      jmethodID method_id;
+      jobjectID obj_id;
+      jsize flags;
+      jint reserv1;
+      jint reserv2;
+      jint reserv3;
+      jint reserv4;
+      jint reserv5;
+      jint reserv6;
+      jint reserv7;
+      jint reserv8;
+    } generic_event;
+    struct
+    {
+      jmethodID method_id;
+      jobjectID obj_id;
+      jsize flags;
+      char *code_name;
+      jint edesc;
+      jint ld_ind;
+      void *code_addr;
+      jint code_size;
+      jint lineno_table_size;
+      JVMPI_Lineno *lineno_table;
+    } generic_compiled_method_load;
+    struct
+    {
+      jmethodID method_id;
+      jobjectID obj_id;
+      jsize flags;
+      jint transfer_type;
+      jint transfer_status;
+      jint reserv3;
+      jint reserv4;
+      jint reserv5;
+      jint reserv6;
+      jint reserv7;
+      jint reserv8;
+    } generic_transfer_event;
+    struct
+    {
+      jmethodID method_id;
+      jobjectID obj_id;
+      jsize flags;
+      char *seg_name;
+      void *seg_addr;
+      jsize seg_size;
+      jint seg_type;
+      jint alloc_ind;
+      void *old_seg_addr;
+      jint reserv7;
+      jint reserv8;
+    } generic_segment_event;
+  } u;
+} JVMPI_Event;
+
+typedef struct
+{
+  jint version;
+  void (*NotifyEvent) (JVMPI_Event * event);
+  jint (*EnableEvent) (jint event_type, void *arg);
+  jint (*DisableEvent) (jint event_type, void *arg);
+  jint (*RequestEvent) (jint event_type, void *arg);
+  void (*GetCallTrace) (JVMPI_CallTrace * trace, jint depth);
+  void (*ProfilerExit) (jint);
+  JVMPI_RawMonitor (*RawMonitorCreate) (char *lock_name);
+  void (*RawMonitorEnter) (JVMPI_RawMonitor lock_id);
+  void (*RawMonitorExit) (JVMPI_RawMonitor lock_id);
+  void (*RawMonitorWait) (JVMPI_RawMonitor lock_id, jlong ms);
+  void (*RawMonitorNotifyAll) (JVMPI_RawMonitor lock_id);
+  void (*RawMonitorDestroy) (JVMPI_RawMonitor lock_id);
+  jlong (*GetCurrentThreadCpuTime) (void);
+  void (*SuspendThread) (JNIEnv * env);
+  void (*ResumeThread) (JNIEnv * env);
+  jint (*GetThreadStatus) (JNIEnv * env);
+  jboolean (*ThreadHasRun) (JNIEnv * env);
+  jint (*CreateSystemThread) (char *name, jint priority,
+                              void (*f) (void *));
+  void (*SetThreadLocalStorage) (JNIEnv * env_id, void *ptr);
+  void *(*GetThreadLocalStorage) (JNIEnv * env_id);
+  void (*DisableGC) (void);
+  void (*EnableGC) (void);
+  void (*RunGC) (void);
+  jobjectID (*GetThreadObject) (JNIEnv * env);
+  jobjectID (*GetMethodClass) (jmethodID mid);
+  /* JVMPI_VERSION_1_1 additions */
+  jobject (*jobjectID2jobject) (jobjectID jid);
+  jobjectID (*jobject2jobjectID) (jobject j);
+  /* JVMPI_VERSION_1_2 additions */
+  void (*SuspendThreadList) (jint reqCount, JNIEnv ** reqList,
+                            jint * results);
+  void (*ResumeThreadList) (jint reqCount, JNIEnv ** reqList, jint * results);
+} JVMPI_Interface;
+
+#endif /* jvmpi_h */

Added: incubator/harmony/enhanced/trunk/sandbox/contribs/ibm_core/native-src/win.IA32/include/jvmri.h
URL: http://svn.apache.org/viewcvs/incubator/harmony/enhanced/trunk/sandbox/contribs/ibm_core/native-src/win.IA32/include/jvmri.h?rev=350181&view=auto
==============================================================================
--- incubator/harmony/enhanced/trunk/sandbox/contribs/ibm_core/native-src/win.IA32/include/jvmri.h (added)
+++ incubator/harmony/enhanced/trunk/sandbox/contribs/ibm_core/native-src/win.IA32/include/jvmri.h Wed Nov 30 21:29:27 2005
@@ -0,0 +1,168 @@
+/* Copyright 1991, 2005 The Apache Software Foundation or its licensors, as applicable
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#if !defined(_JVMRAS_H_)
+#define _JVMRAS_H_
+
+/*
+ * ======================================================================
+ * Allow for inclusion in C++
+ * ======================================================================
+ */
+#if defined(__cplusplus)
+extern "C"
+{
+#endif
+#include "jni.h"
+#include "stdarg.h"
+/*
+ * ======================================================================
+ * Forward declarations
+ * ======================================================================
+ */
+  typedef void (JNICALL * TraceListener) (JNIEnv * env, void **thrLocal,
+                                          int traceId, const char *format,
+                                          va_list varargs);
+  typedef void (*DgRasOutOfMemoryHook) (void);
+/*
+ * ======================================================================
+ * RasInfo structures
+ * ======================================================================
+ */
+  typedef struct RasInfo
+  {
+    int type;
+    union
+    {
+      struct
+      {
+        int number;
+        char **names;
+      } query;
+      struct
+      {
+        int number;
+        char **names;
+      } trace_components;
+      struct
+      {
+        char *name;
+        int first;
+        int last;
+        unsigned char *bitMap;
+      } trace_component;
+    } info;
+  } RasInfo;
+
+#define RASINFO_TYPES                 0
+#define RASINFO_TRACE_COMPONENTS      1
+#define RASINFO_TRACE_COMPONENT       2
+#define RASINFO_MAX_TYPES             2
+
+/*
+ * ======================================================================
+ * External access facade
+ * ======================================================================
+ */
+#define JVMRAS_VERSION_1_1      0x7F000001
+#define JVMRAS_VERSION_1_3      0x7F000003
+
+  typedef struct DgRasInterface
+  {
+    char eyecatcher[4];
+    int length;
+    int version;
+    int modification;
+    /* Interface level 1_1 */
+    int (JNICALL * TraceRegister) (JNIEnv * env, TraceListener func);
+    int (JNICALL * TraceDeregister) (JNIEnv * env, TraceListener func);
+    int (JNICALL * TraceSet) (JNIEnv * env, const char *);
+    void (JNICALL * TraceSnap) (JNIEnv * env, char *);
+    void (JNICALL * TraceSuspend) (JNIEnv * env);
+    void (JNICALL * TraceResume) (JNIEnv * env);
+    int (JNICALL * GetRasInfo) (JNIEnv * env, RasInfo * info_ptr);
+    int (JNICALL * ReleaseRasInfo) (JNIEnv * env, RasInfo * info_ptr);
+    int (JNICALL * DumpRegister) (JNIEnv * env,
+                                  int (JNICALL * func) (JNIEnv * env2,
+                                                        void **threadLocal,
+                                                        int reason));
+    int (JNICALL * DumpDeregister) (JNIEnv * env,
+                                    int (JNICALL * func) (JNIEnv * env2,
+                                                          void **threadLocal,
+                                                          int reason));
+    void (JNICALL * NotifySignal) (JNIEnv * env, int signal);
+    int (JNICALL * CreateThread) (JNIEnv * env,
+                                  void (JNICALL * startFunc) (void *),
+                                  void *args, int GCSuspend);
+    int (JNICALL * GenerateJavacore) (JNIEnv * env);
+    int (JNICALL * RunDumpRoutine) (JNIEnv * env, int componentID, int level,
+                                    void (*printrtn) (void *env,
+                                                      const char *tagName,
+                                                      const char *fmt, ...));
+    int (JNICALL * InjectSigsegv) (JNIEnv * env);
+    int (JNICALL * InjectOutOfMemory) (JNIEnv * env);
+    int (JNICALL * SetOutOfMemoryHook) (JNIEnv * env,
+                                        void (*OutOfMemoryFunc) (void));
+    int (JNICALL * GetComponentDataArea) (JNIEnv * env, char *componentName,
+                                          void **dataArea, int *dataSize);
+    int (JNICALL * InitiateSystemDump) (JNIEnv * env);
+    /* Interface level 1_3 follows */
+    void (JNICALL * DynamicVerbosegc) (JNIEnv * env, int vgc_switch,
+                                       int vgccon, char *file_path,
+                                       int number_of_files,
+                                       int number_of_cycles);
+    void (JNICALL * TraceSuspendThis) (JNIEnv * env);
+    void (JNICALL * TraceResumeThis) (JNIEnv * env);
+    int (JNICALL * GenerateHeapdump) (JNIEnv * env);
+  } DgRasInterface;
+
+/*
+ * ======================================================================
+ *    Dump exit return codes
+ * ======================================================================
+ */
+#define RAS_DUMP_CONTINUE       0       /* Continue with diagnostic collection */
+#define RAS_DUMP_ABORT          1       /* No more diagnostics should be taken */
+/*
+ * ======================================================================
+ *    Thread Creation types
+ * ======================================================================
+ */
+#define NO_GC_THREAD_SUSPEND    0       /* Do not suspend thread during CG. */
+#define GC_THREAD_SUSPEND       1       /* Suspend thread during CG. */
+#define RAS_THREAD_NAME_SIZE    50      /* Size of Ras Thread Name. */
+/*
+ * ======================================================================
+ *    Dump Handler types
+ * ======================================================================
+ */
+  enum dumpType
+  {
+    NODUMPS = 0,
+    JAVADUMP = 0x01,
+    SYSDUMP = 0x02,
+    CEEDUMP = 0x04,
+    HEAPDUMP = 0x08,
+    MAXDUMPTYPES = 6,
+    /* ensure 4-byte enum */
+    dumpTypeEnsureWideEnum = 0x1000000
+  };
+#define ALLDUMPS (JAVADUMP | SYSDUMP | CEEDUMP | HEAPDUMP)
+#define OSDUMP     (ALLDUMPS + 1)
+#if defined(__cplusplus)
+} /* extern "C" */
+#endif
+
+#endif /* !_JVMRAS_H_ */

Added: incubator/harmony/enhanced/trunk/sandbox/contribs/ibm_core/native-src/win.IA32/include/jvmti.h
URL: http://svn.apache.org/viewcvs/incubator/harmony/enhanced/trunk/sandbox/contribs/ibm_core/native-src/win.IA32/include/jvmti.h?rev=350181&view=auto
==============================================================================
--- incubator/harmony/enhanced/trunk/sandbox/contribs/ibm_core/native-src/win.IA32/include/jvmti.h (added)
+++ incubator/harmony/enhanced/trunk/sandbox/contribs/ibm_core/native-src/win.IA32/include/jvmti.h Wed Nov 30 21:29:27 2005
@@ -0,0 +1,1114 @@
+/* Copyright 1991, 2005 The Apache Software Foundation or its licensors, as applicable
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#if !defined(jvmti_h)
+#define jvmti_h
+
+#include "jni.h"
+/* 
+ *-----------------------------------------------------------------------------
+ * JVMTI constants
+ *-----------------------------------------------------------------------------
+ */
+#define JVMTI_VERSION_1_0 0x30010000
+#define JVMTI_VERSION_1 (JVMTI_VERSION_1_0)
+#define JVMTI_VERSION (JVMTI_VERSION_1_0 + 37)  /* Spec version is 1.0.37 */
+#define JVMTI_CLASS_STATUS_VERIFIED   0x00000001
+#define JVMTI_CLASS_STATUS_PREPARED   0x00000002
+#define JVMTI_CLASS_STATUS_INITIALIZED    0x00000004
+#define JVMTI_CLASS_STATUS_ERROR    0x00000008
+#define JVMTI_CLASS_STATUS_ARRAY    0x00000010
+#define JVMTI_CLASS_STATUS_PRIMITIVE    0x00000020
+#define JVMTI_THREAD_MIN_PRIORITY   1
+#define JVMTI_THREAD_NORM_PRIORITY    5
+#define JVMTI_THREAD_MAX_PRIORITY   10
+#define JVMTI_THREAD_STATE_ALIVE      0x00000001
+#define JVMTI_THREAD_STATE_TERMINATED     0x00000002
+#define JVMTI_THREAD_STATE_RUNNABLE     0x00000004
+#define JVMTI_THREAD_STATE_WAITING_INDEFINITELY   0x00000010
+#define JVMTI_THREAD_STATE_WAITING_WITH_TIMEOUT   0x00000020
+#define JVMTI_THREAD_STATE_SLEEPING     0x00000040
+#define JVMTI_THREAD_STATE_WAITING      0x00000080
+#define JVMTI_THREAD_STATE_IN_OBJECT_WAIT   0x00000100
+#define JVMTI_THREAD_STATE_PARKED     0x00000200
+#define JVMTI_THREAD_STATE_BLOCKED_ON_MONITOR_ENTER 0x00000400
+#define JVMTI_THREAD_STATE_SUSPENDED      0x00100000
+#define JVMTI_THREAD_STATE_INTERRUPTED      0x00200000
+#define JVMTI_THREAD_STATE_IN_NATIVE      0x00400000
+#define JVMTI_THREAD_STATE_VENDOR_1     0x10000000
+#define JVMTI_THREAD_STATE_VENDOR_2     0x20000000
+#define JVMTI_THREAD_STATE_VENDOR_3     0x40000000
+#define 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
+#define JVMTI_JAVA_LANG_THREAD_STATE_NEW    0
+#define JVMTI_JAVA_LANG_THREAD_STATE_TERMINATED   \
+    JVMTI_THREAD_STATE_TERMINATED
+#define JVMTI_JAVA_LANG_THREAD_STATE_RUNNABLE   \
+    JVMTI_THREAD_STATE_ALIVE      \
+  | JVMTI_THREAD_STATE_RUNNABLE
+#define JVMTI_JAVA_LANG_THREAD_STATE_BLOCKED    \
+    JVMTI_THREAD_STATE_ALIVE      \
+  | JVMTI_THREAD_STATE_BLOCKED_ON_MONITOR_ENTER
+#define JVMTI_JAVA_LANG_THREAD_STATE_WAITING    \
+    JVMTI_THREAD_STATE_ALIVE      \
+  | JVMTI_THREAD_STATE_WAITING      \
+  | JVMTI_THREAD_STATE_WAITING_INDEFINITELY
+#define JVMTI_JAVA_LANG_THREAD_STATE_TIMED_WAITING  \
+    JVMTI_THREAD_STATE_ALIVE      \
+  | JVMTI_THREAD_STATE_WAITING      \
+  | JVMTI_THREAD_STATE_WAITING_WITH_TIMEOUT
+#define JVMTI_VERSION_INTERFACE_JNI   0x00000000
+#define JVMTI_VERSION_INTERFACE_JVMTI   0x30000000
+#define JVMTI_VERSION_MASK_INTERFACE_TYPE 0x70000000
+#define JVMTI_VERSION_MASK_MAJOR    0x0FFF0000
+#define JVMTI_VERSION_MASK_MINOR    0x0000FF00
+#define JVMTI_VERSION_MASK_MICRO    0x000000FF
+#define JVMTI_VERSION_SHIFT_MAJOR   16
+#define JVMTI_VERSION_SHIFT_MINOR   8
+#define JVMTI_VERSION_SHIFT_MICRO   0
+
+/*
+ *-----------------------------------------------------------------------------
+ * JVMTI enumerations
+ *-----------------------------------------------------------------------------
+ */
+typedef enum jvmtiEventMode
+{
+  JVMTI_ENABLE = 1,
+  JVMTI_DISABLE = 0,
+  jvmtiEventModeEnsureWideEnum = 0x1000000      /* ensure 4-byte enum */
+} jvmtiEventMode;
+
+typedef enum jvmtiHeapObjectFilter
+{
+  JVMTI_HEAP_OBJECT_TAGGED = 1,
+  JVMTI_HEAP_OBJECT_UNTAGGED = 2,
+  JVMTI_HEAP_OBJECT_EITHER = 3,
+  jvmtiHeapObjectFilterEnsureWideEnum = 0x1000000       /* ensure 4-byte enum */
+} jvmtiHeapObjectFilter;
+
+typedef 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,
+  jvmtiHeapRootKindEnsureWideEnum = 0x1000000   /* ensure 4-byte enum */
+} jvmtiHeapRootKind;
+
+typedef enum jvmtiIterationControl
+{
+  JVMTI_ITERATION_CONTINUE = 1,
+  JVMTI_ITERATION_IGNORE = 2,
+  JVMTI_ITERATION_ABORT = 0,
+  jvmtiIterationControlEnsureWideEnum = 0x1000000       /* ensure 4-byte enum */
+} jvmtiIterationControl;
+
+typedef enum jvmtiJlocationFormat
+{
+  JVMTI_JLOCATION_JVMBCI = 1,
+  JVMTI_JLOCATION_MACHINEPC = 2,
+  JVMTI_JLOCATION_OTHER = 0,
+  jvmtiJlocationFormatEnsureWideEnum = 0x1000000        /* ensure 4-byte enum */
+} jvmtiJlocationFormat;
+
+typedef 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,
+  jvmtiObjectReferenceKindEnsureWideEnum = 0x1000000    /* ensure 4-byte enum */
+} jvmtiObjectReferenceKind;
+
+typedef 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,
+  jvmtiParamKindEnsureWideEnum = 0x1000000      /* ensure 4-byte enum */
+} jvmtiParamKind;
+
+typedef 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,
+  jvmtiParamTypesEnsureWideEnum = 0x1000000     /* ensure 4-byte enum */
+} jvmtiParamTypes;
+
+typedef enum jvmtiPhase
+{
+  JVMTI_PHASE_ONLOAD = 1,
+  JVMTI_PHASE_PRIMORDIAL = 2,
+  JVMTI_PHASE_LIVE = 4,
+  JVMTI_PHASE_START = 6,
+  JVMTI_PHASE_DEAD = 8,
+  jvmtiPhaseEnsureWideEnum = 0x1000000  /* ensure 4-byte enum */
+} jvmtiPhase;
+
+typedef enum jvmtiTimerKind
+{
+  JVMTI_TIMER_USER_CPU = 30,
+  JVMTI_TIMER_TOTAL_CPU = 31,
+  JVMTI_TIMER_ELAPSED = 32,
+  jvmtiTimerKindEnsureWideEnum = 0x1000000      /* ensure 4-byte enum */
+} jvmtiTimerKind;
+
+typedef enum jvmtiVerboseFlag
+{
+  JVMTI_VERBOSE_OTHER = 0,
+  JVMTI_VERBOSE_GC = 1,
+  JVMTI_VERBOSE_CLASS = 2,
+  JVMTI_VERBOSE_JNI = 4,
+  jvmtiVerboseFlagEnsureWideEnum = 0x1000000    /* ensure 4-byte enum */
+} jvmtiVerboseFlag;
+
+/*
+ *-----------------------------------------------------------------------------
+ * JVMTI error codes
+ *-----------------------------------------------------------------------------
+ */
+typedef 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_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,
+  jvmtiErrorEnsureWideEnum = 0x1000000  /* ensure 4-byte enum */
+} jvmtiError;
+
+/*
+ *-----------------------------------------------------------------------------
+ * JVMTI base types
+ *-----------------------------------------------------------------------------
+ */
+typedef jobject jthread;
+typedef jobject jthreadGroup;
+typedef jlong jlocation;
+/* hidden type */
+struct _jrawMonitorID;
+typedef struct _jrawMonitorID *jrawMonitorID;
+typedef struct JNINativeInterface_ jniNativeInterface;
+struct JVMTINativeInterface_;
+
+struct _jvmtiEnv
+{
+  const struct JVMTINativeInterface_ *functions;
+};
+
+typedef struct JVMTINativeInterface_ *jvmtiEnv;
+
+/*
+ *-----------------------------------------------------------------------------
+ * JVMTI function types
+ *-----------------------------------------------------------------------------
+ */
+typedef void (JNICALL * jvmtiExtensionEvent) (jvmtiEnv * jvmti_env, ...);
+typedef jvmtiError (JNICALL * jvmtiExtensionFunction)
+  (jvmtiEnv * jvmti_env, ...);
+typedef jvmtiIterationControl (JNICALL * jvmtiHeapObjectCallback)
+  (jlong class_tag, jlong size, jlong * tag_ptr, void *user_data);
+typedef jvmtiIterationControl (JNICALL * jvmtiHeapRootCallback)
+  (jvmtiHeapRootKind root_kind,
+   jlong class_tag, jlong size, jlong * tag_ptr, void *user_data);
+typedef jvmtiIterationControl (JNICALL * jvmtiObjectReferenceCallback)
+  (jvmtiObjectReferenceKind reference_kind,
+   jlong class_tag, jlong size, jlong * tag_ptr,
+   jlong referrer_tag, jint referrer_index, void *user_data);
+typedef jvmtiIterationControl (JNICALL * jvmtiStackReferenceCallback)
+  (jvmtiHeapRootKind root_kind,
+   jlong class_tag, jlong size, jlong * tag_ptr,
+   jlong thread_tag, jint depth, jmethodID method, jint slot,
+   void *user_data);
+typedef void (JNICALL * jvmtiStartFunction)
+  (jvmtiEnv * jvmti_env, JNIEnv * jni_env, void *arg);
+
+/*
+ *-----------------------------------------------------------------------------
+ * JVMTI structure types
+ *-----------------------------------------------------------------------------
+ */
+typedef struct jvmtiFrameInfo
+{
+  jmethodID method;
+  jlocation location;
+} jvmtiFrameInfo;
+
+typedef struct jvmtiStackInfo
+{
+  jthread thread;
+  jint state;
+  jvmtiFrameInfo *frame_buffer;
+  jint frame_count;
+} jvmtiStackInfo;
+
+typedef struct jvmtiAddrLocationMap
+{
+  const void *start_address;
+  jlocation location;
+} jvmtiAddrLocationMap;
+
+typedef struct
+{
+  unsigned int can_tag_objects:1;
+  unsigned int can_generate_field_modification_events:1;
+  unsigned int can_generate_field_access_events:1;
+  unsigned int can_get_bytecodes:1;
+  unsigned int can_get_synthetic_attribute:1;
+  unsigned int can_get_owned_monitor_info:1;
+  unsigned int can_get_current_contended_monitor:1;
+  unsigned int can_get_monitor_info:1;
+  unsigned int can_pop_frame:1;
+  unsigned int can_redefine_classes:1;
+  unsigned int can_signal_thread:1;
+  unsigned int can_get_source_file_name:1;
+  unsigned int can_get_line_numbers:1;
+  unsigned int can_get_source_debug_extension:1;
+  unsigned int can_access_local_variables:1;
+  unsigned int can_maintain_original_method_order:1;
+  unsigned int can_generate_single_step_events:1;
+  unsigned int can_generate_exception_events:1;
+  unsigned int can_generate_frame_pop_events:1;
+  unsigned int can_generate_breakpoint_events:1;
+  unsigned int can_suspend:1;
+  unsigned int can_redefine_any_class:1;
+  unsigned int can_get_current_thread_cpu_time:1;
+  unsigned int can_get_thread_cpu_time:1;
+  unsigned int can_generate_method_entry_events:1;
+  unsigned int can_generate_method_exit_events:1;
+  unsigned int can_generate_all_class_hook_events:1;
+  unsigned int can_generate_compiled_method_load_events:1;
+  unsigned int can_generate_monitor_events:1;
+  unsigned int can_generate_vm_object_alloc_events:1;
+  unsigned int can_generate_native_method_bind_events:1;
+  unsigned int can_generate_garbage_collection_events:1;
+  unsigned int can_generate_object_free_events:1;
+  unsigned int:15;
+  unsigned int:16;
+  unsigned int:16;
+  unsigned int:16;
+  unsigned int:16;
+  unsigned int:16;
+} jvmtiCapabilities;
+
+typedef struct jvmtiClassDefinition
+{
+  jclass klass;
+  jint class_byte_count;
+  const unsigned char *class_bytes;
+} jvmtiClassDefinition;
+
+typedef struct jvmtiParamInfo
+{
+  char *name;
+  jvmtiParamKind kind;
+  jvmtiParamTypes base_type;
+  jboolean null_ok;
+} jvmtiParamInfo;
+
+typedef struct jvmtiExtensionEventInfo
+{
+  jint extension_event_index;
+  char *id;
+  char *short_description;
+  jint param_count;
+  jvmtiParamInfo *params;
+} jvmtiExtensionEventInfo;
+
+typedef struct jvmtiExtensionFunctionInfo
+{
+  jvmtiExtensionFunction func;
+  char *id;
+  char *short_description;
+  jint param_count;
+  jvmtiParamInfo *params;
+  jint error_count;
+  jvmtiError *errors;
+} jvmtiExtensionFunctionInfo;
+
+typedef struct jvmtiLineNumberEntry
+{
+  jlocation start_location;
+  jint line_number;
+} jvmtiLineNumberEntry;
+
+typedef struct jvmtiLocalVariableEntry
+{
+  jlocation start_location;
+  jint length;
+  char *name;
+  char *signature;
+  char *generic_signature;
+  jint slot;
+} jvmtiLocalVariableEntry;
+
+typedef struct jvmtiMonitorUsage
+{
+  jthread owner;
+  jint entry_count;
+  jint waiter_count;
+  jthread *waiters;
+  jint notify_waiter_count;
+  jthread *notify_waiters;
+} jvmtiMonitorUsage;
+
+typedef struct jvmtiThreadGroupInfo
+{
+  jthreadGroup parent;
+  char *name;
+  jint max_priority;
+  jboolean is_daemon;
+} jvmtiThreadGroupInfo;
+
+typedef struct jvmtiThreadInfo
+{
+  char *name;
+  jint priority;
+  jboolean is_daemon;
+  jthreadGroup thread_group;
+  jobject context_class_loader;
+} jvmtiThreadInfo;
+
+typedef struct jvmtiTimerInfo
+{
+  jlong max_value;
+  jboolean may_skip_forward;
+  jboolean may_skip_backward;
+  jvmtiTimerKind kind;
+  jlong reserved1;
+  jlong reserved2;
+} jvmtiTimerInfo;
+
+/*
+ *-----------------------------------------------------------------------------
+ * JVMTI events
+ *-----------------------------------------------------------------------------
+ */
+typedef enum jvmtiEvent
+{
+  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_GARBAGE_COLLECTION_START = 81,
+  JVMTI_EVENT_GARBAGE_COLLECTION_FINISH = 82,
+  JVMTI_EVENT_OBJECT_FREE = 83,
+  JVMTI_EVENT_VM_OBJECT_ALLOC = 84,
+  jvmtiEventEnsureWideEnum = 0x1000000  /* ensure 4-byte enum */
+} jvmtiEvent;
+
+/*
+ *-----------------------------------------------------------------------------
+ * JVMTI callbacks
+ *-----------------------------------------------------------------------------
+ */
+typedef void (JNICALL * jvmtiEventSingleStep) (jvmtiEnv * jvmti_env,
+                                               JNIEnv * jni_env,
+                                               jthread thread,
+                                               jmethodID method,
+                                               jlocation location);
+typedef void (JNICALL * jvmtiEventBreakpoint) (jvmtiEnv * jvmti_env,
+                                               JNIEnv * jni_env,
+                                               jthread thread,
+                                               jmethodID method,
+                                               jlocation location);
+typedef void (JNICALL * jvmtiEventFieldAccess) (jvmtiEnv * jvmti_env,
+                                                JNIEnv * jni_env,
+                                                jthread thread,
+                                                jmethodID method,
+                                                jlocation location,
+                                                jclass field_klass,
+                                                jobject object,
+                                                jfieldID field);
+typedef void (JNICALL * jvmtiEventFieldModification) (jvmtiEnv * jvmti_env,
+                                                      JNIEnv * jni_env,
+                                                      jthread thread,
+                                                      jmethodID method,
+                                                      jlocation location,
+                                                      jclass field_klass,
+                                                      jobject object,
+                                                      jfieldID field,
+                                                      char signature_type,
+                                                      jvalue new_value);
+typedef void (JNICALL * jvmtiEventFramePop) (jvmtiEnv * jvmti_env,
+                                             JNIEnv * jni_env,
+                                             jthread thread,
+                                             jmethodID method,
+                                             jboolean
+                                             was_popped_by_exception);
+typedef void (JNICALL * jvmtiEventMethodEntry) (jvmtiEnv * jvmti_env,
+                                                JNIEnv * jni_env,
+                                                jthread thread,
+                                                jmethodID method);
+typedef void (JNICALL * jvmtiEventMethodExit) (jvmtiEnv * jvmti_env,
+                                               JNIEnv * jni_env,
+                                               jthread thread,
+                                               jmethodID method,
+                                               jboolean
+                                               was_popped_by_exception,
+                                               jvalue return_value);
+typedef void (JNICALL * jvmtiEventNativeMethodBind) (jvmtiEnv * jvmti_env,
+                                                     JNIEnv * jni_env,
+                                                     jthread thread,
+                                                     jmethodID method,
+                                                     void *address,
+                                                     void **new_address_ptr);
+typedef void (JNICALL * jvmtiEventException) (jvmtiEnv * jvmti_env,
+                                              JNIEnv * jni_env,
+                                              jthread thread,
+                                              jmethodID method,
+                                              jlocation location,
+                                              jobject exception,
+                                              jmethodID catch_method,
+                                              jlocation catch_location);
+typedef void (JNICALL * jvmtiEventExceptionCatch) (jvmtiEnv * jvmti_env,
+                                                   JNIEnv * jni_env,
+                                                   jthread thread,
+                                                   jmethodID method,
+                                                   jlocation location,
+                                                   jobject exception);
+typedef void (JNICALL * jvmtiEventThreadStart) (jvmtiEnv * jvmti_env,
+                                                JNIEnv * jni_env,
+                                                jthread thread);
+typedef void (JNICALL * jvmtiEventThreadEnd) (jvmtiEnv * jvmti_env,
+                                              JNIEnv * jni_env,
+                                              jthread thread);
+typedef void (JNICALL * jvmtiEventClassLoad) (jvmtiEnv * jvmti_env,
+                                              JNIEnv * jni_env,
+                                              jthread thread, jclass klass);
+typedef void (JNICALL * jvmtiEventClassPrepare) (jvmtiEnv * jvmti_env,
+                                                 JNIEnv * jni_env,
+                                                 jthread thread,
+                                                 jclass klass);
+typedef void (JNICALL * jvmtiEventClassFileLoadHook) (jvmtiEnv * jvmti_env,
+                                                      JNIEnv * jni_env,
+                                                      jclass
+                                                      class_being_redefined,
+                                                      jobject loader,
+                                                      const char *name,
+                                                      jobject
+                                                      protection_domain,
+                                                      jint class_data_len,
+                                                      const unsigned char
+                                                      *class_data,
+                                                      jint *
+                                                      new_class_data_len,
+                                                      unsigned char
+                                                      **new_class_data);
+typedef void (JNICALL * jvmtiEventVMStart) (jvmtiEnv * jvmti_env,
+                                            JNIEnv * jni_env);
+typedef void (JNICALL * jvmtiEventVMInit) (jvmtiEnv * jvmti_env,
+                                           JNIEnv * jni_env, jthread thread);
+typedef void (JNICALL * jvmtiEventVMDeath) (jvmtiEnv * jvmti_env,
+                                            JNIEnv * jni_env);
+typedef void (JNICALL * jvmtiEventCompiledMethodLoad) (jvmtiEnv * jvmti_env,
+                                                       jmethodID method,
+                                                       jint code_size,
+                                                       const void *code_addr,
+                                                       jint map_length,
+                                                       const
+                                                       jvmtiAddrLocationMap *
+                                                       map,
+                                                       const void
+                                                       *compile_info);
+typedef void (JNICALL * jvmtiEventCompiledMethodUnload) (jvmtiEnv * jvmti_env,
+                                                         jmethodID method,
+                                                         const void
+                                                         *code_addr);
+typedef void (JNICALL * jvmtiEventDynamicCodeGenerated) (jvmtiEnv * jvmti_env,
+                                                         const char *name,
+                                                         const void *address,
+                                                         jint length);
+typedef void (JNICALL * jvmtiEventDataDumpRequest) (jvmtiEnv * jvmti_env);
+typedef void (JNICALL * jvmtiEventMonitorContendedEnter) (jvmtiEnv *
+                                                          jvmti_env,
+                                                          JNIEnv * jni_env,
+                                                          jthread thread,
+                                                          jobject object);
+typedef void (JNICALL * jvmtiEventMonitorContendedEntered) (jvmtiEnv *
+                                                            jvmti_env,
+                                                            JNIEnv * jni_env,
+                                                            jthread thread,
+                                                            jobject object);
+typedef void (JNICALL * jvmtiEventMonitorWait) (jvmtiEnv * jvmti_env,
+                                                JNIEnv * jni_env,
+                                                jthread thread,
+                                                jobject object,
+                                                jlong timeout);
+typedef void (JNICALL * jvmtiEventMonitorWaited) (jvmtiEnv * jvmti_env,
+                                                  JNIEnv * jni_env,
+                                                  jthread thread,
+                                                  jobject object,
+                                                  jboolean timed_out);
+typedef void (JNICALL * jvmtiEventVMObjectAlloc) (jvmtiEnv * jvmti_env,
+                                                  JNIEnv * jni_env,
+                                                  jthread thread,
+                                                  jobject object,
+                                                  jclass object_klass,
+                                                  jlong size);
+typedef void (JNICALL * jvmtiEventObjectFree) (jvmtiEnv * jvmti_env,
+                                               jlong tag);
+typedef void (JNICALL * jvmtiEventGarbageCollectionStart) (jvmtiEnv *
+                                                           jvmti_env);
+typedef void (JNICALL * jvmtiEventGarbageCollectionFinish) (jvmtiEnv *
+                                                            jvmti_env);
+typedef void *jvmtiEventReserved;
+
+typedef struct
+{
+  jvmtiEventVMInit VMInit;
+  jvmtiEventVMDeath VMDeath;
+  jvmtiEventThreadStart ThreadStart;
+  jvmtiEventThreadEnd ThreadEnd;
+  jvmtiEventClassFileLoadHook ClassFileLoadHook;
+  jvmtiEventClassLoad ClassLoad;
+  jvmtiEventClassPrepare ClassPrepare;
+  jvmtiEventVMStart VMStart;
+  jvmtiEventException Exception;
+  jvmtiEventExceptionCatch ExceptionCatch;
+  jvmtiEventSingleStep SingleStep;
+  jvmtiEventFramePop FramePop;
+  jvmtiEventBreakpoint Breakpoint;
+  jvmtiEventFieldAccess FieldAccess;
+  jvmtiEventFieldModification FieldModification;
+  jvmtiEventMethodEntry MethodEntry;
+  jvmtiEventMethodExit MethodExit;
+  jvmtiEventNativeMethodBind NativeMethodBind;
+  jvmtiEventCompiledMethodLoad CompiledMethodLoad;
+  jvmtiEventCompiledMethodUnload CompiledMethodUnload;
+  jvmtiEventDynamicCodeGenerated DynamicCodeGenerated;
+  jvmtiEventDataDumpRequest DataDumpRequest;
+  jvmtiEventReserved reserved72;
+  jvmtiEventMonitorWait MonitorWait;
+  jvmtiEventMonitorWaited MonitorWaited;
+  jvmtiEventMonitorContendedEnter MonitorContendedEnter;
+  jvmtiEventMonitorContendedEntered MonitorContendedEntered;
+  jvmtiEventReserved reserved77;
+  jvmtiEventReserved reserved78;
+  jvmtiEventReserved reserved79;
+  jvmtiEventReserved reserved80;
+  jvmtiEventGarbageCollectionStart GarbageCollectionStart;
+  jvmtiEventGarbageCollectionFinish GarbageCollectionFinish;
+  jvmtiEventObjectFree ObjectFree;
+  jvmtiEventVMObjectAlloc VMObjectAlloc;
+} jvmtiEventCallbacks;
+
+/*
+ *-----------------------------------------------------------------------------
+ * JVMTI methods
+ *-----------------------------------------------------------------------------
+ */
+typedef struct JVMTINativeInterface_
+{
+  void *reserved1;
+    jvmtiError (JNICALL * SetEventNotificationMode) (jvmtiEnv * env,
+                                                     jvmtiEventMode mode,
+                                                     jvmtiEvent event_type,
+                                                     jthread event_thread,
+                                                     ...);
+  void *reserved3;
+    jvmtiError (JNICALL * GetAllThreads) (jvmtiEnv * env,
+                                          jint * threads_count_ptr,
+                                          jthread ** threads_ptr);
+    jvmtiError (JNICALL * SuspendThread) (jvmtiEnv * env, jthread thread);
+    jvmtiError (JNICALL * ResumeThread) (jvmtiEnv * env, jthread thread);
+    jvmtiError (JNICALL * StopThread) (jvmtiEnv * env, jthread thread,
+                                       jobject exception);
+    jvmtiError (JNICALL * InterruptThread) (jvmtiEnv * env, jthread thread);
+    jvmtiError (JNICALL * GetThreadInfo) (jvmtiEnv * env, jthread thread,
+                                          jvmtiThreadInfo * info_ptr);
+    jvmtiError (JNICALL * GetOwnedMonitorInfo) (jvmtiEnv * env,
+                                                jthread thread,
+                                                jint *
+                                                owned_monitor_count_ptr,
+                                                jobject **
+                                                owned_monitors_ptr);
+    jvmtiError (JNICALL * GetCurrentContendedMonitor) (jvmtiEnv * env,
+                                                       jthread thread,
+                                                       jobject * monitor_ptr);
+    jvmtiError (JNICALL * RunAgentThread) (jvmtiEnv * env, jthread thread,
+                                           jvmtiStartFunction proc,
+                                           const void *arg, jint priority);
+    jvmtiError (JNICALL * GetTopThreadGroups) (jvmtiEnv * env,
+                                               jint * group_count_ptr,
+                                               jthreadGroup ** groups_ptr);
+    jvmtiError (JNICALL * GetThreadGroupInfo) (jvmtiEnv * env,
+                                               jthreadGroup group,
+                                               jvmtiThreadGroupInfo *
+                                               info_ptr);
+    jvmtiError (JNICALL * GetThreadGroupChildren) (jvmtiEnv * env,
+                                                   jthreadGroup group,
+                                                   jint * thread_count_ptr,
+                                                   jthread ** threads_ptr,
+                                                   jint * group_count_ptr,
+                                                   jthreadGroup **
+                                                   groups_ptr);
+    jvmtiError (JNICALL * GetFrameCount) (jvmtiEnv * env, jthread thread,
+                                          jint * count_ptr);
+    jvmtiError (JNICALL * GetThreadState) (jvmtiEnv * env, jthread thread,
+                                           jint * thread_state_ptr);
+    void *reserved18;
+    jvmtiError (JNICALL * GetFrameLocation) (jvmtiEnv * env, jthread thread,
+                                             jint depth,
+                                             jmethodID * method_ptr,
+                                             jlocation * location_ptr);
+    jvmtiError (JNICALL * NotifyFramePop) (jvmtiEnv * env, jthread thread,
+                                           jint depth);
+    jvmtiError (JNICALL * GetLocalObject) (jvmtiEnv * env, jthread thread,
+                                           jint depth, jint slot,
+                                           jobject * value_ptr);
+    jvmtiError (JNICALL * GetLocalInt) (jvmtiEnv * env, jthread thread,
+                                        jint depth, jint slot,
+                                        jint * value_ptr);
+    jvmtiError (JNICALL * GetLocalLong) (jvmtiEnv * env, jthread thread,
+                                         jint depth, jint slot,
+                                         jlong * value_ptr);
+    jvmtiError (JNICALL * GetLocalFloat) (jvmtiEnv * env, jthread thread,
+                                          jint depth, jint slot,
+                                          jfloat * value_ptr);
+    jvmtiError (JNICALL * GetLocalDouble) (jvmtiEnv * env, jthread thread,
+                                           jint depth, jint slot,
+                                           jdouble * value_ptr);
+    jvmtiError (JNICALL * SetLocalObject) (jvmtiEnv * env, jthread thread,
+                                           jint depth, jint slot,
+                                           jobject value);
+    jvmtiError (JNICALL * SetLocalInt) (jvmtiEnv * env, jthread thread,
+                                        jint depth, jint slot, jint value);
+    jvmtiError (JNICALL * SetLocalLong) (jvmtiEnv * env, jthread thread,
+                                         jint depth, jint slot, jlong value);
+    jvmtiError (JNICALL * SetLocalFloat) (jvmtiEnv * env, jthread thread,
+                                          jint depth, jint slot,
+                                          jfloat value);
+    jvmtiError (JNICALL * SetLocalDouble) (jvmtiEnv * env, jthread thread,
+                                           jint depth, jint slot,
+                                           jdouble value);
+    jvmtiError (JNICALL * CreateRawMonitor) (jvmtiEnv * env, const char *name,
+                                             jrawMonitorID * monitor_ptr);
+    jvmtiError (JNICALL * DestroyRawMonitor) (jvmtiEnv * env,
+                                              jrawMonitorID monitor);
+    jvmtiError (JNICALL * RawMonitorEnter) (jvmtiEnv * env,
+                                            jrawMonitorID monitor);
+    jvmtiError (JNICALL * RawMonitorExit) (jvmtiEnv * env,
+                                           jrawMonitorID monitor);
+    jvmtiError (JNICALL * RawMonitorWait) (jvmtiEnv * env,
+                                           jrawMonitorID monitor,
+                                           jlong millis);
+    jvmtiError (JNICALL * RawMonitorNotify) (jvmtiEnv * env,
+                                             jrawMonitorID monitor);
+    jvmtiError (JNICALL * RawMonitorNotifyAll) (jvmtiEnv * env,
+                                                jrawMonitorID monitor);
+    jvmtiError (JNICALL * SetBreakpoint) (jvmtiEnv * env, jmethodID method,
+                                          jlocation location);
+    jvmtiError (JNICALL * ClearBreakpoint) (jvmtiEnv * env, jmethodID method,
+                                            jlocation location);
+    void *reserved40;
+    jvmtiError (JNICALL * SetFieldAccessWatch) (jvmtiEnv * env, jclass klass,
+                                                jfieldID field);
+    jvmtiError (JNICALL * ClearFieldAccessWatch) (jvmtiEnv * env,
+                                                  jclass klass,
+                                                  jfieldID field);
+    jvmtiError (JNICALL * SetFieldModificationWatch) (jvmtiEnv * env,
+                                                      jclass klass,
+                                                      jfieldID field);
+    jvmtiError (JNICALL * ClearFieldModificationWatch) (jvmtiEnv * env,
+                                                        jclass klass,
+                                                        jfieldID field);
+    void *reserved45;
+    jvmtiError (JNICALL * Allocate) (jvmtiEnv * env, jlong size,
+                                     unsigned char **mem_ptr);
+    jvmtiError (JNICALL * Deallocate) (jvmtiEnv * env, unsigned char *mem);
+    jvmtiError (JNICALL * GetClassSignature) (jvmtiEnv * env, jclass klass,
+                                              char **signature_ptr,
+                                              char **generic_ptr);
+    jvmtiError (JNICALL * GetClassStatus) (jvmtiEnv * env, jclass klass,
+                                           jint * status_ptr);
+    jvmtiError (JNICALL * GetSourceFileName) (jvmtiEnv * env, jclass klass,
+                                              char **source_name_ptr);
+    jvmtiError (JNICALL * GetClassModifiers) (jvmtiEnv * env, jclass klass,
+                                              jint * modifiers_ptr);
+    jvmtiError (JNICALL * GetClassMethods) (jvmtiEnv * env, jclass klass,
+                                            jint * method_count_ptr,
+                                            jmethodID ** methods_ptr);
+    jvmtiError (JNICALL * GetClassFields) (jvmtiEnv * env, jclass klass,
+                                           jint * field_count_ptr,
+                                           jfieldID ** fields_ptr);
+    jvmtiError (JNICALL * GetImplementedInterfaces) (jvmtiEnv * env,
+                                                     jclass klass,
+                                                     jint *
+                                                     interface_count_ptr,
+                                                     jclass **
+                                                     interfaces_ptr);
+    jvmtiError (JNICALL * IsInterface) (jvmtiEnv * env, jclass klass,
+                                        jboolean * is_interface_ptr);
+    jvmtiError (JNICALL * IsArrayClass) (jvmtiEnv * env, jclass klass,
+                                         jboolean * is_array_class_ptr);
+    jvmtiError (JNICALL * GetClassLoader) (jvmtiEnv * env, jclass klass,
+                                           jobject * classloader_ptr);
+    jvmtiError (JNICALL * GetObjectHashCode) (jvmtiEnv * env, jobject object,
+                                              jint * hash_code_ptr);
+    jvmtiError (JNICALL * GetObjectMonitorUsage) (jvmtiEnv * env,
+                                                  jobject object,
+                                                  jvmtiMonitorUsage *
+                                                  info_ptr);
+    jvmtiError (JNICALL * GetFieldName) (jvmtiEnv * env, jclass klass,
+                                         jfieldID field, char **name_ptr,
+                                         char **signature_ptr,
+                                         char **generic_ptr);
+    jvmtiError (JNICALL * GetFieldDeclaringClass) (jvmtiEnv * env,
+                                                   jclass klass,
+                                                   jfieldID field,
+                                                   jclass *
+                                                   declaring_class_ptr);
+    jvmtiError (JNICALL * GetFieldModifiers) (jvmtiEnv * env, jclass klass,
+                                              jfieldID field,
+                                              jint * modifiers_ptr);
+    jvmtiError (JNICALL * IsFieldSynthetic) (jvmtiEnv * env, jclass klass,
+                                             jfieldID field,
+                                             jboolean * is_synthetic_ptr);
+    jvmtiError (JNICALL * GetMethodName) (jvmtiEnv * env, jmethodID method,
+                                          char **name_ptr,
+                                          char **signature_ptr,
+                                          char **generic_ptr);
+    jvmtiError (JNICALL * GetMethodDeclaringClass) (jvmtiEnv * env,
+                                                    jmethodID method,
+                                                    jclass *
+                                                    declaring_class_ptr);
+    jvmtiError (JNICALL * GetMethodModifiers) (jvmtiEnv * env,
+                                               jmethodID method,
+                                               jint * modifiers_ptr);
+    void *reserved67;
+    jvmtiError (JNICALL * GetMaxLocals) (jvmtiEnv * env, jmethodID method,
+                                         jint * max_ptr);
+    jvmtiError (JNICALL * GetArgumentsSize) (jvmtiEnv * env, jmethodID method,
+                                             jint * size_ptr);
+    jvmtiError (JNICALL * GetLineNumberTable) (jvmtiEnv * env,
+                                               jmethodID method,
+                                               jint * entry_count_ptr,
+                                               jvmtiLineNumberEntry **
+                                               table_ptr);
+    jvmtiError (JNICALL * GetMethodLocation) (jvmtiEnv * env,
+                                              jmethodID method,
+                                              jlocation * start_location_ptr,
+                                              jlocation * end_location_ptr);
+    jvmtiError (JNICALL * GetLocalVariableTable) (jvmtiEnv * env,
+                                                  jmethodID method,
+                                                  jint * entry_count_ptr,
+                                                  jvmtiLocalVariableEntry **
+                                                  table_ptr);
+    void *reserved73;
+    void *reserved74;
+    jvmtiError (JNICALL * GetBytecodes) (jvmtiEnv * env, jmethodID method,
+                                         jint * bytecode_count_ptr,
+                                         unsigned char **bytecodes_ptr);
+    jvmtiError (JNICALL * IsMethodNative) (jvmtiEnv * env, jmethodID method,
+                                           jboolean * is_native_ptr);
+    jvmtiError (JNICALL * IsMethodSynthetic) (jvmtiEnv * env,
+                                              jmethodID method,
+                                              jboolean * is_synthetic_ptr);
+    jvmtiError (JNICALL * GetLoadedClasses) (jvmtiEnv * env,
+                                             jint * class_count_ptr,
+                                             jclass ** classes_ptr);
+    jvmtiError (JNICALL * GetClassLoaderClasses) (jvmtiEnv * env,
+                                                  jobject initiating_loader,
+                                                  jint * class_count_ptr,
+                                                  jclass ** classes_ptr);
+    jvmtiError (JNICALL * PopFrame) (jvmtiEnv * env, jthread thread);
+    void *reserved81;
+    void *reserved82;
+    void *reserved83;
+    void *reserved84;
+    void *reserved85;
+    void *reserved86;
+    jvmtiError (JNICALL * RedefineClasses) (jvmtiEnv * env, jint class_count,
+                                            const jvmtiClassDefinition *
+                                            class_definitions);
+    jvmtiError (JNICALL * GetVersionNumber) (jvmtiEnv * env,
+                                             jint * version_ptr);
+    jvmtiError (JNICALL * GetCapabilities) (jvmtiEnv * env,
+                                            jvmtiCapabilities *
+                                            capabilities_ptr);
+    jvmtiError (JNICALL * GetSourceDebugExtension) (jvmtiEnv * env,
+                                                    jclass klass,
+                                                    char
+                                                    **source_debug_extension_ptr);
+    jvmtiError (JNICALL * IsMethodObsolete) (jvmtiEnv * env, jmethodID method,
+                                             jboolean * is_obsolete_ptr);
+    jvmtiError (JNICALL * SuspendThreadList) (jvmtiEnv * env,
+                                              jint request_count,
+                                              const jthread * request_list,
+                                              jvmtiError * results);
+    jvmtiError (JNICALL * ResumeThreadList) (jvmtiEnv * env,
+                                             jint request_count,
+                                             const jthread * request_list,
+                                             jvmtiError * results);
+    void *reserved94;
+    void *reserved95;
+    void *reserved96;
+    void *reserved97;
+    void *reserved98;
+    void *reserved99;
+    jvmtiError (JNICALL * GetAllStackTraces) (jvmtiEnv * env,
+                                              jint max_frame_count,
+                                              jvmtiStackInfo **
+                                              stack_info_ptr,
+                                              jint * thread_count_ptr);
+    jvmtiError (JNICALL * GetThreadListStackTraces) (jvmtiEnv * env,
+                                                     jint thread_count,
+                                                     const jthread *
+                                                     thread_list,
+                                                     jint max_frame_count,
+                                                     jvmtiStackInfo **
+                                                     stack_info_ptr);
+    jvmtiError (JNICALL * GetThreadLocalStorage) (jvmtiEnv * env,
+                                                  jthread thread,
+                                                  void **data_ptr);
+    jvmtiError (JNICALL * SetThreadLocalStorage) (jvmtiEnv * env,
+                                                  jthread thread,
+                                                  const void *data);
+    jvmtiError (JNICALL * GetStackTrace) (jvmtiEnv * env, jthread thread,
+                                          jint start_depth,
+                                          jint max_frame_count,
+                                          jvmtiFrameInfo * frame_buffer,
+                                          jint * count_ptr);
+    void *reserved105;
+    jvmtiError (JNICALL * GetTag) (jvmtiEnv * env, jobject object,
+                                   jlong * tag_ptr);
+    jvmtiError (JNICALL * SetTag) (jvmtiEnv * env, jobject object, jlong tag);
+    jvmtiError (JNICALL * ForceGarbageCollection) (jvmtiEnv * env);
+    jvmtiError (JNICALL * IterateOverObjectsReachableFromObject) (jvmtiEnv *
+                                                                  env,
+                                                                  jobject
+                                                                  object,
+                                                                  jvmtiObjectReferenceCallback
+                                                                  object_reference_callback,
+                                                                  void
+                                                                  *user_data);
+    jvmtiError (JNICALL * IterateOverReachableObjects) (jvmtiEnv * env,
+                                                        jvmtiHeapRootCallback
+                                                        heap_root_callback,
+                                                        jvmtiStackReferenceCallback
+                                                        stack_ref_callback,
+                                                        jvmtiObjectReferenceCallback
+                                                        object_ref_callback,
+                                                        void *user_data);
+    jvmtiError (JNICALL * IterateOverHeap) (jvmtiEnv * env,
+                                            jvmtiHeapObjectFilter
+                                            object_filter,
+                                            jvmtiHeapObjectCallback
+                                            heap_object_callback,
+                                            void *user_data);
+    jvmtiError (JNICALL * IterateOverInstancesOfClass) (jvmtiEnv * env,
+                                                        jclass klass,
+                                                        jvmtiHeapObjectFilter
+                                                        object_filter,
+                                                        jvmtiHeapObjectCallback
+                                                        heap_object_callback,
+                                                        void *user_data);
+    void *reserved113;
+    jvmtiError (JNICALL * GetObjectsWithTags) (jvmtiEnv * env, jint tag_count,
+                                               const jlong * tags,
+                                               jint * count_ptr,
+                                               jobject ** object_result_ptr,
+                                               jlong ** tag_result_ptr);
+    void *reserved115;
+    void *reserved116;
+    void *reserved117;
+    void *reserved118;
+    void *reserved119;
+    jvmtiError (JNICALL * SetJNIFunctionTable) (jvmtiEnv * env,
+                                                const jniNativeInterface *
+                                                function_table);
+    jvmtiError (JNICALL * GetJNIFunctionTable) (jvmtiEnv * env,
+                                                jniNativeInterface **
+                                                function_table);
+    jvmtiError (JNICALL * SetEventCallbacks) (jvmtiEnv * env,
+                                              const jvmtiEventCallbacks *
+                                              callbacks,
+                                              jint size_of_callbacks);
+    jvmtiError (JNICALL * GenerateEvents) (jvmtiEnv * env,
+                                           jvmtiEvent event_type);
+    jvmtiError (JNICALL * GetExtensionFunctions) (jvmtiEnv * env,
+                                                  jint * extension_count_ptr,
+                                                  jvmtiExtensionFunctionInfo
+                                                  ** extensions);
+    jvmtiError (JNICALL * GetExtensionEvents) (jvmtiEnv * env,
+                                               jint * extension_count_ptr,
+                                               jvmtiExtensionEventInfo **
+                                               extensions);
+    jvmtiError (JNICALL * SetExtensionEventCallback) (jvmtiEnv * env,
+                                                      jint
+                                                      extension_event_index,
+                                                      jvmtiExtensionEvent
+                                                      callback);
+    jvmtiError (JNICALL * DisposeEnvironment) (jvmtiEnv * env);
+    jvmtiError (JNICALL * GetErrorName) (jvmtiEnv * env, jvmtiError error,
+                                         char **name_ptr);
+    jvmtiError (JNICALL * GetJLocationFormat) (jvmtiEnv * env,
+                                               jvmtiJlocationFormat *
+                                               format_ptr);
+    jvmtiError (JNICALL * GetSystemProperties) (jvmtiEnv * env,
+                                                jint * count_ptr,
+                                                char ***property_ptr);
+    jvmtiError (JNICALL * GetSystemProperty) (jvmtiEnv * env,
+                                              const char *property,
+                                              char **value_ptr);
+    jvmtiError (JNICALL * SetSystemProperty) (jvmtiEnv * env,
+                                              const char *property,
+                                              const char *value);
+    jvmtiError (JNICALL * GetPhase) (jvmtiEnv * env, jvmtiPhase * phase_ptr);
+    jvmtiError (JNICALL * GetCurrentThreadCpuTimerInfo) (jvmtiEnv * env,
+                                                         jvmtiTimerInfo *
+                                                         info_ptr);
+    jvmtiError (JNICALL * GetCurrentThreadCpuTime) (jvmtiEnv * env,
+                                                    jlong * nanos_ptr);
+    jvmtiError (JNICALL * GetThreadCpuTimerInfo) (jvmtiEnv * env,
+                                                  jvmtiTimerInfo * info_ptr);
+    jvmtiError (JNICALL * GetThreadCpuTime) (jvmtiEnv * env, jthread thread,
+                                             jlong * nanos_ptr);
+    jvmtiError (JNICALL * GetTimerInfo) (jvmtiEnv * env,
+                                         jvmtiTimerInfo * info_ptr);
+    jvmtiError (JNICALL * GetTime) (jvmtiEnv * env, jlong * nanos_ptr);
+    jvmtiError (JNICALL * GetPotentialCapabilities) (jvmtiEnv * env,
+                                                     jvmtiCapabilities *
+                                                     capabilities_ptr);
+    void *reserved141;
+    jvmtiError (JNICALL * AddCapabilities) (jvmtiEnv * env,
+                                            const jvmtiCapabilities *
+                                            capabilities_ptr);
+    jvmtiError (JNICALL * RelinquishCapabilities) (jvmtiEnv * env,
+                                                   const jvmtiCapabilities *
+                                                   capabilities_ptr);
+    jvmtiError (JNICALL * GetAvailableProcessors) (jvmtiEnv * env,
+                                                   jint *
+                                                   processor_count_ptr);
+    void *reserved145;
+    void *reserved146;
+    jvmtiError (JNICALL * GetEnvironmentLocalStorage) (jvmtiEnv * env,
+                                                       void **data_ptr);
+    jvmtiError (JNICALL * SetEnvironmentLocalStorage) (jvmtiEnv * env,
+                                                       const void *data);
+    jvmtiError (JNICALL * AddToBootstrapClassLoaderSearch) (jvmtiEnv * env,
+                                                            const char
+                                                            *segment);
+    jvmtiError (JNICALL * SetVerboseFlag) (jvmtiEnv * env,
+                                           jvmtiVerboseFlag flag,
+                                           jboolean value);
+    void *reserved151;
+    void *reserved152;
+    void *reserved153;
+    jvmtiError (JNICALL * GetObjectSize) (jvmtiEnv * env, jobject object,
+                                          jlong * size_ptr);
+} jvmtiNativeInterface;
+
+#endif /* jvmti_h */

Added: incubator/harmony/enhanced/trunk/sandbox/contribs/ibm_core/native-src/win.IA32/include/portsock.h
URL: http://svn.apache.org/viewcvs/incubator/harmony/enhanced/trunk/sandbox/contribs/ibm_core/native-src/win.IA32/include/portsock.h?rev=350181&view=auto
==============================================================================
--- incubator/harmony/enhanced/trunk/sandbox/contribs/ibm_core/native-src/win.IA32/include/portsock.h (added)
+++ incubator/harmony/enhanced/trunk/sandbox/contribs/ibm_core/native-src/win.IA32/include/portsock.h Wed Nov 30 21:29:27 2005
@@ -0,0 +1,25 @@
+/* Copyright 1998, 2005 The Apache Software Foundation or its licensors, as applicable
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/******************************************************\
+    Redirects to port socket header
+\******************************************************/
+
+#if !defined(portsock_h)
+#define portsock_h
+
+#include "../port/hysock.h"
+
+#endif /* portsock_h */

Added: incubator/harmony/enhanced/trunk/sandbox/contribs/ibm_core/native-src/win.IA32/include/ute_module.h
URL: http://svn.apache.org/viewcvs/incubator/harmony/enhanced/trunk/sandbox/contribs/ibm_core/native-src/win.IA32/include/ute_module.h?rev=350181&view=auto
==============================================================================
--- incubator/harmony/enhanced/trunk/sandbox/contribs/ibm_core/native-src/win.IA32/include/ute_module.h (added)
+++ incubator/harmony/enhanced/trunk/sandbox/contribs/ibm_core/native-src/win.IA32/include/ute_module.h Wed Nov 30 21:29:27 2005
@@ -0,0 +1,85 @@
+/* Copyright 1991, 2005 The Apache Software Foundation or its licensors, as applicable
+ * 
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ * =============================================================================
+ * DESCRIPTION: Universal Trace Engine module header file
+ * =============================================================================
+ */
+#if !defined(_UTE_MODULE_H)
+#define _UTE_MODULE_H
+
+#define UT_ENV_ARG void *env
+#define UT_CALL_TYPE
+
+#include "jni.h"
+#include "ute_pd.h"
+#if defined(__cplusplus)
+extern "C"
+{
+#endif
+/*
+ * =============================================================================
+ *   Forward declarations
+ * =============================================================================
+ */
+  struct utServerInterface;
+  typedef struct utServerInterface UtServerInterface;
+  struct utClientInterface;
+  typedef struct utClientInterface UtClientInterface;
+  struct utModuleInterface;
+  typedef struct utModuleInterface UtModuleInterface;
+
+/*
+ * =============================================================================
+ *   The combined UT server/client/module interface
+ * =============================================================================
+ */
+  typedef struct utInterface
+  {
+    UtServerInterface *server;
+    UtClientInterface *client;
+    UtModuleInterface *module;
+  } UtInterface;
+/*
+ * =============================================================================
+ *  UT module info
+ * =============================================================================
+ */
+  typedef struct utModuleInfo
+  {
+    char *name;
+    UT_I32 namelength;
+    UtModuleInterface *intf;
+    char *properties;
+    UT_I32 *stateTrace;
+  } UtModuleInfo;
+/*
+ * =============================================================================
+ *   The module interface for indirect calls into UT
+ * =============================================================================
+ */
+  struct utModuleInterface
+  {
+    void (UT_CALL_TYPE * Trace) (UT_ENV_ARG, UtModuleInfo * modInfo,
+                                 UT_U32 traceId, const char *spec, ...);
+    void (UT_CALL_TYPE * TraceInit) (UT_ENV_ARG, UtModuleInfo * mod);
+    void (UT_CALL_TYPE * TraceTerm) (UT_ENV_ARG, UtModuleInfo * mod);
+  };
+#if defined(__cplusplus)
+}
+#endif
+
+#endif  /* !_UTE_MODULE_H */



Mime
View raw message