6 block_io protocol, Block_io protocol, Block_io – Intel Extensible Firmware Interface User Manual

Page 401: Block i/oprotocol, Proto, Efi_block_io

Advertising
background image

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.

Advertising