extern struct BlockMedia [src]

Fields

media_id: u32The current media ID. If the media changes, this value is changed.
removable_media: booltrue if the media is removable; otherwise, false.
media_present: booltrue if there is a media currently present in the device
logical_partition: booltrue if the BlockIo was produced to abstract partition structures on the disk. false if the BlockIo was produced to abstract the logical blocks on a hardware device.
read_only: booltrue if the media is marked read-only otherwise, false. This field shows the read-only status as of the most recent WriteBlocks()
write_caching: booltrue if the WriteBlocks() function caches write data.
block_size: u32The intrinsic block size of the device. If the media changes, then this
io_align: u32Supplies the alignment requirement for any buffer used in a data transfer. IoAlign values of 0 and 1 mean that the buffer can be placed anywhere in memory. Otherwise, IoAlign must be a power of 2, and the requirement is that the start address of a buffer must be evenly divisible by IoAlign with no remainder.
last_block: u64The last LBA on the device. If the media changes, then this field is updated.
lowest_aligned_lba: u64
logical_blocks_per_physical_block: u32
optimal_transfer_length_granularity: u32

Source

pub const BlockMedia = extern struct { /// The current media ID. If the media changes, this value is changed. media_id: u32, /// `true` if the media is removable; otherwise, `false`. removable_media: bool, /// `true` if there is a media currently present in the device media_present: bool, /// `true` if the `BlockIo` was produced to abstract /// partition structures on the disk. `false` if the `BlockIo` was /// produced to abstract the logical blocks on a hardware device. logical_partition: bool, /// `true` if the media is marked read-only otherwise, `false`. This field /// shows the read-only status as of the most recent `WriteBlocks()` read_only: bool, /// `true` if the WriteBlocks() function caches write data. write_caching: bool, /// The intrinsic block size of the device. If the media changes, then this // field is updated. Returns the number of bytes per logical block. block_size: u32, /// Supplies the alignment requirement for any buffer used in a data /// transfer. IoAlign values of 0 and 1 mean that the buffer can be /// placed anywhere in memory. Otherwise, IoAlign must be a power of /// 2, and the requirement is that the start address of a buffer must be /// evenly divisible by IoAlign with no remainder. io_align: u32, /// The last LBA on the device. If the media changes, then this field is updated. last_block: u64, // Revision 2 lowest_aligned_lba: u64, logical_blocks_per_physical_block: u32, optimal_transfer_length_granularity: u32, }