1209045adSStephane Eranian #ifndef __JVMTI_AGENT_H__ 2209045adSStephane Eranian #define __JVMTI_AGENT_H__ 3209045adSStephane Eranian 4209045adSStephane Eranian #include <sys/types.h> 5209045adSStephane Eranian #include <stdint.h> 6209045adSStephane Eranian #include <jvmti.h> 7209045adSStephane Eranian 8209045adSStephane Eranian #define __unused __attribute__((unused)) 9209045adSStephane Eranian 10209045adSStephane Eranian #if defined(__cplusplus) 11209045adSStephane Eranian extern "C" { 12209045adSStephane Eranian #endif 13209045adSStephane Eranian 14*598b7c69SStephane Eranian typedef struct { 15*598b7c69SStephane Eranian unsigned long pc; 16*598b7c69SStephane Eranian int line_number; 17*598b7c69SStephane Eranian int discrim; /* discriminator -- 0 for now */ 18*598b7c69SStephane Eranian } jvmti_line_info_t; 19*598b7c69SStephane Eranian 20209045adSStephane Eranian void *jvmti_open(void); 21209045adSStephane Eranian int jvmti_close(void *agent); 22209045adSStephane Eranian int jvmti_write_code(void *agent, char const *symbol_name, 23209045adSStephane Eranian uint64_t vma, void const *code, 24209045adSStephane Eranian const unsigned int code_size); 25*598b7c69SStephane Eranian 26209045adSStephane Eranian int jvmti_write_debug_info(void *agent, 27209045adSStephane Eranian uint64_t code, 28209045adSStephane Eranian const char *file, 29*598b7c69SStephane Eranian jvmti_line_info_t *li, 30*598b7c69SStephane Eranian int nr_lines); 31209045adSStephane Eranian 32209045adSStephane Eranian #if defined(__cplusplus) 33209045adSStephane Eranian } 34209045adSStephane Eranian 35209045adSStephane Eranian #endif 36209045adSStephane Eranian #endif /* __JVMTI_H__ */ 37