12#ifndef __FIRMWARE_VOLUME_BLOCK_H__
13#define __FIRMWARE_VOLUME_BLOCK_H__
20#define EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL_GUID \
21 { 0x8f644fa9, 0xe850, 0x4db1, {0x9c, 0xe2, 0xb, 0x44, 0x69, 0x8e, 0x8d, 0xa4 } }
23#define EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL_GUID \
24 { 0x8f644fa9, 0xe850, 0x4db1, {0x9c, 0xe2, 0xb, 0x44, 0x69, 0x8e, 0x8d, 0xa4 } }
269#define EFI_LBA_LIST_TERMINATOR 0xFFFFFFFFFFFFFFFFULL
349extern EFI_GUID gEfiFirmwareVolumeBlockProtocolGuid;
350extern EFI_GUID gEfiFirmwareVolumeBlock2ProtocolGuid;
EFI_STATUS(EFIAPI * EFI_FVB_WRITE)(IN CONST EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL *This, IN EFI_LBA Lba, IN UINTN Offset, IN OUT UINTN *NumBytes, IN UINT8 *Buffer)
EFI_STATUS(EFIAPI * EFI_FVB_READ)(IN CONST EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL *This, IN EFI_LBA Lba, IN UINTN Offset, IN OUT UINTN *NumBytes, IN OUT UINT8 *Buffer)
EFI_STATUS(EFIAPI * EFI_FVB_GET_BLOCK_SIZE)(IN CONST EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL *This, IN EFI_LBA Lba, OUT UINTN *BlockSize, OUT UINTN *NumberOfBlocks)
EFI_STATUS(EFIAPI * EFI_FVB_GET_PHYSICAL_ADDRESS)(IN CONST EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL *This, OUT EFI_PHYSICAL_ADDRESS *Address)
EFI_STATUS(EFIAPI * EFI_FVB_GET_ATTRIBUTES)(IN CONST EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL *This, OUT EFI_FVB_ATTRIBUTES_2 *Attributes)
EFI_STATUS(EFIAPI * EFI_FVB_SET_ATTRIBUTES)(IN CONST EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL *This, IN OUT EFI_FVB_ATTRIBUTES_2 *Attributes)
EFI_STATUS(EFIAPI * EFI_FVB_ERASE_BLOCKS)(IN CONST EFI_FIRMWARE_VOLUME_BLOCK2_PROTOCOL *This,...)
UINT32 EFI_FVB_ATTRIBUTES_2
UINT64 EFI_PHYSICAL_ADDRESS