| /* SPDX-License-Identifier: GPL-2.0 */ |
| #ifndef __JVMTI_AGENT_H__ |
| #define __JVMTI_AGENT_H__ |
| |
| #include <sys/types.h> |
| #include <stdint.h> |
| #include <jvmti.h> |
| |
| #if defined(__cplusplus) |
| extern "C" { |
| #endif |
| |
| typedef struct { |
| unsigned long pc; |
| int line_number; |
| int discrim; /* discriminator -- 0 for now */ |
| jmethodID methodID; |
| } jvmti_line_info_t; |
| |
| void *jvmti_open(void); |
| int jvmti_close(void *agent); |
| int jvmti_write_code(void *agent, char const *symbol_name, |
| uint64_t vma, void const *code, |
| const unsigned int code_size); |
| |
| int jvmti_write_debug_info(void *agent, uint64_t code, int nr_lines, |
| jvmti_line_info_t *li, |
| const char * const * file_names); |
| |
| #if defined(__cplusplus) |
| } |
| |
| #endif |
| #endif /* __JVMTI_H__ */ |