0001
0002 #ifndef __JVMTI_AGENT_H__
0003 #define __JVMTI_AGENT_H__
0004
0005 #include <sys/types.h>
0006 #include <stdint.h>
0007 #include <jvmti.h>
0008
0009 #if defined(__cplusplus)
0010 extern "C" {
0011 #endif
0012
0013 typedef struct {
0014 unsigned long pc;
0015 int line_number;
0016 int discrim;
0017 jmethodID methodID;
0018 } jvmti_line_info_t;
0019
0020 void *jvmti_open(void);
0021 int jvmti_close(void *agent);
0022 int jvmti_write_code(void *agent, char const *symbol_name,
0023 uint64_t vma, void const *code,
0024 const unsigned int code_size);
0025
0026 int jvmti_write_debug_info(void *agent, uint64_t code, int nr_lines,
0027 jvmti_line_info_t *li,
0028 const char * const * file_names);
0029
0030 #if defined(__cplusplus)
0031 }
0032
0033 #endif
0034 #endif