Type Alias simics_api_sys::bindings::save_state_interface_t

source ·
pub type save_state_interface_t = save_state_interface;

Aliased Type§

struct save_state_interface_t {
    pub get_version: Option<unsafe extern "C" fn(_: *mut conf_object) -> i32>,
    pub get_size: Option<unsafe extern "C" fn(_: *mut conf_object, _: state_save_kind_t) -> i32>,
    pub get_align: Option<unsafe extern "C" fn(_: *mut conf_object, _: state_save_kind_t) -> i32>,
    pub save_state: Option<unsafe extern "C" fn(_: *mut conf_object, _: state_save_kind_t, _: *mut c_void) -> i32>,
    pub load_state: Option<unsafe extern "C" fn(_: *mut conf_object, _: state_save_kind_t, _: *mut c_void) -> i32>,
    pub compare_state: Option<unsafe extern "C" fn(_: *mut conf_object, _: state_save_kind_t, _: *mut c_void) -> i32>,
    pub print_state: Option<unsafe extern "C" fn(_: *mut conf_object, _: state_save_kind_t, _: *mut c_void, _: i32, _: i32) -> i32>,
    pub save_state_he: Option<unsafe extern "C" fn(_: *mut conf_object, _: state_save_kind_t, _: *mut c_void) -> i32>,
    pub load_state_he: Option<unsafe extern "C" fn(_: *mut conf_object, _: state_save_kind_t, _: *mut c_void) -> i32>,
    pub compare_state_he: Option<unsafe extern "C" fn(_: *mut conf_object, _: state_save_kind_t, _: *mut c_void) -> i32>,
    pub print_state_he: Option<unsafe extern "C" fn(_: *mut conf_object, _: state_save_kind_t, _: *mut c_void, _: i32, _: i32) -> i32>,
}

Fields§

§get_version: Option<unsafe extern "C" fn(_: *mut conf_object) -> i32>

return the CVS version of the object

§get_size: Option<unsafe extern "C" fn(_: *mut conf_object, _: state_save_kind_t) -> i32>

return the size needed for the current state

§get_align: Option<unsafe extern "C" fn(_: *mut conf_object, _: state_save_kind_t) -> i32>

return the alignment needed for the structure

§save_state: Option<unsafe extern "C" fn(_: *mut conf_object, _: state_save_kind_t, _: *mut c_void) -> i32>

save the state in dest. dest must contains enough space (get_size with the same parameter should return the size needed)

§load_state: Option<unsafe extern "C" fn(_: *mut conf_object, _: state_save_kind_t, _: *mut c_void) -> i32>

load the state from src

§compare_state: Option<unsafe extern "C" fn(_: *mut conf_object, _: state_save_kind_t, _: *mut c_void) -> i32>

compare the state and return 0 if the same

§print_state: Option<unsafe extern "C" fn(_: *mut conf_object, _: state_save_kind_t, _: *mut c_void, _: i32, _: i32) -> i32>

compare the state and return 0 if the same. print out all/the difference according to flags

§save_state_he: Option<unsafe extern "C" fn(_: *mut conf_object, _: state_save_kind_t, _: *mut c_void) -> i32>

host-endian functions (eventually faster, not mandatory)

§load_state_he: Option<unsafe extern "C" fn(_: *mut conf_object, _: state_save_kind_t, _: *mut c_void) -> i32>§compare_state_he: Option<unsafe extern "C" fn(_: *mut conf_object, _: state_save_kind_t, _: *mut c_void) -> i32>§print_state_he: Option<unsafe extern "C" fn(_: *mut conf_object, _: state_save_kind_t, _: *mut c_void, _: i32, _: i32) -> i32>