3 Copyright (c) 1999 - 2002, Intel Corporation
4 All rights reserved. This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
19 BlockIo PPI as defined in EFI 2.0
21 Used to access block-oriented storage devices
25 #ifndef _PEI_BLOCK_IO_H_
26 #define _PEI_BLOCK_IO_H_
28 #define PEI_BLOCK_IO_PPI_GUID \
30 0x695d8aa1, 0x42ee, 0x4c46, 0x80, 0x5c, 0x6e, 0xa6, 0xbc, 0xe7, 0x99, 0xe3 \
33 EFI_FORWARD_DECLARATION (PEI_RECOVERY_BLOCK_IO_INTERFACE
);
35 typedef UINT64 PEI_LBA
;
43 } PEI_BLOCK_DEVICE_TYPE
;
46 PEI_BLOCK_DEVICE_TYPE DeviceType
;
54 (EFIAPI
*PEI_GET_NUMBER_BLOCK_DEVICES
) (
55 IN EFI_PEI_SERVICES
**PeiServices
,
56 IN PEI_RECOVERY_BLOCK_IO_INTERFACE
* This
,
57 OUT UINTN
*NumberBlockDevices
62 (EFIAPI
*PEI_GET_DEVICE_MEDIA_INFORMATION
) (
63 IN EFI_PEI_SERVICES
**PeiServices
,
64 IN PEI_RECOVERY_BLOCK_IO_INTERFACE
* This
,
66 OUT PEI_BLOCK_IO_MEDIA
* MediaInfo
71 (EFIAPI
*PEI_READ_BLOCKS
) (
72 IN EFI_PEI_SERVICES
**PeiServices
,
73 IN PEI_RECOVERY_BLOCK_IO_INTERFACE
* This
,
80 typedef struct _PEI_RECOVERY_BLOCK_IO_INTERFACE
{
81 PEI_GET_NUMBER_BLOCK_DEVICES GetNumberOfBlockDevices
;
82 PEI_GET_DEVICE_MEDIA_INFORMATION GetBlockDeviceMediaInfo
;
83 PEI_READ_BLOCKS ReadBlocks
;
84 } PEI_RECOVERY_BLOCK_IO_INTERFACE
;
86 extern EFI_GUID gPeiBlockIoPpiGuid
;