#[repr(C, align(1))]pub struct GPTHeader {Show 14 fields
pub signature: [u8; 8],
pub revision: LittleEndian<u32>,
pub header_size_le: LittleEndian<u32>,
pub header_crc32: LittleEndian<u32>,
pub reserved: LittleEndian<u32>,
pub current_lba: LittleEndian<u64>,
pub backup_lba: LittleEndian<u64>,
pub first_usable: LittleEndian<u64>,
pub last_usable: LittleEndian<u64>,
pub disk_guid: Uuid,
pub part_start_lba: LittleEndian<u64>,
pub num_parts: LittleEndian<u32>,
pub part_size: LittleEndian<u32>,
pub part_table_crc32: LittleEndian<u32>,
}
Fields§
§signature: [u8; 8]
GPT header magic signature, hardcoded to “EFI PART”.
revision: LittleEndian<u32>
00 00 01 00
header_size_le: LittleEndian<u32>
little endian
header_crc32: LittleEndian<u32>
CRC32 of the header with crc32 section zeroed
reserved: LittleEndian<u32>
must be 0
current_lba: LittleEndian<u64>
For main header, 1
backup_lba: LittleEndian<u64>
LBA for backup header
first_usable: LittleEndian<u64>
First usable LBA for partitions (primary table last LBA + 1)
last_usable: LittleEndian<u64>
Last usable LBA (secondary partition table first LBA - 1)
disk_guid: Uuid
UUID of the disk
part_start_lba: LittleEndian<u64>
Starting LBA of partition entries
num_parts: LittleEndian<u32>
Number of partition entries
part_size: LittleEndian<u32>
Size of a partition entry, usually 128
part_table_crc32: LittleEndian<u32>
CRC32 of the partition table
Implementations§
Source§impl GPTHeader
impl GPTHeader
pub fn verify_signature(&self) -> bool
pub unsafe fn parse_gpt_header<'a, T: Sized + LBAIndex>( gpt_header_lba: &'a LBA<T>, ) -> Result<&'a Self, &'static str>
pub fn parse_partitions<F: Fn(&GPTPartition, &mut T), T>( part_array: &[GPTPartition], size: usize, foreach: F, data: &mut T, )
Trait Implementations§
impl Copy for GPTHeader
impl Eq for GPTHeader
impl StructuralPartialEq for GPTHeader
Auto Trait Implementations§
impl Freeze for GPTHeader
impl RefUnwindSafe for GPTHeader
impl Send for GPTHeader
impl Sync for GPTHeader
impl Unpin for GPTHeader
impl UnwindSafe for GPTHeader
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