xa_instance Struct Reference

XenAccess instance. More...


Data Fields

uint32_t mode
uint32_t error_mode
char * sysmap
char * image_type
uint32_t page_offset
uint32_t page_shift
uint32_t page_size
uint32_t kpgd
uint32_t init_task
int os_type
int hvm
int pae
int pse
uint32_t cr3
xa_cache_entry_t cache_head
xa_cache_entry_t cache_tail
int current_cache_size
xa_pid_cache_entry_t pid_cache_head
xa_pid_cache_entry_t pid_cache_tail
int current_pid_cache_size
int tasks_offset
int mm_offset
int pid_offset
int pgd_offset
int addr_offset
uint32_t ntoskrnl
int pdbase_offset
int peb_offset
int iba_offset
int ph_offset
FILE * fhandle
uint32_t size


Detailed Description

XenAccess instance.

This struct holds all of the relavent information for an instance of XenAccess. Each time a new domain is accessed, a new instance must be created using the xa_init function. When you are done with an instance, its resources can be freed using the xa_destroy function.


Field Documentation

uint32_t xa_instance::mode

file or xen VM data source

uint32_t xa_instance::error_mode

XA_FAILHARD or XA_FAILSOFT

char* xa_instance::sysmap

system map file for domain's running kernel

char* xa_instance::image_type

image type that we are accessing

uint32_t xa_instance::page_offset

page offset for this instance

uint32_t xa_instance::page_shift

page shift for last mapped page

uint32_t xa_instance::page_size

page size for last mapped page

uint32_t xa_instance::kpgd

kernel page global directory

uint32_t xa_instance::init_task

address of task struct for init

int xa_instance::os_type

type of os: XA_OS_LINUX, etc

int xa_instance::hvm

nonzero if HVM memory image

int xa_instance::pae

nonzero if PAE is enabled

int xa_instance::pse

nonzero if PSE is enabled

uint32_t xa_instance::cr3

value in the CR3 register

xa_cache_entry_t xa_instance::cache_head

head of the address cache list

xa_cache_entry_t xa_instance::cache_tail

tail of the address cache list

int xa_instance::current_cache_size

size of the address cache list

xa_pid_cache_entry_t xa_instance::pid_cache_head

head of the pid cache list

xa_pid_cache_entry_t xa_instance::pid_cache_tail

tail of the pid cache list

int xa_instance::current_pid_cache_size

size of the pid cache list

int xa_instance::tasks_offset

task_struct->tasks

int xa_instance::mm_offset

task_struct->mm

int xa_instance::pid_offset

task_struct->pid

int xa_instance::pgd_offset

mm_struct->pgd

int xa_instance::addr_offset

mm_struct->start_code

uint32_t xa_instance::ntoskrnl

base phys address for ntoskrnl image

int xa_instance::pdbase_offset

EPROCESS->Pcb.DirectoryTableBase

int xa_instance::peb_offset

EPROCESS->Peb

int xa_instance::iba_offset

EPROCESS->Peb.ImageBaseAddress

int xa_instance::ph_offset

EPROCESS->Peb.ProcessHeap

FILE* xa_instance::fhandle

handle to the memory image file

uint32_t xa_instance::size

total size of file, in bytes


The documentation for this struct was generated from the following file:
Generated on Thu Dec 18 13:28:46 2008 for XenAccess by  doxygen 1.4.7