Extensible Firmware Interface Specification
174 12/12/00 Version 1.02
Parameters
Revision The revision to which the block IO interface adheres. All future
revisions must be backwards compatible. If a future version is
not back wards compatible it is not the same GUID.
Media A pointer to the EFI_BLOCK_IO_MEDIA data for this device.
Type EFI_BLOCK_IO_MEDIA is defined in “Related
Definitions”.
Reset Resets the block device hardware. See Section 8.1.1.
ReadBlocks Reads the requested number of blocks from the device. See
Section 8.1.2.
WriteBlocks Writes the requested number of blocks to the device. See
Section 8.1.3.
FlushBlocks Flushes and cache blocks. This function is optional and only
needs to be supported on block devices that cache writes. See
Section 8.1.4.
The following data values in EFI_BLOCK_IO_MEDIA are read-only and are updated by the
code that produces the EFI_BLOCK_IO protocol functions:
MediaId The current media id. If the media changes, this value is
changed.
RemovableMedia TRUE if the media is removable; otherwise, FALSE.
MediaPresent TRUE if there is a media currently present in the device;
otherwise, FALSE. This field shows the media present status as
of the most recent ReadBlocks() or WriteBlocks() call.
LogicalPartition TRUE if LBA 0 is the first block of a partition; otherwise
FALSE. For media with only one partition this would be TRUE.
ReadOnly TRUE if the media is marked read-only otherwise, FALSE. This
field shows the read-only status as of the most recent
WriteBlocks() call.
WriteCaching TRUE if the WriteBlock() function caches write data.
BlockSize The intrinsic block size of the device. If the media changes, then
this field is updated.
IoAlign Supplies the alignment requirement for any buffer to read or
write block(s).
LastBlock The last logical block address on the device. If the media
changes, then this field is updated.