Skip to content

sentinel-stack/sentinel-vmi/include/sentinel_vmi.h

sentinel-stack/sentinel-vmi/include/sentinel_vmi.h

Section titled “sentinel-stack/sentinel-vmi/include/sentinel_vmi.h”
Name
structvmi_memslot
structvmi_session
structvmi_process
Name
struct vmi_session *kvmi_setup(const char * vm_name)
voidkvmi_teardown(struct vmi_session * session)
intkvmi_session_heartbeat(struct vmi_session * session)
intvmi_read_physical(struct vmi_session * s, uint64_t gpa, void * buf, size_t size)
intvmi_write_physical(struct vmi_session * s, uint64_t gpa, const void * buf, size_t size)
intvmi_gva_to_gpa(struct vmi_session * s, uint64_t cr3, uint64_t gva, uint64_t * gpa)
intvmi_read_virtual(struct vmi_session * s, uint64_t cr3, uint64_t gva, void * buf, size_t size)
voidtask_walker_dump(struct vmi_session * s)
inttask_walker_find_pid(struct vmi_session * s, uint32_t pid, uint64_t * task_addr)
inttask_walker_read_process(struct vmi_session * s, uint64_t task_gva, struct vmi_process * out)
inttask_walker_detect_privilege_escalation(struct vmi_session * s)
inttask_walker_set_offsets_profile(const char * kernel_version)
const char *task_walker_get_offsets_profile(void )
inttask_walker_detect_orphans(struct vmi_session * s)
inttask_walker_detect_fork_bomb(struct vmi_session * s, uint32_t threshold)
inttask_walker_detect_suspicious_ancestry(struct vmi_session * s)
intnpt_guard_arm(struct vmi_session * s)
voidnpt_guard_disarm(struct vmi_session * s)
voidnpt_guard_handle_events(struct vmi_session * s)
intnpf_handler_init(struct vmi_session * s)
voidnpf_handler_process(struct vmi_session * s, uint64_t gpa, int write_access)
intnpf_handler_report_integrity_violation(struct vmi_session * s, const char * region_name, uint64_t gpa, uint64_t expected_hash, uint64_t actual_hash, int critical)
intheki_server_init(struct vmi_session * session, const char * socket_path)
voidheki_server_poll(void )
intbridge_init(void )
voidbridge_teardown(void )
voidbridge_signal_malicious(uint32_t pid, const char * reason)
voidbridge_signal_suspicious(uint32_t pid, const char * reason)
voidbridge_flush_alerts(void )
intnpt_guard_protect_dynamic(struct vmi_session * s, uint64_t gpa, uint64_t size, int critical, const char * name)
intnpt_guard_check_bounds(uint64_t gpa, const char ** region_name, int * is_critical)
Name
VMI_MAX_VCPUS
VMI_PAGE_SIZE
VMI_PAGE_SHIFT
VMI_MEMSLOT_F_REMOTE_PROCESS
TASK_COMM_LEN
struct vmi_session * kvmi_setup(
const char * vm_name
)
void kvmi_teardown(
struct vmi_session * session
)
int kvmi_session_heartbeat(
struct vmi_session * session
)
int vmi_read_physical(
struct vmi_session * s,
uint64_t gpa,
void * buf,
size_t size
)
int vmi_write_physical(
struct vmi_session * s,
uint64_t gpa,
const void * buf,
size_t size
)
int vmi_gva_to_gpa(
struct vmi_session * s,
uint64_t cr3,
uint64_t gva,
uint64_t * gpa
)
int vmi_read_virtual(
struct vmi_session * s,
uint64_t cr3,
uint64_t gva,
void * buf,
size_t size
)
void task_walker_dump(
struct vmi_session * s
)
int task_walker_find_pid(
struct vmi_session * s,
uint32_t pid,
uint64_t * task_addr
)
int task_walker_read_process(
struct vmi_session * s,
uint64_t task_gva,
struct vmi_process * out
)

function task_walker_detect_privilege_escalation

Section titled “function task_walker_detect_privilege_escalation”
int task_walker_detect_privilege_escalation(
struct vmi_session * s
)
int task_walker_set_offsets_profile(
const char * kernel_version
)
const char * task_walker_get_offsets_profile(
void
)
int task_walker_detect_orphans(
struct vmi_session * s
)
int task_walker_detect_fork_bomb(
struct vmi_session * s,
uint32_t threshold
)

function task_walker_detect_suspicious_ancestry

Section titled “function task_walker_detect_suspicious_ancestry”
int task_walker_detect_suspicious_ancestry(
struct vmi_session * s
)
int npt_guard_arm(
struct vmi_session * s
)
void npt_guard_disarm(
struct vmi_session * s
)
void npt_guard_handle_events(
struct vmi_session * s
)
int npf_handler_init(
struct vmi_session * s
)
void npf_handler_process(
struct vmi_session * s,
uint64_t gpa,
int write_access
)

function npf_handler_report_integrity_violation

Section titled “function npf_handler_report_integrity_violation”
int npf_handler_report_integrity_violation(
struct vmi_session * s,
const char * region_name,
uint64_t gpa,
uint64_t expected_hash,
uint64_t actual_hash,
int critical
)
int heki_server_init(
struct vmi_session * session,
const char * socket_path
)
void heki_server_poll(
void
)
int bridge_init(
void
)
void bridge_teardown(
void
)
void bridge_signal_malicious(
uint32_t pid,
const char * reason
)
void bridge_signal_suspicious(
uint32_t pid,
const char * reason
)
void bridge_flush_alerts(
void
)
int npt_guard_protect_dynamic(
struct vmi_session * s,
uint64_t gpa,
uint64_t size,
int critical,
const char * name
)
int npt_guard_check_bounds(
uint64_t gpa,
const char ** region_name,
int * is_critical
)
#define VMI_MAX_VCPUS 64
#define VMI_PAGE_SIZE 4096
#define VMI_PAGE_SHIFT 12
#define VMI_MEMSLOT_F_REMOTE_PROCESS (1U << 31)
#define TASK_COMM_LEN 16

Updated on 2026-05-26 at 13:25:29 +0000