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: String
GPT header magic signature, hardcoded to “EFI PART”.
revision: u32
00 00 01 00
header_size_le: u32
little endian
crc32: u32
CRC32 of the header with crc32 section zeroed
reserved: u32
must be 0
current_lba: u64
For main header, 1
backup_lba: u64
LBA for backup header
first_usable: u64
First usable LBA for partitions (primary table last LBA + 1)
last_usable: u64
Last usable LBA (secondary partition table first LBA - 1)
disk_guid: Uuid
UUID of the disk
part_start: u64
Starting LBA of partition entries
num_parts: u32
Number of partition entries
part_size: u32
Size of a partition entry, usually 128
crc32_parts: u32
CRC32 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
)