pub struct Header {Show 14 fields
pub signature: String,
pub revision: u32,
pub header_size_le: u32,
pub crc32: u32,
pub reserved: u32,
pub current_lba: u64,
pub backup_lba: u64,
pub first_usable: u64,
pub last_usable: u64,
pub disk_guid: Uuid,
pub part_start: u64,
pub num_parts: u32,
pub part_size: u32,
pub crc32_parts: u32,
}Expand description
Header describing a GPT disk.
Fields§
§signature: StringGPT header magic signature, hardcoded to “EFI PART”.
revision: u3200 00 01 00
header_size_le: u32little endian
crc32: u32CRC32 of the header with crc32 section zeroed
reserved: u32must be 0
current_lba: u64For main header, 1
backup_lba: u64LBA for backup header
first_usable: u64First usable LBA for partitions (primary table last LBA + 1)
last_usable: u64Last usable LBA (secondary partition table first LBA - 1)
disk_guid: UuidUUID of the disk
part_start: u64Starting LBA of partition entries
num_parts: u32Number of partition entries
part_size: u32Size of a partition entry, usually 128
crc32_parts: u32CRC32 of the partition table
Implementations§
source§impl Header
impl Header
sourcepub fn write_primary<D: Read + Write + Seek>(
&self,
file: &mut D,
lb_size: LogicalBlockSize,
) -> Result<usize>
pub fn write_primary<D: Read + Write + Seek>( &self, file: &mut D, lb_size: LogicalBlockSize, ) -> Result<usize>
Write the primary header.
With a CRC32 set to zero this will set the crc32 after writing the header out.
sourcepub fn write_backup<D: Read + Write + Seek>(
&self,
file: &mut D,
lb_size: LogicalBlockSize,
) -> Result<usize>
pub fn write_backup<D: Read + Write + Seek>( &self, file: &mut D, lb_size: LogicalBlockSize, ) -> Result<usize>
Write the backup header.
With a CRC32 set to zero this will set the crc32 after writing the header out.
Trait Implementations§
impl Eq for Header
impl StructuralPartialEq for Header
Auto Trait Implementations§
impl Freeze for Header
impl RefUnwindSafe for Header
impl Send for Header
impl Sync for Header
impl Unpin for Header
impl UnwindSafe for Header
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit)