Merged trunk and subtype.
[cacao.git] / src / native / jvmti / jvmti.h
index ee26ad38d0e59fd44c639865a75be80845a651bb..576c7ee2b0643a315c75a8e10507e0d077025ca4 100644 (file)
@@ -1,10 +1,8 @@
 /* src/native/jvmti.c - implementation of the Java Virtual Machine Tool 
                         Interface functions
 
-   Copyright (C) 1996-2005, 2006 R. Grafl, A. Krall, C. Kruegel,
-   C. Oates, R. Obermaisser, M. Platter, M. Probst, S. Ring,
-   E. Steiner, C. Thalinger, D. Thuernbeck, P. Tomsich, C. Ullrich,
-   J. Wenninger, Institut f. Computersprachen - TU Wien
+   Copyright (C) 1996-2005, 2006, 2008
+   CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO
 
    This file is part of CACAO.
 
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
 
-   Contact: cacao@cacaojvm.org
+*/
 
-   Author: Martin Platter
 
-   Changes:             
+#ifndef _JVMTI_H
+#define _JVMTI_H
 
-   
-   $Id: jvmti.h 4357 2006-01-22 23:33:38Z twisti $
+#include "config.h"
 
-*/
-#ifndef JVMTI_H
-#define JVMTI_H
+#include "native/jni.hpp"
 
-#include "native/jni.h"
-#include "native/include/java_lang_String.h"
-#include <sys/types.h>
 
+#define JVMTI_VERSION_INTERFACE_JNI   0x00000000
+#define JVMTI_VERSION_INTERFACE_JVMTI 0x30000000
+#define JVMTI_VERSION_MASK_INTERFACE_TYPE 0x70000000
 #define JVMTI_VERSION_1_0 0x30010000
+#define JVMTI_VERSION     JVMTI_VERSION_1_0 
+
 
 typedef jobject jthread;
 typedef jobject jthreadGroup;
 typedef jlong jlocation;
 struct _jrawMonitorID;
 typedef struct _jrawMonitorID *jrawMonitorID;
-typedef struct jvmtiEnv_struct jvmtiEnv;
+typedef struct jvmtiEnv_struct *jvmtiEnv;
 
 typedef enum {
     JVMTI_ERROR_NONE = 0, /* No error has occurred. This is the error code that is 
@@ -1177,48 +1174,6 @@ struct jvmtiEnv_struct {
 #define JVMTI_CLASS_STATUS_ARRAY  16  
 #define JVMTI_CLASS_STATUS_PRIMITIVE  32 
 
-/* cacao specific */
-
-typedef struct {
-       jvmtiEnv *jvmti_env;
-       jthread thread;
-       jmethodID method;
-       jlocation location;
-       jclass klass;
-       jobject object;
-       jfieldID field;
-       char signature_type;
-       jvalue value;
-       jboolean b;
-       void* address;
-       void** new_address_ptr;
-       jmethodID catch_method;
-       jlocation catch_location;
-       char* name;
-       jobject protection_domain;
-       jint jint1;
-       jint jint2;
-       unsigned char* class_data;
-       jint* new_class_data_len;
-       unsigned char** new_class_data;
-       jvmtiAddrLocationMap* map;
-       void* compile_info;
-       jlong jlong;
-} genericEventData;
-
-#if defined(USE_THREADS) && defined(NATIVE_THREADS)
-struct _jrawMonitorID {
-       java_lang_String *name;
-};
-#endif
-
-jvmtiEnv* new_jvmtienv();
-void set_jvmti_phase(jvmtiPhase p);
-pid_t debuggee;
-jvmtiEnv* remotedbgjvmtienv;
-jvmtiEventCallbacks jvmti_jdwp_EventCallbacks;
-void agentload(char* opt_arg);
-void agentunload();
 #endif