Intel Extensible Firmware Interface Network Router User Manual


  Open as PDF
of 1084
 
Protocols Bootable Image Support
Version 1.10 12/01/02 11-41
11.6 BLOCK_IO Protocol
This chapter defines the Block I/O protocol. This protocol is used to abstract mass storage devices
to allow code running in the EFI boot services environment to access them without specific
knowledge of the type of device or controller that manages the device. Functions are defined to
read and write data at a block level from mass storage devices as well as to manage such devices in
the EFI boot services environment.
BLOCK_IO Protocol
Summary
This protocol provides control over block devices.
GUID
#define BLOCK_IO_PROTOCOL \
{ 964e5b21-6459-11d2-8e39-00a0c969723b }
Revision Number
#define EFI_BLOCK_IO_INTERFACE_REVISION 0x00010000
Protocol Interface Structure
typedef struct _EFI_BLOCK_IO {
UINT64 Revision;
EFI_BLOCK_IO_MEDIA *Media;
EFI_BLOCK_RESET Reset;
EFI_BLOCK_READ ReadBlocks;
EFI_BLOCK_WRITE WriteBlocks;
EFI_BLOCK_FLUSH FlushBlocks;
} EFI_BLOCK_IO;
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 below.
Reset Resets the block device hardware. See the Reset()
function
description.
ReadBlocks Reads the requested number of blocks from the device. See the
ReadBlocks()
function description.