#[repr(C)]pub struct PrimaryVolumeDescriptor {Show 31 fields
pub header: VolumeDescriptorHeader,
pub unused0: u8,
pub system_identifier: IsoStrA<32>,
pub volume_identifier: IsoStrD<32>,
pub unused1: [u8; 8],
pub volume_space_size: U32LsbMsb,
pub unused2: [u8; 32],
pub volume_set_size: U16LsbMsb,
pub volume_sequence_number: U16LsbMsb,
pub logical_block_size: U16LsbMsb,
pub path_table_size: U32LsbMsb,
pub type_l_path_table: U32<LittleEndian>,
pub opt_type_l_path_table: U32<LittleEndian>,
pub type_m_path_table: U32<BigEndian>,
pub opt_type_m_path_table: U32<BigEndian>,
pub dir_record: RootDirectoryEntry,
pub volume_set_identifier: IsoStrD<128>,
pub publisher_identifier: IsoStrA<128>,
pub preparer_identifier: IsoStrA<128>,
pub application_identifier: IsoStrA<128>,
pub copyright_file_identifier: IsoStrD<37>,
pub abstract_file_identifier: IsoStrD<37>,
pub bibliographic_file_identifier: IsoStrD<37>,
pub creation_date: DecDateTime,
pub modification_date: DecDateTime,
pub expiration_date: DecDateTime,
pub effective_date: DecDateTime,
pub file_structure_version: u8,
pub unused3: u8,
pub app_data: [u8; 512],
pub reserved: [u8; 653],
}sync only.Expand description
Primary Volume Descriptor (ECMA-119 8.4)
@hadris-spec ECMA-119:8.4 @hadris-compliance partial @hadris-note Core fields are modeled, but reserved fields, character sets, redundant endian values, and semantic constraints are not all validated. @hadris-tests comprehensive_iso::test_pvd_standard_identifier @hadris-fuzz iso_read
Fields§
§header: VolumeDescriptorHeaderThe header field.
unused0: u8The unused0 field.
system_identifier: IsoStrA<32>The system_identifier field.
volume_identifier: IsoStrD<32>The volume_identifier field.
unused1: [u8; 8]The unused1 field.
volume_space_size: U32LsbMsbThe volume_space_size field.
unused2: [u8; 32]The unused2 field.
volume_set_size: U16LsbMsbThe volume_set_size field.
volume_sequence_number: U16LsbMsbThe volume_sequence_number field.
logical_block_size: U16LsbMsbThe logical_block_size field.
path_table_size: U32LsbMsbThe path_table_size field.
type_l_path_table: U32<LittleEndian>The type_l_path_table field.
opt_type_l_path_table: U32<LittleEndian>The opt_type_l_path_table field.
type_m_path_table: U32<BigEndian>The type_m_path_table field.
opt_type_m_path_table: U32<BigEndian>The opt_type_m_path_table field.
dir_record: RootDirectoryEntryThe dir_record field.
volume_set_identifier: IsoStrD<128>The volume_set_identifier field.
publisher_identifier: IsoStrA<128>The publisher_identifier field.
preparer_identifier: IsoStrA<128>The preparer_identifier field.
application_identifier: IsoStrA<128>The application_identifier field.
copyright_file_identifier: IsoStrD<37>The copyright_file_identifier field.
abstract_file_identifier: IsoStrD<37>The abstract_file_identifier field.
bibliographic_file_identifier: IsoStrD<37>The bibliographic_file_identifier field.
creation_date: DecDateTimeThe creation_date field.
modification_date: DecDateTimeThe modification_date field.
expiration_date: DecDateTimeThe expiration_date field.
effective_date: DecDateTimeThe effective_date field.
file_structure_version: u8The file_structure_version field.
unused3: u8The unused3 field.
app_data: [u8; 512]The app_data field.
reserved: [u8; 653]The reserved field.
Implementations§
Trait Implementations§
Source§impl Clone for PrimaryVolumeDescriptor
impl Clone for PrimaryVolumeDescriptor
Source§fn clone(&self) -> PrimaryVolumeDescriptor
fn clone(&self) -> PrimaryVolumeDescriptor
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreimpl Copy for PrimaryVolumeDescriptor
Source§impl Debug for PrimaryVolumeDescriptor
impl Debug for PrimaryVolumeDescriptor
impl Pod for PrimaryVolumeDescriptor
Auto Trait Implementations§
impl Freeze for PrimaryVolumeDescriptor
impl RefUnwindSafe for PrimaryVolumeDescriptor
impl Send for PrimaryVolumeDescriptor
impl Sync for PrimaryVolumeDescriptor
impl Unpin for PrimaryVolumeDescriptor
impl UnsafeUnpin for PrimaryVolumeDescriptor
impl UnwindSafe for PrimaryVolumeDescriptor
Blanket Implementations§
impl<T> AnyBitPattern for Twhere
T: Pod,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
Source§type Bits = T
type Bits = T
Self must have the same layout as the specified Bits except for
the possible invalid bit patterns being checked during
is_valid_bit_pattern.Source§fn is_valid_bit_pattern(_bits: &T) -> bool
fn is_valid_bit_pattern(_bits: &T) -> bool
bits
as &Self.