35 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2#ifndef __JVMTI_AGENT_H__3#define __JVMTI_AGENT_H__4 5#include <sys/types.h>6#include <stdint.h>7#include <jvmti.h>8 9#if defined(__cplusplus)10extern "C" {11#endif12 13typedef struct {14 unsigned long pc;15 int line_number;16 int discrim; /* discriminator -- 0 for now */17 jmethodID methodID;18} jvmti_line_info_t;19 20void *jvmti_open(void);21int jvmti_close(void *agent);22int jvmti_write_code(void *agent, char const *symbol_name,23 uint64_t vma, void const *code,24 const unsigned int code_size);25 26int jvmti_write_debug_info(void *agent, uint64_t code, int nr_lines,27 jvmti_line_info_t *li,28 const char * const * file_names);29 30#if defined(__cplusplus)31}32 33#endif34#endif /* __JVMTI_H__ */35