pub struct VmwareStateBuilder { /* private fields */ }Expand description
Build a synthetic VMware .vmss/.vmsn state file.
Produces the VMware group/tag binary format:
- 12-byte file header: magic(u32=0xBED2BED0) + unknown(u32=0) + group_count(u32)
- Group entries (80 bytes each): name(64 bytes null-terminated) + tags_offset(u64) + padding(8 bytes)
- “memory” group with region tags containing paddr(u64) + data
- Optional “cpu” group with CR3 tag
Tag format for memory regions:
- flags: u8 (0x06 = large data with explicit size)
- name_length: u8
- name: bytes (“regionPPN”, “regionBytes”)
- data_length: u32
- payload: depends on tag name
Tag format for CPU CR3:
- flags: u8 (0x46 = indexed + 8-byte data)
- name_length: u8
- name: “CR3”
- index0: u8 (0 = CPU 0)
- index1: u8 (3 = CR register 3)
- value: u64
Tag terminator: flags byte = 0
Implementations§
Source§impl VmwareStateBuilder
impl VmwareStateBuilder
Trait Implementations§
Source§impl Default for VmwareStateBuilder
impl Default for VmwareStateBuilder
Source§fn default() -> VmwareStateBuilder
fn default() -> VmwareStateBuilder
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for VmwareStateBuilder
impl RefUnwindSafe for VmwareStateBuilder
impl Send for VmwareStateBuilder
impl Sync for VmwareStateBuilder
impl Unpin for VmwareStateBuilder
impl UnsafeUnpin for VmwareStateBuilder
impl UnwindSafe for VmwareStateBuilder
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more