#define __FWVOL_H\r
\r
\r
+#define FV2_DEVICE_SIGNATURE EFI_SIGNATURE_32 ('_', 'F', 'V', '2')\r
+\r
//\r
// Used to track all non-deleted files\r
//\r
UINTN Signature;\r
EFI_FIRMWARE_VOLUME_BLOCK_PROTOCOL *Fvb;\r
EFI_HANDLE Handle;\r
- EFI_FIRMWARE_VOLUME_PROTOCOL Fv;\r
+ EFI_FIRMWARE_VOLUME2_PROTOCOL Fv;\r
\r
EFI_FIRMWARE_VOLUME_HEADER *FwVolHeader;\r
UINT8 *CachedFv;\r
UINT8 ErasePolarity;\r
} FV_DEVICE;\r
\r
-#define FV_DEVICE_FROM_THIS(a) CR(a, FV_DEVICE, Fv, FV_DEVICE_SIGNATURE)\r
+#define FV_DEVICE_FROM_THIS(a) CR(a, FV_DEVICE, Fv, FV2_DEVICE_SIGNATURE)\r
\r
\r
EFI_STATUS\r
EFIAPI\r
FvGetVolumeAttributes (\r
- IN EFI_FIRMWARE_VOLUME_PROTOCOL *This,\r
- OUT EFI_FV_ATTRIBUTES *Attributes\r
+ IN CONST EFI_FIRMWARE_VOLUME2_PROTOCOL *This,\r
+ OUT EFI_FV_ATTRIBUTES *Attributes\r
)\r
/*++\r
\r
EFI_STATUS\r
EFIAPI\r
FvSetVolumeAttributes (\r
- IN EFI_FIRMWARE_VOLUME_PROTOCOL *This,\r
- IN OUT EFI_FV_ATTRIBUTES *Attributes\r
+ IN CONST EFI_FIRMWARE_VOLUME2_PROTOCOL *This,\r
+ IN OUT EFI_FV_ATTRIBUTES *Attributes\r
)\r
/*++\r
\r
EFI_STATUS\r
EFIAPI\r
FvGetNextFile (\r
- IN EFI_FIRMWARE_VOLUME_PROTOCOL *This,\r
- IN OUT VOID *Key,\r
- IN OUT EFI_FV_FILETYPE *FileType,\r
- OUT EFI_GUID *NameGuid,\r
- OUT EFI_FV_FILE_ATTRIBUTES *Attributes,\r
- OUT UINTN *Size\r
+ IN CONST EFI_FIRMWARE_VOLUME2_PROTOCOL *This,\r
+ IN OUT VOID *Key,\r
+ IN OUT EFI_FV_FILETYPE *FileType,\r
+ OUT EFI_GUID *NameGuid,\r
+ OUT EFI_FV_FILE_ATTRIBUTES *Attributes,\r
+ OUT UINTN *Size\r
)\r
/*++\r
\r
EFI_STATUS\r
EFIAPI\r
FvReadFile (\r
- IN EFI_FIRMWARE_VOLUME_PROTOCOL *This,\r
- IN EFI_GUID *NameGuid,\r
- IN OUT VOID **Buffer,\r
- IN OUT UINTN *BufferSize,\r
- OUT EFI_FV_FILETYPE *FoundType,\r
- OUT EFI_FV_FILE_ATTRIBUTES *FileAttributes,\r
- OUT UINT32 *AuthenticationStatus\r
+ IN CONST EFI_FIRMWARE_VOLUME2_PROTOCOL *This,\r
+ IN CONST EFI_GUID *NameGuid,\r
+ IN OUT VOID **Buffer,\r
+ IN OUT UINTN *BufferSize,\r
+ OUT EFI_FV_FILETYPE *FoundType,\r
+ OUT EFI_FV_FILE_ATTRIBUTES *FileAttributes,\r
+ OUT UINT32 *AuthenticationStatus\r
)\r
/*++\r
\r
EFI_STATUS\r
EFIAPI\r
FvReadFileSection (\r
- IN EFI_FIRMWARE_VOLUME_PROTOCOL *This,\r
- IN EFI_GUID *NameGuid,\r
- IN EFI_SECTION_TYPE SectionType,\r
- IN UINTN SectionInstance,\r
- IN OUT VOID **Buffer,\r
- IN OUT UINTN *BufferSize,\r
- OUT UINT32 *AuthenticationStatus\r
+ IN CONST EFI_FIRMWARE_VOLUME2_PROTOCOL *This,\r
+ IN CONST EFI_GUID *NameGuid,\r
+ IN EFI_SECTION_TYPE SectionType,\r
+ IN UINTN SectionInstance,\r
+ IN OUT VOID **Buffer,\r
+ IN OUT UINTN *BufferSize,\r
+ OUT UINT32 *AuthenticationStatus\r
)\r
/*++\r
\r
EFI_STATUS\r
EFIAPI\r
FvWriteFile (\r
- IN EFI_FIRMWARE_VOLUME_PROTOCOL *This,\r
- IN UINT32 NumberOfFiles,\r
- IN EFI_FV_WRITE_POLICY WritePolicy,\r
- IN EFI_FV_WRITE_FILE_DATA *FileData\r
+ IN CONST EFI_FIRMWARE_VOLUME2_PROTOCOL *This,\r
+ IN UINT32 NumberOfFiles,\r
+ IN EFI_FV_WRITE_POLICY WritePolicy,\r
+ IN EFI_FV_WRITE_FILE_DATA *FileData\r
)\r
/*++\r
\r
--*/\r
;\r
\r
+EFI_STATUS\r
+EFIAPI\r
+FvGetVolumeInfo (\r
+ IN CONST EFI_FIRMWARE_VOLUME2_PROTOCOL *This,\r
+ IN CONST EFI_GUID *InformationType,\r
+ IN OUT UINTN *BufferSize,\r
+ OUT VOID *Buffer\r
+ )\r
+/*++\r
+\r
+Routine Description:\r
+ Return information of type InformationType for the requested firmware\r
+ volume.\r
+ \r
+Arguments:\r
+ This - Pointer to EFI_FIRMWARE_VOLUME2_PROTOCOL.\r
+ InformationType - InformationType for requested.\r
+ BufferSize - On input, size of Buffer.On output, the amount of\r
+ data returned in Buffer.\r
+ Buffer - A poniter to the data buffer to return.\r
+Returns:\r
+ EFI_SUCCESS - Successfully got volume Information.\r
+\r
+--*/\r
+;\r
+\r
\r
+EFI_STATUS\r
+EFIAPI\r
+FvSetVolumeInfo (\r
+ IN CONST EFI_FIRMWARE_VOLUME2_PROTOCOL *This,\r
+ IN CONST EFI_GUID *InformationType,\r
+ IN UINTN BufferSize,\r
+ IN CONST VOID *Buffer\r
+ )\r
+/*++\r
+\r
+Routine Description:\r
+ Set information of type InformationType for the requested firmware\r
+ volume.\r
+\r
+Arguments:\r
+ This - Pointer to EFI_FIRMWARE_VOLUME2_PROTOCOL.\r
+ InformationType - InformationType for requested.\r
+ BufferSize - On input, size of Buffer.On output, the amount of\r
+ data returned in Buffer.\r
+ Buffer - A poniter to the data buffer to return.\r
+Returns:\r
+ EFI_SUCCESS - Successfully set volume Information.\r
+\r
+--*/\r
+;\r
\r
//\r
//Internal functions\r