10#ifndef _PEI_CD_EXPRESS_H_
11#define _PEI_CD_EXPRESS_H_
30#define PEI_CD_EXPRESS_MAX_BLOCK_IO_PPI 8
31#define PEI_CD_EXPRESS_MAX_CAPSULE_NUMBER 16
33#define PEI_CD_BLOCK_SIZE 0x800
34#define PEI_MEMMORY_PAGE_SIZE 0x1000
39#define PEI_CD_STANDARD_ID "CD001"
40#define PEI_CD_EXPRESS_STANDARD_ID_SIZE 5
42#define PEI_CD_EXPRESS_VOLUME_TYPE_OFFSET 0
43#define PEI_CD_EXPRESS_STANDARD_ID_OFFSET 1
44#define PEI_CD_EXPRESS_VOLUME_SPACE_OFFSET 80
45#define PEI_CD_EXPRESS_ROOT_DIR_RECORD_OFFSET 156
47#define PEI_CD_EXPRESS_VOLUME_TYPE_PRIMARY 1
48#define PEI_CD_EXPRESS_VOLUME_TYPE_TERMINATOR 255
50#define PEI_CD_EXPRESS_DIR_FILE_REC_FLAG_ISDIR 0x02
53 UINTN CapsuleStartLBA;
55 UINTN CapsuleBlockAlignedSize;
61#define PEI_CD_EXPRESS_PRIVATE_DATA_SIGNATURE SIGNATURE_32 ('p', 'c', 'd', 'e')
75#define PEI_CD_EXPRESS_PRIVATE_DATA_FROM_THIS(a) \
77 PEI_CD_EXPRESS_PRIVATE_DATA, \
79 PEI_CD_EXPRESS_PRIVATE_DATA_SIGNATURE \
84 UINT8 ExtendedAttributeRecordLength;
85 UINT32 LocationOfExtent[2];
90 UINT8 InterleaveGapSize;
91 UINT32 VolumeSequenceNumber;
282 IN BOOLEAN CaseSensitive
EFI_STATUS UpdateBlocksAndVolumes(IN OUT PEI_CD_EXPRESS_PRIVATE_DATA *PrivateData, IN BOOLEAN BlockIo2)
EFI_STATUS EFIAPI GetRecoveryCapsuleInfo(IN EFI_PEI_SERVICES **PeiServices, IN EFI_PEI_DEVICE_RECOVERY_MODULE_PPI *This, IN UINTN CapsuleInstance, OUT UINTN *Size, OUT EFI_GUID *CapsuleType)
EFI_STATUS EFIAPI FindRecoveryCapsules(IN OUT PEI_CD_EXPRESS_PRIVATE_DATA *PrivateData)
EFI_STATUS EFIAPI GetNumberRecoveryCapsules(IN EFI_PEI_SERVICES **PeiServices, IN EFI_PEI_DEVICE_RECOVERY_MODULE_PPI *This, OUT UINTN *NumberRecoveryCapsules)
EFI_STATUS EFIAPI BlockIoNotifyEntry(IN EFI_PEI_SERVICES **PeiServices, IN EFI_PEI_NOTIFY_DESCRIPTOR *NotifyDescriptor, IN VOID *Ppi)
EFI_STATUS EFIAPI LoadRecoveryCapsule(IN EFI_PEI_SERVICES **PeiServices, IN EFI_PEI_DEVICE_RECOVERY_MODULE_PPI *This, IN UINTN CapsuleInstance, OUT VOID *Buffer)
EFI_STATUS EFIAPI RetrieveCapsuleFileFromRoot(IN OUT PEI_CD_EXPRESS_PRIVATE_DATA *PrivateData, IN EFI_PEI_RECOVERY_BLOCK_IO_PPI *BlockIoPpi, IN EFI_PEI_RECOVERY_BLOCK_IO2_PPI *BlockIo2Ppi, IN UINTN IndexBlockDevice, IN UINT32 Lba)
BOOLEAN StringCmp(IN UINT8 *Source1, IN UINT8 *Source2, IN UINTN Size, IN BOOLEAN CaseSensitive)