25#ifndef _FIRMWARE_VOLUME_H_
26#define _FIRMWARE_VOLUME_H_
31#define EFI_FIRMWARE_VOLUME_PROTOCOL_GUID \
33 0x389F751F, 0x1838, 0x4388, {0x83, 0x90, 0xCD, 0x81, 0x54, 0xBD, 0x27, 0xF8 } \
31#define EFI_FIRMWARE_VOLUME_PROTOCOL_GUID \ …
36#define FV_DEVICE_SIGNATURE SIGNATURE_32 ('_', 'F', 'V', '_')
50#define EFI_FV_READ_DISABLE_CAP 0x0000000000000001ULL
51#define EFI_FV_READ_ENABLE_CAP 0x0000000000000002ULL
52#define EFI_FV_READ_STATUS 0x0000000000000004ULL
54#define EFI_FV_WRITE_DISABLE_CAP 0x0000000000000008ULL
55#define EFI_FV_WRITE_ENABLE_CAP 0x0000000000000010ULL
56#define EFI_FV_WRITE_STATUS 0x0000000000000020ULL
58#define EFI_FV_LOCK_CAP 0x0000000000000040ULL
59#define EFI_FV_LOCK_STATUS 0x0000000000000080ULL
60#define EFI_FV_WRITE_POLICY_RELIABLE 0x0000000000000100ULL
62#define EFI_FV_ALIGNMENT_CAP 0x0000000000008000ULL
63#define EFI_FV_ALIGNMENT_2 0x0000000000010000ULL
64#define EFI_FV_ALIGNMENT_4 0x0000000000020000ULL
65#define EFI_FV_ALIGNMENT_8 0x0000000000040000ULL
66#define EFI_FV_ALIGNMENT_16 0x0000000000080000ULL
67#define EFI_FV_ALIGNMENT_32 0x0000000000100000ULL
68#define EFI_FV_ALIGNMENT_64 0x0000000000200000ULL
69#define EFI_FV_ALIGNMENT_128 0x0000000000400000ULL
70#define EFI_FV_ALIGNMENT_256 0x0000000000800000ULL
71#define EFI_FV_ALIGNMENT_512 0x0000000001000000ULL
72#define EFI_FV_ALIGNMENT_1K 0x0000000002000000ULL
73#define EFI_FV_ALIGNMENT_2K 0x0000000004000000ULL
74#define EFI_FV_ALIGNMENT_4K 0x0000000008000000ULL
75#define EFI_FV_ALIGNMENT_8K 0x0000000010000000ULL
76#define EFI_FV_ALIGNMENT_16K 0x0000000020000000ULL
77#define EFI_FV_ALIGNMENT_32K 0x0000000040000000ULL
78#define EFI_FV_ALIGNMENT_64K 0x0000000080000000ULL
165 IN EFI_GUID *NameGuid,
167 IN OUT UINTN *BufferSize,
170 OUT UINT32 *AuthenticationStatus
210 IN EFI_GUID *NameGuid,
212 IN UINTN SectionInstance,
214 IN OUT UINTN *BufferSize,
215 OUT UINT32 *AuthenticationStatus
220#define FRAMEWORK_EFI_FV_UNRELIABLE_WRITE 0x00000000
221#define FRAMEWORK_EFI_FV_RELIABLE_WRITE 0x00000001
261 IN UINT32 NumberOfFiles,
292 OUT EFI_GUID *NameGuid,
UINT64 FRAMEWORK_EFI_FV_ATTRIBUTES
EFI_STATUS(EFIAPI * FRAMEWORK_EFI_FV_GET_NEXT_FILE)(IN EFI_FIRMWARE_VOLUME_PROTOCOL *This, IN OUT VOID *Key, IN OUT EFI_FV_FILETYPE *FileType, OUT EFI_GUID *NameGuid, OUT EFI_FV_FILE_ATTRIBUTES *Attributes, OUT UINTN *Size)
EFI_STATUS(EFIAPI * FRAMEWORK_EFI_FV_READ_SECTION)(IN EFI_FIRMWARE_VOLUME_PROTOCOL *This, IN EFI_GUID *NameGuid, IN EFI_SECTION_TYPE SectionType, IN UINTN SectionInstance, IN OUT VOID **Buffer, IN OUT UINTN *BufferSize, OUT UINT32 *AuthenticationStatus)
EFI_STATUS(EFIAPI * FRAMEWORK_EFI_FV_SET_ATTRIBUTES)(IN EFI_FIRMWARE_VOLUME_PROTOCOL *This, IN OUT FRAMEWORK_EFI_FV_ATTRIBUTES *Attributes)
EFI_STATUS(EFIAPI * FRAMEWORK_EFI_FV_GET_ATTRIBUTES)(IN EFI_FIRMWARE_VOLUME_PROTOCOL *This, OUT FRAMEWORK_EFI_FV_ATTRIBUTES *Attributes)
EFI_STATUS(EFIAPI * FRAMEWORK_EFI_FV_WRITE_FILE)(IN EFI_FIRMWARE_VOLUME_PROTOCOL *This, IN UINT32 NumberOfFiles, IN FRAMEWORK_EFI_FV_WRITE_POLICY WritePolicy, IN FRAMEWORK_EFI_FV_WRITE_FILE_DATA *FileData)
EFI_STATUS(EFIAPI * FRAMEWORK_EFI_FV_READ_FILE)(IN EFI_FIRMWARE_VOLUME_PROTOCOL *This, IN EFI_GUID *NameGuid, IN OUT VOID **Buffer, IN OUT UINTN *BufferSize, OUT EFI_FV_FILETYPE *FoundType, OUT EFI_FV_FILE_ATTRIBUTES *FileAttributes, OUT UINT32 *AuthenticationStatus)
UINT32 FRAMEWORK_EFI_FV_WRITE_POLICY
EFI_GUID gEfiFirmwareVolumeProtocolGuid
DMG_SIZE_DEVICE_PATH Size
OC_TYPING_BUFFER_ENTRY Buffer[OC_TYPING_BUFFER_SIZE]
FRAMEWORK_EFI_FV_SET_ATTRIBUTES SetVolumeAttributes
FRAMEWORK_EFI_FV_GET_NEXT_FILE GetNextFile
FRAMEWORK_EFI_FV_GET_ATTRIBUTES GetVolumeAttributes
FRAMEWORK_EFI_FV_WRITE_FILE WriteFile
FRAMEWORK_EFI_FV_READ_FILE ReadFile
FRAMEWORK_EFI_FV_READ_SECTION ReadSection
EFI_FV_FILE_ATTRIBUTES FileAttributes