#[repr(C, packed(2))]struct CommandIdentifyDataRaw {Show 87 fields
general_config: u16,
obsolete1: u16,
specific_config: u16,
obsolete2: [u16; 4],
reserved_cfa1: [u16; 2],
obsolete3: u16,
serial_number: [u8; 20],
obsolete4: [u16; 3],
firmware_revision: [u8; 8],
model_number: [u8; 40],
max_sectors_per_multiple_commands: u16,
trusted_computing_features: u16,
capabilities: [u16; 2],
obsolete6: [u16; 2],
unk_53: u16,
obsolete7: [u16; 5],
unk_59: u16,
user_addressable_sectors_28_mode: u32,
obsolete8: u16,
unk_63: u16,
unk_64: u16,
min_multiword_dma_transfer_cycle_time: u16,
recommended_multiword_dma_transfer_cycle_time: u16,
min_pio_transfer_cycle_time_no_flow_control: u16,
min_pio_transfer_cycle_time_with_ioready: u16,
additional_supported: u16,
reserved: u16,
reserved2: [u16; 4],
queue_depth: u16,
serial_ata_capabilities: [u16; 2],
serial_ata_features_supported: u16,
serial_ata_features_enabled: u16,
major_version: u16,
minor_version: u16,
command_set_supported_or_enabled: [u16; 6],
ultra_dma_modes: u16,
unk_89: u16,
unk_90: u16,
current_apm_level: u16,
master_password_id: u16,
hardware_reset_result: u16,
obsolete9: u16,
stream_min_request_size: u16,
stream_dma_time: u16,
stream_access_latency: u16,
stream_performance_granularity: u32,
user_addressable_sectors: u64,
streaming_transfer_time: u16,
max_blocks_per_data_set_management: u16,
physical_logical_sector_size: u16,
interseek_delay_for_iso_7779: u16,
world_wide_name: [u16; 4],
reserved3: [u16; 4],
obsolete10: u16,
logical_sector_size: u32,
command_set_supported_or_enabled2: [u16; 2],
reserved4: [u16; 4],
atapi_byte_count_behavior: u16,
reserved5: u16,
obsolete11: u16,
security_status: u16,
vendor_specific: [u16; 31],
reserved_cfa2: [u16; 8],
device_nominal_form_factor: u16,
data_set_management_trim_support: u16,
additional_product_id: [u16; 4],
reserved6: [u16; 2],
current_media_serial_number: [u16; 30],
sct_command_transport: u16,
reserved7: [u16; 2],
logical_sectors_alignment: u16,
write_read_verify_sector_count_mode3: u32,
write_read_verify_sector_count_mode2: u32,
obsolete12: [u16; 3],
nominal_media_rotation_rate: u16,
reserved8: u16,
obsolete13: u16,
write_read_verify_feature_set_current_mode: u16,
reserved9: u16,
transport_major_version: u16,
transport_minor_version: u16,
reserved10: [u16; 6],
extended_user_addressable_sectors: u64,
min_blocks_per_download_microcode: u16,
max_blocks_per_download_microcode: u16,
reserved11: [u16; 19],
integrity_word: u16,
}
Fields§
§general_config: u16
§obsolete1: u16
§specific_config: u16
§obsolete2: [u16; 4]
§reserved_cfa1: [u16; 2]
§obsolete3: u16
§serial_number: [u8; 20]
§obsolete4: [u16; 3]
§firmware_revision: [u8; 8]
§model_number: [u8; 40]
§max_sectors_per_multiple_commands: u16
§trusted_computing_features: u16
§capabilities: [u16; 2]
§obsolete6: [u16; 2]
§unk_53: u16
§obsolete7: [u16; 5]
§unk_59: u16
§user_addressable_sectors_28_mode: u32
§obsolete8: u16
§unk_63: u16
§unk_64: u16
§min_multiword_dma_transfer_cycle_time: u16
§recommended_multiword_dma_transfer_cycle_time: u16
§min_pio_transfer_cycle_time_no_flow_control: u16
§min_pio_transfer_cycle_time_with_ioready: u16
§additional_supported: u16
§reserved: u16
§reserved2: [u16; 4]
§queue_depth: u16
§serial_ata_capabilities: [u16; 2]
§serial_ata_features_supported: u16
§serial_ata_features_enabled: u16
§major_version: u16
§minor_version: u16
§command_set_supported_or_enabled: [u16; 6]
§ultra_dma_modes: u16
§unk_89: u16
§unk_90: u16
§current_apm_level: u16
§master_password_id: u16
§hardware_reset_result: u16
§obsolete9: u16
§stream_min_request_size: u16
§stream_dma_time: u16
§stream_access_latency: u16
§stream_performance_granularity: u32
§user_addressable_sectors: u64
§streaming_transfer_time: u16
§max_blocks_per_data_set_management: u16
§physical_logical_sector_size: u16
§interseek_delay_for_iso_7779: u16
§world_wide_name: [u16; 4]
§reserved3: [u16; 4]
§obsolete10: u16
§logical_sector_size: u32
§command_set_supported_or_enabled2: [u16; 2]
§reserved4: [u16; 4]
§atapi_byte_count_behavior: u16
§reserved5: u16
§obsolete11: u16
§security_status: u16
§vendor_specific: [u16; 31]
§reserved_cfa2: [u16; 8]
§device_nominal_form_factor: u16
§data_set_management_trim_support: u16
§additional_product_id: [u16; 4]
§reserved6: [u16; 2]
§current_media_serial_number: [u16; 30]
§sct_command_transport: u16
§reserved7: [u16; 2]
§logical_sectors_alignment: u16
§write_read_verify_sector_count_mode3: u32
§write_read_verify_sector_count_mode2: u32
§obsolete12: [u16; 3]
§nominal_media_rotation_rate: u16
§reserved8: u16
§obsolete13: u16
§write_read_verify_feature_set_current_mode: u16
§reserved9: u16
§transport_major_version: u16
§transport_minor_version: u16
§reserved10: [u16; 6]
§extended_user_addressable_sectors: u64
§min_blocks_per_download_microcode: u16
§max_blocks_per_download_microcode: u16
§reserved11: [u16; 19]
§integrity_word: u16
Implementations§
Source§impl CommandIdentifyDataRaw
impl CommandIdentifyDataRaw
fn is_valid(&self) -> bool
fn is_dma_supported(&self) -> bool
fn is_lba_supported(&self) -> bool
fn is_lba48_supported(&self) -> bool
fn user_addressable_sectors(&self) -> u64
fn sector_size(&self) -> u32
Trait Implementations§
Auto Trait Implementations§
impl Freeze for CommandIdentifyDataRaw
impl RefUnwindSafe for CommandIdentifyDataRaw
impl Send for CommandIdentifyDataRaw
impl Sync for CommandIdentifyDataRaw
impl Unpin for CommandIdentifyDataRaw
impl UnwindSafe for CommandIdentifyDataRaw
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> CheckedAs for T
impl<T> CheckedAs for T
Source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
Casts the value.
Source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
Source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
Casts the value.
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> OverflowingAs for T
impl<T> OverflowingAs for T
Source§fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
Source§fn overflowing_cast_from(src: Src) -> (Dst, bool)
fn overflowing_cast_from(src: Src) -> (Dst, bool)
Casts the value.
Source§impl<T> SaturatingAs for T
impl<T> SaturatingAs for T
Source§fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
Source§fn saturating_cast_from(src: Src) -> Dst
fn saturating_cast_from(src: Src) -> Dst
Casts the value.
Source§impl<T> UnwrappedAs for T
impl<T> UnwrappedAs for T
Source§fn unwrapped_as<Dst>(self) -> Dstwhere
T: UnwrappedCast<Dst>,
fn unwrapped_as<Dst>(self) -> Dstwhere
T: UnwrappedCast<Dst>,
Casts the value.
Source§impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere
Src: UnwrappedCast<Dst>,
impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere
Src: UnwrappedCast<Dst>,
Source§fn unwrapped_cast_from(src: Src) -> Dst
fn unwrapped_cast_from(src: Src) -> Dst
Casts the value.
Source§impl<T> WrappingAs for T
impl<T> WrappingAs for T
Source§fn wrapping_as<Dst>(self) -> Dstwhere
T: WrappingCast<Dst>,
fn wrapping_as<Dst>(self) -> Dstwhere
T: WrappingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere
Src: WrappingCast<Dst>,
impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere
Src: WrappingCast<Dst>,
Source§fn wrapping_cast_from(src: Src) -> Dst
fn wrapping_cast_from(src: Src) -> Dst
Casts the value.