harmony-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From gshiman...@apache.org
Subject svn commit: r523751 - in /harmony/enhanced/drlvm/trunk/vm: doc/vm.cfg include/jni.h include/jni_types.h include/jvmti.h include/jvmti_types.h
Date Thu, 29 Mar 2007 15:40:34 GMT
Author: gshimansky
Date: Thu Mar 29 08:40:33 2007
New Revision: 523751

URL: http://svn.apache.org/viewvc?view=rev&rev=523751
Log:
Applied fix for HARMONY-3274 [drlvm][doc]scarce comments in vmcore external interface headers (JNI and JVMTI bundle)

Added doxygen comments which mostly link documentation to Sun specifications


Modified:
    harmony/enhanced/drlvm/trunk/vm/doc/vm.cfg
    harmony/enhanced/drlvm/trunk/vm/include/jni.h
    harmony/enhanced/drlvm/trunk/vm/include/jni_types.h
    harmony/enhanced/drlvm/trunk/vm/include/jvmti.h
    harmony/enhanced/drlvm/trunk/vm/include/jvmti_types.h

Modified: harmony/enhanced/drlvm/trunk/vm/doc/vm.cfg
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/doc/vm.cfg?view=diff&rev=523751&r1=523750&r2=523751
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/doc/vm.cfg (original)
+++ harmony/enhanced/drlvm/trunk/vm/doc/vm.cfg Thu Mar 29 08:40:33 2007
@@ -970,6 +970,7 @@
 # or name=definition (no spaces). If the definition and the = are
 # omitted =1 is assumed.
 PREDEFINED             = "APR_DECLARE(x)=x" \
+                         __cplusplus \
                          DOXYGEN
 
 # If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then

Modified: harmony/enhanced/drlvm/trunk/vm/include/jni.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/include/jni.h?view=diff&rev=523751&r1=523750&r2=523751
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/include/jni.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/include/jni.h Thu Mar 29 08:40:33 2007
@@ -14,14 +14,14 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-/** 
- * @author Intel, Gregory Shimansky
- * @version $Revision: 1.1.2.1.4.3 $
- */  
-
 /**
- * @file This file describes the JNI interface as per the JNI
- * specification 1.5 available from Sun.
+ * @file
+ * This file describes the JNI interface as per the JNI
+ * specification 1.5 available from Sun
+ *
+ * See <a
+ * href="http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/jniTOC.html">specification</a>
+ * for details.
  */
 
 #ifndef _JNI_H_
@@ -34,12 +34,25 @@
 /*
  * Supported JNI versions
  */
+/**
+ * Constant which specifies JNI interface version 1.1
+ */
 #define JNI_VERSION_1_1 0x00010001
+/**
+ * Constant which specifies JNI interface version 1.2
+ */
 #define JNI_VERSION_1_2 0x00010002
+/**
+ * Constant which specifies JNI interface version 1.4
+ */
 #define JNI_VERSION_1_4 0x00010004
 
-/*
- * JNI Native Method Interface - C
+/**
+ * JNI Native Method Interface table for use in C sources
+ *
+ * See <a
+ * href="http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/functions.html#wp23720">specification</a>
+ * for details
  */
 struct JNINativeInterface_ {
     void *reserved0;
@@ -592,8 +605,12 @@
 };
 
 
-/*
- * JNI Native Interface - C++
+/**
+ * JNI Native Method Interface table for use in C++ sources
+ *
+ * See <a
+ * href="http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/functions.html#wp23720">specification</a>
+ * for details
  */
 struct JNIEnv_External {
     const struct JNINativeInterface_ *functions;
@@ -1672,14 +1689,26 @@
 
 };
 
-/*
- * JNI Invocation Interface
+/**
+ * Structure which describes one Java VM invocation argument
+ *
+ * See <a
+ * href="http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/invocation.html#wp16334">specification</a>
+ * for details.
  */
 typedef struct JavaVMOption {
     char *optionString;
     void *extraInfo;
 } JavaVMOption;
 
+/**
+ * Structure which describes one Java VM invocation arguments for JNI
+ * interface version 1.2 and greater
+ *
+ * See <a
+ * href="http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/invocation.html#wp16334">specification</a>
+ * for details.
+ */
 typedef struct JavaVMInitArgs {
     jint version;
     jint nOptions;
@@ -1687,12 +1716,26 @@
     jboolean ignoreUnrecognized;
 } JavaVMInitArgs;
 
+/**
+ * Structure which describes arguments for attaching a native thread to a Java VM
+ *
+ * See <a
+ * href="http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/invocation.html#attach_current_thread">specification</a>
+ * for details.
+ */
 typedef struct JavaVMAttachArgs {
     jint version;  
     char *name;
     jobject group;
 } JavaVMAttachArgs;
 
+/**
+ * JNI Invocation Interface table for use in C sources
+ *
+ * See <a
+ * href="http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/invocation.html#invocation_api_functions">
+ * specification</a> for details
+ */
 struct JNIInvokeInterface_ {
     void* reserved0;
     void* reserved1;
@@ -1708,6 +1751,13 @@
     jint (JNICALL *AttachCurrentThreadAsDaemon)(JavaVM*, void** penv, void* args);
 };
 
+/**
+ * JNI Invocation Interface table for use in C++ sources
+ *
+ * See <a
+ * href="http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/invocation.html#invocation_api_functions">
+ * specification</a> for details
+ */
 struct JavaVM_External {
     const struct JNIInvokeInterface_* functions;
 
@@ -1739,18 +1789,44 @@
 extern "C" {
 #endif
 
+/**
+ * @def _JNI_EXPORT_
+ * Function attribute used when building VM from sources
+ */
 #ifdef BUILDING_VM
 #define _JNI_EXPORT_ JNIEXPORT
 #else
 #define _JNI_EXPORT_ JNIIMPORT
 #endif
 
+/**
+ * Function to get the default VM arguments
+ *
+ * See <a
+ * href="http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/invocation.html#wp16064">specification</a>
+ * for details.
+ */
 _JNI_EXPORT_ jint JNICALL JNI_GetDefaultJavaVMInitArgs(void * vm_args);
 
+/**
+ * Function to get an array of already created Java VMs in the current
+ * process
+ *
+ * See <a
+ * href="http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/invocation.html#wp633">specification</a>
+ * for details.
+ */
 _JNI_EXPORT_ jint JNICALL JNI_GetCreatedJavaVMs(JavaVM ** vmBuf,
                                                 jsize bufLen,
                                                 jsize * nVMs);
 
+/**
+ * Creates Java VM in the current process
+ *
+ * See <a
+ * href="http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/invocation.html#wp16334">specification</a>
+ * for details.
+ */
 _JNI_EXPORT_ jint JNICALL JNI_CreateJavaVM(JavaVM ** p_vm, JNIEnv ** p_env,
                                            void * vm_args);
 

Modified: harmony/enhanced/drlvm/trunk/vm/include/jni_types.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/include/jni_types.h?view=diff&rev=523751&r1=523750&r2=523751
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/include/jni_types.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/include/jni_types.h Thu Mar 29 08:40:33 2007
@@ -14,18 +14,39 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-/** 
- * @author Intel, Gregory Shimansky
- * @version $Revision: 1.1.2.1.4.3 $
- */  
 
 #ifndef _JNI_TYPES_H_
 #define _JNI_TYPES_H_
 
-/*
- * @file JNI types used for OPEN interface
+/**
+ * @file
+ * Types used in JNI and OPEN interfaces.
+ *
+ * For the most part JNI types are defined by Sun specification on
+ * Java Native Interface (JNI). See <a
+ * href="http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/types.html">specification</a>
+ * for details.
  */
 
+/* The following documentation is both for windows and linux, so it
+ * resides outside of ifdef-endif block */
+/**
+ * @def JNIEXPORT
+ * Function attribute to make native JNI function exportable
+ */
+/**
+ * @def JNIIMPORT
+ * Function attribute used when building VM from sources
+ */
+/**
+ * @def JNICALL
+ * Function attribute to specify calling conventions that should be
+ * used for native JNI functions
+ */
+/**
+ * @typedef jlong
+ * Signed 64-bit long type equivalent to Java "long" type
+ */
 #if defined (_WIN32) || defined (__WIN32__) || defined (WIN32)
 
 #define JNIEXPORT __declspec(dllexport)
@@ -36,46 +57,234 @@
 
 #else
 
-#define JNIEXPORT 
+#define JNIEXPORT
 #define JNIIMPORT
 #define JNICALL
 
-typedef signed long long jlong; 
+typedef signed long long jlong;
 
 #endif
 
 /*
  * Primitive types
  */
+/**
+ * Unsigned 8-bit primitive boolean type equivalent to Java "boolean"
+ * type
+ *
+ * See <a
+ * href="http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/types.html#wp428">specification</a>
+ * for details.
+ */
 typedef unsigned char jboolean;
+/**
+ * Signed 8-bit primitive byte type equivalent to Java "byte" type
+ *
+ * See <a
+ * href="http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/types.html#wp428">specification</a>
+ * for details.
+ */
 typedef signed char jbyte;
+/**
+ * Unsigned 16-bit primitive char type equivalent to Java "char" type
+ *
+ * See <a
+ * href="http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/types.html#wp428">specification</a>
+ * for details.
+ */
 typedef unsigned short jchar;
+/**
+ * Signed 16-bit primitive short type equivalent to Java "short" type
+ *
+ * See <a
+ * href="http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/types.html#wp428">specification</a>
+ * for details.
+ */
 typedef signed short jshort;
+/**
+ * Signed 32-bit primitive integer type equivalent to Java "int" type
+ *
+ * See <a
+ * href="http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/types.html#wp428">specification</a>
+ * for details.
+ */
 typedef signed int jint;
+/**
+ * Signed 32-bit primitive floating point type equivalent to Java
+ * "float" type
+ *
+ * See <a
+ * href="http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/types.html#wp428">specification</a>
+ * for details.
+ */
 typedef float jfloat;
+/**
+ * Signed 64-bit primitive floating point type equivalent to Java
+ * "double" type
+ *
+ * See <a
+ * href="http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/types.html#wp428">specification</a>
+ * for details.
+ */
 typedef double jdouble;
+/**
+ * Signed 32-bit primitive integer type used to describe sizes
+ *
+ * See <a
+ * href="http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/types.html#wp428">specification</a>
+ * for details.
+ */
 typedef jint jsize;
 
 /*
  * Java types
  */
 struct _jobject;
+/**
+ * Reference type which describes a general Java object in native
+ * function
+ *
+ * See <a
+ * href="http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/types.html#wp15954">specification</a>
+ * for details.
+ */
 typedef struct _jobject*  jobject;
+/**
+ * Reference type which describes a java.lang.Class instance object in
+ * native function
+ *
+ * See <a
+ * href="http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/types.html#wp15954">specification</a>
+ * for details.
+ */
 typedef jobject           jclass;
+/**
+ * Reference type which describes a java.lang.String instance object
+ * in native function
+ *
+ * See <a
+ * href="http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/types.html#wp15954">specification</a>
+ * for details.
+ */
 typedef jobject           jstring;
+/**
+ * Reference type which describes a generic array instance object in
+ * native function
+ *
+ * See <a
+ * href="http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/types.html#wp15954">specification</a>
+ * for details.
+ */
 typedef jobject           jarray;
+/**
+ * Reference type which describes an array of java.lang.Object
+ * instances in native function
+ *
+ * See <a
+ * href="http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/types.html#wp15954">specification</a>
+ * for details.
+ */
     typedef jarray        jobjectArray;
+/**
+ * Reference type which describes an array of booleans in native
+ * function
+ *
+ * See <a
+ * href="http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/types.html#wp15954">specification</a>
+ * for details.
+ */
     typedef jarray        jbooleanArray;
+/**
+ * Reference type which describes an array of bytes type in native
+ * function
+ *
+ * See <a
+ * href="http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/types.html#wp15954">specification</a>
+ * for details.
+ */
     typedef jarray        jbyteArray;
+/**
+ * Reference type which describes an array of chars type in native
+ * function
+ *
+ * See <a
+ * href="http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/types.html#wp15954">specification</a>
+ * for details.
+ */
     typedef jarray        jcharArray;
+/**
+ * Reference type which describes an array of shorts type in native
+ * function
+ *
+ * See <a
+ * href="http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/types.html#wp15954">specification</a>
+ * for details.
+ */
     typedef jarray        jshortArray;
+/**
+ * Reference type which describes an array of ints type in native
+ * function
+ *
+ * See <a
+ * href="http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/types.html#wp15954">specification</a>
+ * for details.
+ */
     typedef jarray        jintArray;
+/**
+ * Reference type which describes an array of longs type in native
+ * function
+ *
+ * See <a
+ * href="http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/types.html#wp15954">specification</a>
+ * for details.
+ */
     typedef jarray        jlongArray;
+/**
+ * Reference type which describes an array of floats type in native
+ * function
+ *
+ * See <a
+ * href="http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/types.html#wp15954">specification</a>
+ * for details.
+ */
     typedef jarray        jfloatArray;
+/**
+ * Reference type which describes an array of doubles type in native
+ * function
+ *
+ * See <a
+ * href="http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/types.html#wp15954">specification</a>
+ * for details.
+ */
     typedef jarray        jdoubleArray;
+/**
+ * Reference type which describes a java.lang.Throwable instance
+ * object in native function
+ *
+ * See <a
+ * href="http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/types.html#wp15954">specification</a>
+ * for details.
+ */
 typedef jobject           jthrowable;
+/**
+ * Reference type which describes a weak reference to a general object
+ *
+ * This type is the same as #jobject but the reference held in it
+ * is weak, so if the referred object is weakly reacheable, it may be
+ * garbage collected to VM.
+ */
 typedef jobject           jweak;
 
+/**
+ * This union used to pass arguments to native functions when <a
+ * href="http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/functions.html#wp4256">Call&lt;type&gt;MethodA</a>
+ * and <a
+ * href="http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/functions.html#wp4796">CallStatic&lt;type&gt;MethodA</a>
+ * functions are used
+ *
+ * It consists of all possible primitive Java types plus #jobject, so
+ * it is possible to pass any kind of argument type through it.
+ */
 typedef union jvalue {
     jboolean z;
     jbyte    b;
@@ -89,8 +298,20 @@
 } jvalue;
 
 struct _jfieldID;
+/**
+ * Type which describes an identfier of a field inside of class
+ *
+ * This type together with a #jclass reference uniquily identifies a
+ * field inside of the class described by #jclass.
+ */
 typedef struct _jfieldID* jfieldID;
 struct _jmethodID;
+/**
+ * Type which describes an identfier of a method inside of class
+ *
+ * This type together with a #jclass reference uniquily identifies a
+ * method inside of the class described by #jclass.
+ */
 typedef struct _jmethodID* jmethodID;
 
 /*
@@ -100,29 +321,78 @@
 /*
  * Boolean constants
  */
+/**
+ * Constant which defines boolean truth in native Java functions. It
+ * is equivalent to Java constant "true"
+ */
 #define JNI_FALSE  0
+/**
+ * Constant which defines boolean false in native Java functions. It
+ * is equivalent to Java constant "false"
+ */
 #define JNI_TRUE   1
 
 /*
  * Return values
  */
+/**
+ * Constant which describes success when returned by JNI API functions
+ */
 #define JNI_OK     0
+/**
+ * Constant which describes an error when returned by JNI API
+ * functions
+ */
 #define JNI_ERR    (-1)
+/**
+ * Constant which describes a deatached thread condition when returned
+ * by JNI API functions
+ */
 #define JNI_EDETACHED (-2)
+/**
+ * Constant which describes wrong JNI interface verions when returned
+ * by JNI API functions
+ */
 #define JNI_EVERSION  (-3)
+/**
+ * Constant which describes out of memory condition when returned by
+ * JNI API functions
+ */
 #define JNI_ENOMEM    (-4)
+/**
+ * Constant which means that a limited resource already exists when
+ * returned by JNI API functions
+ */
 #define JNI_EEXIST    (-5)
+/**
+ * Constant which means that an illegal argument value was passed to a
+ * JNI function
+ */
 #define JNI_EINVAL    (-6)
 
 /*
  * Release modes for working with arrays.
  */
+/**
+ * Constant which means that an array region should be committed into
+ * memory. Used in Release<primitive type>ArrayElements functions
+ */
 #define JNI_COMMIT 1
+/**
+ * Constant which means that an array region should be discarded. Used
+ * in Release<primitive type>ArrayElements functions
+ */
 #define JNI_ABORT  2
 
 /*
  * Used as a generic pointer to a function.
- */ 
+ */
+/**
+ * Structure which describes a generic pointer to a native
+ * function. Used in <a
+ * href="http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/functions.html#wp17734">RegisterNatives</a>
+ * function.
+ */
 typedef struct {
     char *name;
     char *signature;
@@ -136,8 +406,20 @@
 struct JNIEnv_External;
 
 #ifdef __cplusplus
+/**
+ * JNI API interface table type for usage in C++
+ *
+ * See <a
+ * href="http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/design.html#wp16696">specification</a>
+ * for details. */
 typedef JNIEnv_External JNIEnv;
 #else
+/**
+ * JNI API interface table type for usage in C
+ *
+ * See <a
+ * href="http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/design.html#wp16696">specification</a>
+ * for details. */
 typedef const struct JNINativeInterface_ *JNIEnv;
 #endif
 
@@ -148,8 +430,22 @@
 struct JavaVM_External;
 
 #ifdef __cplusplus
+/**
+ * Java VM interface table type for usage in C++
+ *
+ * See <a
+ * href="http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/invocation.html#invocation_api_functions">specification</a>
+ * for details
+ */
 typedef JavaVM_External JavaVM;
 #else
+/**
+ * Java VM interface table type for usage in C
+ *
+ * See <a
+ * href="http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/invocation.html#invocation_api_functions">specification</a>
+ * for details
+ */
 typedef const struct JNIInvokeInterface_ *JavaVM;
 #endif
 

Modified: harmony/enhanced/drlvm/trunk/vm/include/jvmti.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/include/jvmti.h?view=diff&rev=523751&r1=523750&r2=523751
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/include/jvmti.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/include/jvmti.h Thu Mar 29 08:40:33 2007
@@ -26,26 +26,42 @@
 /*
  * Supported JVMTI versions
  */
+/** Constant which specifies JNI interface mask */
 #define JVMTI_VERSION_INTERFACE_JNI 0x00000000
+/** Constant which specifies JVMTI interface mask */
 #define JVMTI_VERSION_INTERFACE_JVMTI 0x30000000
+/** Constant which specifies VM externals interface mask */
 #define JVMTI_VERSION_MASK_INTERFACE_TYPE 0x70000000
+/** Constant which specifies major JVMTI version interface mask */
 #define JVMTI_VERSION_MASK_MAJOR 0x0FFF0000
+/** Constant which specifies minor JVMTI version interface mask */
 #define JVMTI_VERSION_MASK_MINOR 0x0000FF00
+/** Constant which specifies micro JVMTI version interface mask */
 #define JVMTI_VERSION_MASK_MICRO 0x000000FF
+/** Constant which specifies major JVMTI version left shit */
 #define JVMTI_VERSION_SHIFT_MAJOR 16
+/** Constant which specifies minor JVMTI version left shit */
 #define JVMTI_VERSION_SHIFT_MINOR 8
+/** Constant which specifies micro JVMTI version left shit */
 #define JVMTI_VERSION_SHIFT_MICRO 0
 
+/** JVMTI major version supported by VM */
 #define JVMTI_VERSION_MAJOR 1
+/** JVMTI minor version supported by VM */
 #define JVMTI_VERSION_MINOR 0
+/** JVMTI micro version supported by VM */
 #define JVMTI_VERSION_MICRO 36
 
+/** Constant which defines JVMTI version identifier for JVMTI version
+ * 1.0.0 */
 #define JVMTI_VERSION_1_0 \
     (JVMTI_VERSION_INTERFACE_JVMTI | \
     (JVMTI_VERSION_MAJOR << JVMTI_VERSION_SHIFT_MAJOR) | \
-    (JVMTI_VERSION_MINOR << JVMTI_VERSION_SHIFT_MINOR) | \
-    (JVMTI_VERSION_MICRO << JVMTI_VERSION_SHIFT_MICRO))
+    (0 << JVMTI_VERSION_SHIFT_MINOR) | \
+    (0 << JVMTI_VERSION_SHIFT_MICRO))
 
+/** Constant which defines JVMTI version identifier for JVMTI version
+ * supported by VM */
 #define JVMTI_VERSION \
     (JVMTI_VERSION_INTERFACE_JVMTI | \
     (JVMTI_VERSION_MAJOR << JVMTI_VERSION_SHIFT_MAJOR) | \
@@ -58,25 +74,35 @@
 #endif
 
     /**
-     * Agent Start-Up.
-     * The library must export a start-up function with the following
-     * prototype:
+     * Agent StartUp function prototype which should be exported by agent library
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#onload">specification</a>
+     * for details.
      */
     JNIEXPORT jint JNICALL
         Agent_OnLoad(JavaVM * vm, char *options, void *reserved);
 
     /**
-     * Agent Shutdown.
-     * The library may optionally export a shutdown function with the
-     * following prototype:
+     * Agent Shutdown prototype which should be exported by agent library
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#onunload">specification</a>
+     * for details.
      */
     JNIEXPORT void JNICALL Agent_OnUnload(JavaVM * vm);
 
 #ifdef __cplusplus
-}               /* extern "C" { */
+}
 #endif
 
-
+/**
+ * JVMTI interface functions table for use in C sources
+ *
+ * See <a
+ * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#FunctionSection">specification</a>
+ * for details.
+ */
 struct ti_interface
 {
     void *reserved1;
@@ -673,6 +699,13 @@
 };
 
 
+/**
+ * JVMTI interface functions table for use in C++ sources
+ *
+ * See <a
+ * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#FunctionSection">specification</a>
+ * for details.
+ */
 struct jvmtiEnv_struct
 {
     const struct ti_interface *funcs;

Modified: harmony/enhanced/drlvm/trunk/vm/include/jvmti_types.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/include/jvmti_types.h?view=diff&rev=523751&r1=523750&r2=523751
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/include/jvmti_types.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/include/jvmti_types.h Thu Mar 29 08:40:33 2007
@@ -14,7 +14,15 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
- 
+
+/**
+ * @file
+ * Definition of JVMTI interface types
+ *
+ * See <a
+ * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html">specification</a>
+ * for details.
+ */
 #ifndef _JVMTI_TYPES_H_
 #define _JVMTI_TYPES_H_
 
@@ -32,27 +40,85 @@
     struct jvmtiEnv_struct;
 
 #ifdef __cplusplus
+    /**
+     * JVMTI environment definition for use in C++ sources
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#environments">specification</a>
+     * for details.
+     */
     typedef jvmtiEnv_struct jvmtiEnv;
 #else
+    /**
+     * JVMTI environment definition for use in C sources
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#environments">specification</a>
+     * for details.
+     */
     typedef const struct ti_interface *jvmtiEnv;
 #endif
 
+    /**
+     * Reference type which describes a java.lang.Thread instance
+     * object in native function
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#jthread">specification</a>
+     * for details.
+     */
     typedef jobject jthread;
+    /**
+     * 64-bit type which defines executable positon inside of method
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#jlocation">specification</a>
+     * for details.
+     */
     typedef jlong jlocation;
+    /**
+     * Reference type which describes a java.lang.ThreadGroup instance
+     * object in native function
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#jthreadGroup">specification</a>
+     * for details.
+     */
     typedef jobject jthreadGroup;
+    /**
+     * Raw monitor ID type
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#jrawMonitorID">specification</a>
+     * for details.
+     */
     typedef int jrawMonitorID;
+    /**
+     * JNI API interface table type for usage in C
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jni/spec/design.html#wp16696">specification</a>
+     * for details. */
     typedef struct JNINativeInterface_ jniNativeInterface;
 
 
     /**
-     * Pointer to a function which could be launched
-     * as a separate system thread.
+     * Pointer to a function which could be launched as a separate
+     * agent thread
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#jvmtiStartFunction">specification</a>
+     * for details.
      */
     typedef void (JNICALL * jvmtiStartFunction)
         (jvmtiEnv * jvmti_env, JNIEnv * jni_env, void *arg);
 
     /**
-     * Error codes.
+     * Error codes which JVMTI API functions may return
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#ErrorSection">specification</a>
+     * for details.
      */
     typedef enum
     {
@@ -108,39 +174,72 @@
     } jvmtiError;
 
     /**
-     * Class status flags (from spec)
+     * Class status flags which <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#GetClassStatus">GetClassStatus</a>
+     * function may return
      */
     enum
     {
         /**
-         * Class bytecodes have been verified.
+         * Class bytecodes have been verified
+         *
+         * See <a
+         * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#JVMTI_CLASS_STATUS_VERIFIED">specification</a>
+         * for details.
          */
         JVMTI_CLASS_STATUS_VERIFIED = 1,
         /**
-         * Class preparation is complete.
+         * Class preparation is complete
+         *
+         * See <a
+         * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#JVMTI_CLASS_STATUS_PREPARED">specification</a>
+         * for details.
          */
         JVMTI_CLASS_STATUS_PREPARED = 2,
         /**
-         * Class initialization is complete. Static initializer has been run.
+         * Class initialization is complete. Static initializer has been run
+         *
+         * See <a
+         * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#JVMTI_CLASS_STATUS_INITIALIZED">specification</a>
+         * for details.
          */
         JVMTI_CLASS_STATUS_INITIALIZED = 4,
         /**
-         * Error during initialization makes class unusable.
+         * Error during initialization makes class unusable
+         *
+         * See <a
+         * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#JVMTI_CLASS_STATUS_ERROR">specification</a>
+         * for details.
          */
         JVMTI_CLASS_STATUS_ERROR = 8,
         /**
-         * Class is an array. If set, all other bits are zero.
+         * Class is an array. If set, all other bits are zero
+         *
+         * See <a
+         * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#JVMTI_CLASS_STATUS_ARRAY">specification</a>
+         * for details.
          */
         JVMTI_CLASS_STATUS_ARRAY = 16,
         /**
-         * Class is a primitive class (for example, <code>java.lang.Integer.TYPE</code>).
-         * If set, all other bits are zero.
+         * Class is a primitive class (for example,
+         * <code>java.lang.Integer.TYPE</code>).  If set, all other
+         * bits are zero
+         *
+         * See <a
+         * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#JVMTI_CLASS_STATUS_PRIMITIVE">specification</a>
+         * for details.
          */
         JVMTI_CLASS_STATUS_PRIMITIVE = 32
     };
 
     /**
-     * Thread states (from spec).
+     * Thread states which may be returned by <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#GetThreadState">GetThreadState</a>
+     * function
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#GetThreadState">specification</a>
+     * for details.
      */
     enum
     {
@@ -162,6 +261,16 @@
         JVMTI_THREAD_STATE_VENDOR_3 = 0x40000000
     };
 
+    /**
+     * Thread states masks which may be used to filter out thread
+     * states in bit mask returned by <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#GetThreadState">specification</a>
+     * function
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#GetThreadState">specification</a>
+     * for details.
+     */
     enum
     {
         JVMTI_JAVA_LANG_THREAD_STATE_MASK =
@@ -187,7 +296,11 @@
     };
 
     /**
-     * Thread priorities (from spec).
+     * Thread priorities
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#jvmtiThreadPriority">specification</a>
+     * for details.
      */
     enum
     {
@@ -197,7 +310,13 @@
     };
 
     /**
-     * Thread data (from spec).
+     * Thread information structure returned by <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#GetThreadInfo">GetThreadInfo</a>
+     * function
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#jvmtiThreadInfo">specification</a>
+     * for details.
      */
     typedef struct
     {
@@ -209,7 +328,13 @@
     } jvmtiThreadInfo;
 
     /**
-     * Thread group data (from spec).
+     * Thread group information structure returned by <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#GetThreadGroupInfo">GetThreadGroupInfo</a>
+     * function
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#jvmtiThreadGroupInfo">specification</a>
+     * for details.
      */
     typedef struct
     {
@@ -220,7 +345,11 @@
     } jvmtiThreadGroupInfo;
 
     /**
-     * Stack frame data (from spec).
+     * Single stack frame information structure
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#jvmtiFrameInfo">specification</a>
+     * for details.
      */
     typedef struct
     {
@@ -229,7 +358,11 @@
     } jvmtiFrameInfo;
 
     /**
-     * Thread stack data (from spec).
+     * Single thread stack information structure
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#jvmtiStackInfo">specification</a>
+     * for details.
      */
     typedef struct
     {
@@ -240,8 +373,12 @@
     } jvmtiStackInfo;
 
     /**
-     * Event numbers (from spec). Custom events could be added
-     * after <code>JVMTI_MAX_EVENT_TYPE_VAL</code>.
+     * Event numbers. Custom events could be added after
+     * <code>JVMTI_MAX_EVENT_TYPE_VAL</code>.
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#EventIndex">specification</a>
+     * for details.
      */
     typedef enum
     {
@@ -280,10 +417,19 @@
         JVMTI_MAX_EVENT_TYPE_VAL = 84
     } jvmtiEvent;
 
+    /**
+     * Total number of events specified in JVMTI interface
+     */
 #define TOTAL_EVENT_TYPE_NUM (JVMTI_MAX_EVENT_TYPE_VAL - JVMTI_MIN_EVENT_TYPE_VAL + 1)
 
     /**
-     * Root types.
+     * Root types used in JVMTI <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#Heap">heap
+     * iteration</a>
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#jvmtiHeapRootKind">specification</a>
+     * for details.
      */
     typedef enum
     {
@@ -297,7 +443,13 @@
     } jvmtiHeapRootKind;
 
     /**
-     * Generic iteration control.
+     * Generic iteration control used in JVMTI <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#Heap">heap
+     * iteration</a>
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#jvmtiIterationControl">specification</a>
+     * for details.
      */
     typedef enum
     {
@@ -307,7 +459,13 @@
     } jvmtiIterationControl;
 
     /**
-     * Describes enumerated references.
+     * Describes enumerated references in JVMTI <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#Heap">heap
+     * iteration</a>
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#jvmtiObjectReferenceKind">specification</a>
+     * for details.
      */
     typedef enum
     {
@@ -323,8 +481,13 @@
     } jvmtiObjectReferenceKind;
 
     /**
-     * Mostly tag support resides on VM side, but GC
-     * should be aware of it.
+     * Tagged objects filters used in JVMTI <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#Heap">heap
+     * iteration</a>
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#jvmtiHeapObjectFilter">specification</a>
+     * for details.
      */
     typedef enum
     {
@@ -333,6 +496,13 @@
         JVMTI_HEAP_OBJECT_EITHER = 3
     } jvmtiHeapObjectFilter;
 
+    /**
+     * Monitor usage information structure
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#jvmtiMonitorUsage">specification</a>
+     * for details.
+     */
     typedef struct
     {
         jthread owner;
@@ -343,12 +513,26 @@
         jthread *notify_waiters;
     } jvmtiMonitorUsage;
 
+    /**
+     * Line numbers information structure
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#jvmtiLineNumberEntry">specification</a>
+     * for details.
+     */
     typedef struct
     {
         jlocation start_location;
         jint line_number;
     } jvmtiLineNumberEntry;
 
+    /**
+     * Local variables information structure
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#jvmtiLocalVariableEntry">specification</a>
+     * for details.
+     */
     typedef struct
     {
         jlocation start_location;
@@ -360,67 +544,175 @@
     } jvmtiLocalVariableEntry;
 
     /**
-     * Event management is exposed to other <code>OPEN</code> components.
+     * Callback function type for VMInit event
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#VMInit">specification</a>
+     * for details.
      */
-
     typedef void (JNICALL * jvmtiEventVMInit)
         (jvmtiEnv * jvmti_env, JNIEnv * jni_env, jthread thread);
 
+    /**
+     * Callback function type for SingleStep event
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#SingleStep">specification</a>
+     * for details.
+     */
     typedef void (JNICALL * jvmtiEventSingleStep)
         (jvmtiEnv * jvmti_env, JNIEnv * jni_env, jthread thread,
         jmethodID method, jlocation location);
 
+    /**
+     * Callback function type for Breakpoint event
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#Breakpoint">specification</a>
+     * for details.
+     */
     typedef void (JNICALL * jvmtiEventBreakpoint)
         (jvmtiEnv * jvmti_env, JNIEnv * jni_env, jthread thread,
         jmethodID method, jlocation location);
 
+    /**
+     * Callback function type for FieldAccess event
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#FieldAccess">specification</a>
+     * for details.
+     */
     typedef void (JNICALL * jvmtiEventFieldAccess)
         (jvmtiEnv * jvmti_env, JNIEnv * jni_env, jthread thread,
         jmethodID method, jlocation location, jclass field_clazz,
         jobject object, jfieldID field);
 
+    /**
+     * Callback function type for FieldModification event
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#FieldModification">specification</a>
+     * for details.
+     */
     typedef void (JNICALL * jvmtiEventFieldModification)
         (jvmtiEnv * jvmti_env, JNIEnv * jni_env, jthread thread,
         jmethodID method, jlocation location, jclass field_clazz,
         jobject object, jfieldID field, char signature_type, jvalue new_value);
 
+    /**
+     * Callback function type for FramePop event
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#FramePop">specification</a>
+     * for details.
+     */
     typedef void (JNICALL * jvmtiEventFramePop)
         (jvmtiEnv * jvmti_env, JNIEnv * jni_env, jthread thread,
         jmethodID method, jboolean was_popped_by_exception);
 
+    /**
+     * Callback function type for MethodEntry event
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#MethodEntry">specification</a>
+     * for details.
+     */
     typedef void (JNICALL * jvmtiEventMethodEntry)
         (jvmtiEnv * jvmti_env, JNIEnv * jni_env, jthread thread,
         jmethodID method);
 
+    /**
+     * Callback function type for MethodExit event
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#MethodExit">specification</a>
+     * for details.
+     */
     typedef void (JNICALL * jvmtiEventMethodExit)
         (jvmtiEnv * jvmti_env, JNIEnv * jni_env, jthread thread,
         jmethodID method, jboolean was_popped_by_exception, jvalue return_value);
 
+    /**
+     * Callback function type for NativeMethodBind event
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#NativeMethodBind">specification</a>
+     * for details.
+     */
     typedef void (JNICALL * jvmtiEventNativeMethodBind)
         (jvmtiEnv * jvmti_env, JNIEnv * jni_env, jthread thread,
         jmethodID method, void *address, void **new_address_ptr);
 
+    /**
+     * Callback function type for Exception event
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#Exception">specification</a>
+     * for details.
+     */
     typedef void (JNICALL * jvmtiEventException)
         (jvmtiEnv * jvmti_env, JNIEnv * jni_env, jthread thread,
         jmethodID method, jlocation location, jobject exception,
         jmethodID catch_method, jlocation catch_location);
 
+    /**
+     * Callback function type for ExceptionCatch event
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#ExceptionCatch">specification</a>
+     * for details.
+     */
     typedef void (JNICALL * jvmtiEventExceptionCatch)
         (jvmtiEnv * jvmti_env, JNIEnv * jni_env,
         jthread thread, jmethodID method, jlocation location, jobject exception);
 
+    /**
+     * Callback function type for ThreadStart event
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#ThreadStart">specification</a>
+     * for details.
+     */
     typedef void (JNICALL * jvmtiEventThreadStart)
         (jvmtiEnv * jvmti_env, JNIEnv * jni_env, jthread thread);
 
+    /**
+     * Callback function type for ThreadEnd event
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#ThreadEnd">specification</a>
+     * for details.
+     */
     typedef void (JNICALL * jvmtiEventThreadEnd)
         (jvmtiEnv * jvmti_env, JNIEnv * jni_env, jthread thread);
 
+    /**
+     * Callback function type for ClassLoad event
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#ClassLoad">specification</a>
+     * for details.
+     */
     typedef void (JNICALL * jvmtiEventClassLoad)
         (jvmtiEnv * jvmti_env, JNIEnv * jni_env, jthread thread, jclass clazz);
 
+    /**
+     * Callback function type for ClassPrepare event
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#ClassPrepare">specification</a>
+     * for details.
+     */
     typedef void (JNICALL * jvmtiEventClassPrepare)
         (jvmtiEnv * jvmti_env, JNIEnv * jni_env, jthread thread, jclass clazz);
 
+    /**
+     * Callback function type for ClassFileLoadHook event
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#ClassFileLoadHook">specification</a>
+     * for details.
+     */
     typedef void (JNICALL * jvmtiEventClassFileLoadHook)
         (jvmtiEnv * jvmti_env, JNIEnv * jni_env,
         jclass class_being_redefined, jobject loader,
@@ -428,63 +720,183 @@
         jint class_data_len, const unsigned char *class_data,
         jint * new_class_data_len, unsigned char **new_class_data);
 
+    /**
+     * Callback function type for VMStart event
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#VMStart">specification</a>
+     * for details.
+     */
     typedef void (JNICALL * jvmtiEventVMStart)
         (jvmtiEnv * jvmti_env, JNIEnv * jni_env);
 
+    /**
+     * Callback function type for VMDeath event
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#VMDeath">specification</a>
+     * for details.
+     */
     typedef void (JNICALL * jvmtiEventVMDeath)
         (jvmtiEnv * jvmti_env, JNIEnv * jni_env);
 
+    /**
+     * Native to bytecode location mapping information
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#jvmtiAddrLocationMap>specification</a>
+     * for details.
+     */
     typedef struct
     {
         const void *start_address;
         jlocation location;
     } jvmtiAddrLocationMap;
 
+    /**
+     * Callback function type for CompiledMethodLoad event
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#CompiledMethodLoad">specification</a>
+     * for details.
+     */
     typedef void (JNICALL * jvmtiEventCompiledMethodLoad)
         (jvmtiEnv * jvmti_env, jmethodID method, jint code_size,
         const void *code_addr, jint map_length,
         const jvmtiAddrLocationMap * almap, const void *compile_info);
 
+    /**
+     * Callback function type for CompiledMethodUnload event
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#CompiledMethodUnload">specification</a>
+     * for details.
+     */
     typedef void (JNICALL * jvmtiEventCompiledMethodUnload)
         (jvmtiEnv * jvmti_env, jmethodID method, const void *code_addr);
 
+    /**
+     * Callback function type for DynamicCodeGenerated event
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#DynamicCodeGenerated">specification</a>
+     * for details.
+     */
     typedef void (JNICALL * jvmtiEventDynamicCodeGenerated)
         (jvmtiEnv * jvmti_env,
         const char *name, const void *address, jint length);
 
+    /**
+     * Callback function type for DataDumpRequest event
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#DataDumpRequest">specification</a>
+     * for details.
+     */
     typedef void (JNICALL * jvmtiEventDataDumpRequest) (jvmtiEnv * jvmti_env);
 
+    /**
+     * Callback function type for DataResetRequest event
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#DataResetRequest">specification</a>
+     * for details.
+     */
     typedef void (JNICALL * jvmtiEventDataResetRequest) (jvmtiEnv * jvmti_env);
 
+    /**
+     * Callback function type for MonitorContendedEnter event
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#MonitorContendedEnter">specification</a>
+     * for details.
+     */
     typedef void (JNICALL * jvmtiEventMonitorContendedEnter)
         (jvmtiEnv * jvmti_env, JNIEnv * jni_env, jthread thread, jobject object);
 
+    /**
+     * Callback function type for MonitorContendedEntered event
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#MonitorContendedEntered">specification</a>
+     * for details.
+     */
     typedef void (JNICALL * jvmtiEventMonitorContendedEntered)
         (jvmtiEnv * jvmti_env, JNIEnv * jni_env, jthread thread, jobject object);
 
+    /**
+     * Callback function type for MonitorWait event
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#MonitorWait">specification</a>
+     * for details.
+     */
     typedef void (JNICALL * jvmtiEventMonitorWait)
         (jvmtiEnv * jvmti_env, JNIEnv * jni_env, jthread thread,
         jobject object, jlong timeout);
 
+    /**
+     * Callback function type for MonitorWaited event
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#MonitorWaited">specification</a>
+     * for details.
+     */
     typedef void (JNICALL * jvmtiEventMonitorWaited)
         (jvmtiEnv * jvmti_env, JNIEnv * jni_env, jthread thread,
         jobject object, jboolean timed_out);
 
+    /**
+     * Callback function type for VMObjectAlloc event
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#VMObjectAlloc">specification</a>
+     * for details.
+     */
     typedef void (JNICALL * jvmtiEventVMObjectAlloc)
         (jvmtiEnv * jvmti_env, JNIEnv * jni_env, jthread thread,
         jobject object, jclass object_clazz, jlong size);
 
+    /**
+     * Callback function type for ObjectFree event
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#ObjectFree">specification</a>
+     * for details.
+     */
     typedef void (JNICALL * jvmtiEventObjectFree)
         (jvmtiEnv * jvmti_env, jlong tag);
 
+    /**
+     * Callback function type for GarbageCollectionStart event
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#GarbageCollectionStart">specification</a>
+     * for details.
+     */
     typedef void (JNICALL * jvmtiEventGarbageCollectionStart)
         (jvmtiEnv * jvmti_env);
 
+    /**
+     * Callback function type for GarbageCollectionFinish event
+     *
+     * See <a href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#GarbageCollectionFinish">specification</a> for details.
+     */
     typedef void (JNICALL * jvmtiEventGarbageCollectionFinish)
         (jvmtiEnv * jvmti_env);
 
+    /**
+     * Callback type for reserved event types
+     */
     typedef void *jvmtiEventReserved;
 
+    /**
+     * Event callbacks table
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#jvmtiEventCallbacks>specification</a>
+     * for details.
+     */
     typedef struct
     {
         jvmtiEventVMInit VMInit;
@@ -525,6 +937,13 @@
     } jvmtiEventCallbacks;
 
 
+    /**
+     * Arguments kinds for extension events callbacks
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#jvmtiParamKind>specification</a>
+     * for details.
+     */
     typedef enum
     {
         JVMTI_KIND_IN = 91,
@@ -536,6 +955,13 @@
         JVMTI_KIND_OUT_BUF = 97
     } jvmtiParamKind;
 
+    /**
+     * Arguments types for extension events callbacks
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#jvmtiParamKind>specification</a>
+     * for details.
+     */
     typedef enum
     {
         JVMTI_TYPE_JBYTE = 101,
@@ -557,6 +983,13 @@
         JVMTI_TYPE_JNIENV = 117
     } jvmtiParamTypes;
 
+    /**
+     * Arguments information for extension events callbacks
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#jvmtiParamInfo>specification</a>
+     * for details.
+     */
     typedef struct
     {
         char *name;
@@ -565,15 +998,36 @@
         jboolean null_ok;
     } jvmtiParamInfo;
 
+    /**
+     * Callback function type for extension events
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#jvmtiExtensionFunction>specification</a>
+     * for details.
+     */
     typedef jvmtiError
         (JNICALL * jvmtiExtensionFunction) (jvmtiEnv * jvmti_env, ...);
 
+    /**
+     * Event generation mode
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#jvmtiEventMode>specification</a>
+     * for details.
+     */
     typedef enum
     {
         JVMTI_ENABLE = 1,
         JVMTI_DISABLE = 0
     } jvmtiEventMode;
 
+    /**
+     * Extenstion functions information structure
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#jvmtiExtensionFunctionInfo>specification</a>
+     * for details.
+     */
     typedef struct
     {
         jvmtiExtensionFunction func;
@@ -585,6 +1039,13 @@
         jvmtiError *errors;
     } jvmtiExtensionFunctionInfo;
 
+    /**
+     * Extension events information structure
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#jvmtiExtensionEventInfo>specification</a>
+     * for details.
+     */
     typedef struct
     {
         jint extension_event_index;
@@ -595,8 +1056,11 @@
     } jvmtiExtensionEventInfo;
 
     /**
-     * <code>OPEN</code> components should be aware of event management
-     * capabilities.
+     * Bit table of JVMTI capabilities supported by VM
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#jvmtiCapabilities>specification</a>
+     * for details.
      */
     typedef struct
     {
@@ -641,6 +1105,13 @@
         unsigned int:16;
     } jvmtiCapabilities;
 
+    /**
+     * Timer type identifier
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#jvmtiTimerKind>specification</a>
+     * for details.
+     */
     typedef enum
     {
         JVMTI_TIMER_USER_CPU = 30,
@@ -648,6 +1119,13 @@
         JVMTI_TIMER_ELAPSED = 32
     } jvmtiTimerKind;
 
+    /**
+     * Timer information structure
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#jvmtiTimerInfo>specification</a>
+     * for details.
+     */
     typedef struct
     {
         jlong max_value;
@@ -658,6 +1136,13 @@
         jlong reserved2;
     } jvmtiTimerInfo;
 
+    /**
+     * VM operation phase identifier
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#jvmtiPhase>specification</a>
+     * for details.
+     */
     typedef enum
     {
         JVMTI_PHASE_ONLOAD = 1,
@@ -667,6 +1152,13 @@
         JVMTI_PHASE_DEAD = 8
     } jvmtiPhase;
 
+    /**
+     * VM verbosity level
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#jvmtiVerboseFlag>specification</a>
+     * for details.
+     */
     typedef enum
     {
         JVMTI_VERBOSE_OTHER = 0,
@@ -675,6 +1167,13 @@
         JVMTI_VERBOSE_JNI = 4
     } jvmtiVerboseFlag;
 
+    /**
+     * JLocation format identifier
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#jvmtiJlocationFormat>specification</a>
+     * for details.
+     */
     typedef enum
     {
         JVMTI_JLOCATION_JVMBCI = 1,
@@ -682,27 +1181,73 @@
         JVMTI_JLOCATION_OTHER = 0
     } jvmtiJlocationFormat;
 
+    /**
+     * Callback function type for <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#Heap">heap
+     * iteration</a> callback which is called for all objects
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#jvmtiHeapObjectCallback>specification</a>
+     * for details.
+     */
     typedef jvmtiIterationControl
         (JNICALL * jvmtiHeapObjectCallback)
         (jlong class_tag, jlong size, jlong * tag_ptr, void *user_data);
 
+    /**
+     * Callback function type for <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#Heap">heap
+     * iteration</a> callback which is called for all root set
+     * references
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#jvmtiHeapRootCallback>specification</a>
+     * for details.
+     */
     typedef jvmtiIterationControl
         (JNICALL * jvmtiHeapRootCallback)
         (jvmtiHeapRootKind root_kind, jlong class_tag, jlong size,
         jlong * tag_ptr, void *user_data);
 
+    /**
+     * Callback function type for <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#Heap">heap
+     * iteration</a> callback which is called for objects referenced
+     * from thread stacks
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#jvmtiStackReferenceCallback>specification</a>
+     * for details.
+     */
     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);
 
+    /**
+     * Callback function type for <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#Heap">heap
+     * iteration</a> callback which is called for objects referenced
+     * from object fields
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#jvmtiObjectReferenceCallback>specification</a>
+     * for details.
+     */
     typedef jvmtiIterationControl
         (JNICALL * jvmtiObjectReferenceCallback)
         (jvmtiObjectReferenceKind reference_kind, jlong class_tag, jlong size,
         jlong * tag_ptr, jlong referrer_tag, jint referrer_index,
         void *user_data);
 
+    /**
+     * Class redefinition information structure
+     *
+     * See <a
+     * href="http://java.sun.com/j2se/1.5.0/docs/guide/jvmti/jvmti.html#jvmtiClassDefinition>specification</a>
+     * for details.
+     */
     typedef struct
     {
         jclass klass;
@@ -713,7 +1258,7 @@
     typedef void (JNICALL * jvmtiExtensionEvent) (jvmtiEnv * jvmti_env, ...);
 
 #ifdef __cplusplus
-}               /* extern "C" { */
+}               /* extern "C" */
 #endif
 
 



Mime
View raw message