sentinel-stack/sentinel-vmi/src/memory.c
sentinel-stack/sentinel-vmi/src/memory.c
Section titled “sentinel-stack/sentinel-vmi/src/memory.c”Functions
Section titled “Functions”| Name | |
|---|---|
| struct vmi_memslot * | find_memslot(struct vmi_session * s, uint64_t gpa, uint64_t * offset) |
| int | is_transient_errno(int err) |
| int | read_remote_process(struct vmi_session * s, uint64_t remote_addr, void * buf, size_t size) |
| int | write_remote_process(struct vmi_session * s, uint64_t remote_addr, const void * buf, size_t size) |
| int | read_via_memslots(struct vmi_session * s, uint64_t gpa, void * buf, size_t size) |
| int | write_via_memslots(struct vmi_session * s, uint64_t gpa, const void * buf, size_t size) |
| int | read_via_devmem(uint64_t gpa, void * buf, size_t size) |
| 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) |
Defines
Section titled “Defines”| Name | |
|---|---|
| PT_ENTRY_SIZE | |
| PT_ENTRIES | |
| PT_PRESENT | |
| PT_WRITABLE | |
| PT_PAGESIZE | |
| PT_ADDR_MASK | |
| VMI_IO_RETRY_MAX | |
| PML4_INDEX(va) | |
| PDPT_INDEX(va) | |
| PD_INDEX(va) | |
| PT_INDEX(va) | |
| PAGE_OFFSET(va) |
Functions Documentation
Section titled “Functions Documentation”function find_memslot
Section titled “function find_memslot”static struct vmi_memslot * find_memslot( struct vmi_session * s, uint64_t gpa, uint64_t * offset)function is_transient_errno
Section titled “function is_transient_errno”static int is_transient_errno( int err)function read_remote_process
Section titled “function read_remote_process”static int read_remote_process( struct vmi_session * s, uint64_t remote_addr, void * buf, size_t size)function write_remote_process
Section titled “function write_remote_process”static int write_remote_process( struct vmi_session * s, uint64_t remote_addr, const void * buf, size_t size)function read_via_memslots
Section titled “function read_via_memslots”static int read_via_memslots( struct vmi_session * s, uint64_t gpa, void * buf, size_t size)function write_via_memslots
Section titled “function write_via_memslots”static int write_via_memslots( struct vmi_session * s, uint64_t gpa, const void * buf, size_t size)function read_via_devmem
Section titled “function read_via_devmem”static int read_via_devmem( uint64_t gpa, void * buf, size_t size)function vmi_read_physical
Section titled “function vmi_read_physical”int vmi_read_physical( struct vmi_session * s, uint64_t gpa, void * buf, size_t size)function vmi_write_physical
Section titled “function vmi_write_physical”int vmi_write_physical( struct vmi_session * s, uint64_t gpa, const void * buf, size_t size)function vmi_gva_to_gpa
Section titled “function vmi_gva_to_gpa”int vmi_gva_to_gpa( struct vmi_session * s, uint64_t cr3, uint64_t gva, uint64_t * gpa)function vmi_read_virtual
Section titled “function vmi_read_virtual”int vmi_read_virtual( struct vmi_session * s, uint64_t cr3, uint64_t gva, void * buf, size_t size)Macros Documentation
Section titled “Macros Documentation”define PT_ENTRY_SIZE
Section titled “define PT_ENTRY_SIZE”#define PT_ENTRY_SIZE 8define PT_ENTRIES
Section titled “define PT_ENTRIES”#define PT_ENTRIES 512define PT_PRESENT
Section titled “define PT_PRESENT”#define PT_PRESENT (1ULL << 0)define PT_WRITABLE
Section titled “define PT_WRITABLE”#define PT_WRITABLE (1ULL << 1)define PT_PAGESIZE
Section titled “define PT_PAGESIZE”#define PT_PAGESIZE (1ULL << 7)define PT_ADDR_MASK
Section titled “define PT_ADDR_MASK”#define PT_ADDR_MASK 0x000FFFFFFFFFF000ULLdefine VMI_IO_RETRY_MAX
Section titled “define VMI_IO_RETRY_MAX”#define VMI_IO_RETRY_MAX 3define PML4_INDEX
Section titled “define PML4_INDEX”#define PML4_INDEX( va)(((va) >> 39) & 0x1FF)define PDPT_INDEX
Section titled “define PDPT_INDEX”#define PDPT_INDEX( va)(((va) >> 30) & 0x1FF)define PD_INDEX
Section titled “define PD_INDEX”#define PD_INDEX( va)(((va) >> 21) & 0x1FF)define PT_INDEX
Section titled “define PT_INDEX”#define PT_INDEX( va)(((va) >> 12) & 0x1FF)define PAGE_OFFSET
Section titled “define PAGE_OFFSET”#define PAGE_OFFSET( va)((va) & 0xFFF)Updated on 2026-05-26 at 13:25:29 +0000