/* DO NOT EDIT THIS FILE - it is machine generated */
#include <native.h>

#ifndef _Included_sun_tools_debug_Agent
#define _Included_sun_tools_debug_Agent

#ifdef __cplusplus
extern "C" {
#endif

/* Header for class sun_tools_debug_Agent */

typedef struct Classsun_tools_debug_Agent {
  struct Hjava_net_ServerSocket* socket;
  jbool useSockets;
  struct Hjava_io_DataOutputStream* asyncOutputStream;
  struct Hjava_io_PipedInputStream* cmdInputPipe;
  struct Hjava_io_PipedOutputStream* cmdOutputPipe;
  struct Hjava_io_PipedOutputStream* asyncOutputPipe;
  struct Hjava_util_Hashtable* objects;
  struct Hsun_tools_debug_BreakpointHandler* bkptHandler;
  struct Hjava_io_DataOutputStream* out;
  struct Hsun_tools_debug_ResponseStream* outBuffer;
  struct Hsun_tools_java_ClassPath* sourcePath;
  struct Hjava_lang_Object* pipeLock;
  struct Hsun_tools_debug_ThreadList* lastSuspended;
} Classsun_tools_debug_Agent;
HandleTo(sun_tools_debug_Agent);

extern jbool sun_tools_debug_Agent_systemThread(struct Hjava_lang_Thread*);
extern void sun_tools_debug_Agent_addSystemThread(struct Hjava_lang_Thread*);
extern void sun_tools_debug_Agent_removeSystemThread(struct Hjava_lang_Thread*);
extern jint sun_tools_debug_Agent_peek(struct Hsun_tools_debug_Agent*, jint);
extern jint sun_tools_debug_Agent_getThreadStatus(struct Hsun_tools_debug_Agent*, struct Hjava_lang_Thread*);
extern struct Hsun_tools_debug_StackFrame* sun_tools_debug_Agent_getStackFrame(struct Hsun_tools_debug_Agent*, struct Hjava_lang_Thread*, jint);
extern HArrayOfObject* sun_tools_debug_Agent_getMethods(struct Hsun_tools_debug_Agent*, struct Hjava_lang_Class*);
extern HArrayOfObject* sun_tools_debug_Agent_getFields(struct Hsun_tools_debug_Agent*, struct Hjava_lang_Class*);
extern HArrayOfObject* sun_tools_debug_Agent_getClasses(struct Hsun_tools_debug_Agent*);
extern struct Hjava_lang_Object* sun_tools_debug_Agent_getSlotObject(struct Hsun_tools_debug_Agent*, struct Hjava_lang_Object*, jint);
extern HArrayOfInt* sun_tools_debug_Agent_getSlotSignature(struct Hsun_tools_debug_Agent*, struct Hjava_lang_Class*, jint);
extern jbool sun_tools_debug_Agent_getSlotBoolean(struct Hsun_tools_debug_Agent*, struct Hjava_lang_Object*, jint);
extern jint sun_tools_debug_Agent_getSlotInt(struct Hsun_tools_debug_Agent*, struct Hjava_lang_Object*, jint);
extern jlong sun_tools_debug_Agent_getSlotLong(struct Hsun_tools_debug_Agent*, struct Hjava_lang_Object*, jint);
extern jdouble sun_tools_debug_Agent_getSlotDouble(struct Hsun_tools_debug_Agent*, struct Hjava_lang_Object*, jint);
extern HArrayOfObject* sun_tools_debug_Agent_getSlotArray(struct Hsun_tools_debug_Agent*, struct Hjava_lang_Object*, jint);
extern struct Hjava_lang_Object* sun_tools_debug_Agent_getStackObject(struct Hsun_tools_debug_Agent*, struct Hjava_lang_Thread*, jint, jint);
extern jbool sun_tools_debug_Agent_getStackBoolean(struct Hsun_tools_debug_Agent*, struct Hjava_lang_Thread*, jint, jint);
extern jint sun_tools_debug_Agent_getStackInt(struct Hsun_tools_debug_Agent*, struct Hjava_lang_Thread*, jint, jint);
extern jlong sun_tools_debug_Agent_getStackLong(struct Hsun_tools_debug_Agent*, struct Hjava_lang_Thread*, jint, jint);
extern jfloat sun_tools_debug_Agent_getStackFloat(struct Hsun_tools_debug_Agent*, struct Hjava_lang_Thread*, jint, jint);
extern jdouble sun_tools_debug_Agent_getStackDouble(struct Hsun_tools_debug_Agent*, struct Hjava_lang_Thread*, jint, jint);
extern HArrayOfObject* sun_tools_debug_Agent_getStackArray(struct Hsun_tools_debug_Agent*, struct Hjava_lang_Thread*, jint, jint);
extern struct Hsun_tools_debug_LineNumber* sun_tools_debug_Agent_lineno2pc(struct Hsun_tools_debug_Agent*, struct Hjava_lang_Class*, jint);
extern jint sun_tools_debug_Agent_pc2lineno(struct Hsun_tools_debug_Agent*, struct Hjava_lang_Class*, jint);
extern jint sun_tools_debug_Agent_method2pc(struct Hsun_tools_debug_Agent*, struct Hjava_lang_Class*, jint);
extern struct Hjava_lang_String* sun_tools_debug_Agent_exceptionStackTrace(struct Hsun_tools_debug_Agent*, struct Hjava_lang_Throwable*);
extern void sun_tools_debug_Agent_setSingleStep(struct Hsun_tools_debug_Agent*, struct Hjava_lang_Thread*, jbool);
extern void sun_tools_debug_Agent_initAgent(struct Hsun_tools_debug_Agent*);
extern struct Hjava_lang_String* sun_tools_debug_Agent_getClassSourceName(struct Hsun_tools_debug_Agent*, struct Hjava_lang_Class*);
extern HArrayOfInt* sun_tools_debug_Agent_getLinenumbers(struct Hsun_tools_debug_Agent*, struct Hjava_lang_Class*);
extern jint sun_tools_debug_Agent_getMethodLinenumber(struct Hsun_tools_debug_Agent*, struct Hjava_lang_Class*, jint);
extern void sun_tools_debug_Agent_setSlotBoolean(struct Hsun_tools_debug_Agent*, struct Hjava_lang_Object*, jint, jbool);
extern void sun_tools_debug_Agent_setSlotInt(struct Hsun_tools_debug_Agent*, struct Hjava_lang_Object*, jint, jint);
extern void sun_tools_debug_Agent_setSlotLong(struct Hsun_tools_debug_Agent*, struct Hjava_lang_Object*, jint, jlong);
extern void sun_tools_debug_Agent_setSlotDouble(struct Hsun_tools_debug_Agent*, struct Hjava_lang_Object*, jint, jdouble);
extern void sun_tools_debug_Agent_setStackBoolean(struct Hsun_tools_debug_Agent*, struct Hjava_lang_Thread*, jint, jint, jbool);
extern void sun_tools_debug_Agent_setStackInt(struct Hsun_tools_debug_Agent*, struct Hjava_lang_Thread*, jint, jint, jint);
extern void sun_tools_debug_Agent_setStackLong(struct Hsun_tools_debug_Agent*, struct Hjava_lang_Thread*, jint, jint, jlong);
extern void sun_tools_debug_Agent_setStackDouble(struct Hsun_tools_debug_Agent*, struct Hjava_lang_Thread*, jint, jint, jdouble);
extern jint sun_tools_debug_Agent_objectId(struct Hsun_tools_debug_Agent*, struct Hjava_lang_Object*);
extern void sun_tools_debug_Agent_runMain(struct Hsun_tools_debug_Agent*, struct Hjava_lang_Class*, HArrayOfObject*);

#ifdef __cplusplus
}
#endif

#endif
