+++ /dev/null
-/*++\r
-\r
-Copyright (c) 2007, Intel Corporation. All rights reserved.<BR>\r
-This program and the accompanying materials \r
-are licensed and made available under the terms and conditions of the BSD License \r
-which accompanies this distribution. The full text of the license may be found at \r
-http://opensource.org/licenses/bsd-license.php \r
- \r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
-\r
-Module Name:\r
-\r
- FirmwareVolume2.h\r
-\r
-Abstract:\r
-\r
- PI 1.0 spec definition.\r
-\r
---*/\r
-\r
-#ifndef __FIRMWARE_VOLUME2_H__\r
-#define __FIRMWARE_VOLUME2_H__\r
-#include "EfiImageFormat.h"\r
-#include "EfiFirmwareVolume.h"\r
-\r
-//\r
-// Firmware Volume Protocol GUID definition\r
-//\r
-#define EFI_FIRMWARE_VOLUME2_PROTOCOL_GUID \\r
- { 0x220e73b6, 0x6bdb, 0x4413, {0x84, 0x5, 0xb9, 0x74, 0xb1, 0x8, 0x61, 0x9a} }\r
-\r
-\r
-EFI_FORWARD_DECLARATION (EFI_FIRMWARE_VOLUME2_PROTOCOL);\r
-\r
-\r
-//\r
-// ************************************************************\r
-// EFI_FV2_ATTRIBUTES bit definitions\r
-// ************************************************************\r
-//\r
-#define EFI_FV2_READ_DISABLE_CAP 0x0000000000000001\r
-#define EFI_FV2_READ_ENABLE_CAP 0x0000000000000002\r
-#define EFI_FV2_READ_STATUS 0x0000000000000004\r
-\r
-#define EFI_FV2_WRITE_DISABLE_CAP 0x0000000000000008\r
-#define EFI_FV2_WRITE_ENABLE_CAP 0x0000000000000010\r
-#define EFI_FV2_WRITE_STATUS 0x0000000000000020\r
-\r
-#define EFI_FV2_LOCK_CAP 0x0000000000000040\r
-#define EFI_FV2_LOCK_STATUS 0x0000000000000080\r
-#define EFI_FV2_WRITE_POLICY_RELIABLE 0x0000000000000100\r
-\r
-#define EFI_FV2_READ_LOCK_CAP 0x0000000000001000\r
-#define EFI_FV2_READ_LOCK_STATUS 0x0000000000002000\r
-#define EFI_FV2_WRITE_LOCK_CAP 0x0000000000004000\r
-#define EFI_FV2_WRITE_LOCK_STATUS 0x0000000000008000\r
-#define EFI_FV2_ALIGNMENT 0x00000000001F0000\r
-\r
-\r
-#define EFI_FV2_ALIGNMENT_1 0x0000000000000000\r
-#define EFI_FV2_ALIGNMENT_2 0x0000000000010000\r
-#define EFI_FV2_ALIGNMENT_4 0x0000000000020000\r
-#define EFI_FV2_ALIGNMENT_8 0x0000000000030000\r
-#define EFI_FV2_ALIGNMENT_16 0x0000000000040000\r
-#define EFI_FV2_ALIGNMENT_32 0x0000000000050000\r
-#define EFI_FV2_ALIGNMENT_64 0x0000000000060000\r
-#define EFI_FV2_ALIGNMENT_128 0x0000000000070000\r
-#define EFI_FV2_ALIGNMENT_256 0x0000000000080000\r
-#define EFI_FV2_ALIGNMENT_512 0x0000000000090000\r
-#define EFI_FV2_ALIGNMENT_1K 0x00000000000A0000\r
-#define EFI_FV2_ALIGNMENT_2K 0x00000000000B0000\r
-#define EFI_FV2_ALIGNMENT_4K 0x00000000000C0000\r
-#define EFI_FV2_ALIGNMENT_8K 0x00000000000D0000\r
-#define EFI_FV2_ALIGNMENT_16K 0x00000000000E0000\r
-#define EFI_FV2_ALIGNMENT_32K 0x00000000000F0000\r
-#define EFI_FV2_ALIGNMENT_64K 0x0000000000100000\r
-#define EFI_FV2_ALIGNMENT_128K 0x0000000000110000\r
-#define EFI_FV2_ALIGNMENT_256K 0x0000000000120000\r
-#define EFI_FV2_ALIGNMENT_512K 0x0000000000130000\r
-#define EFI_FV2_ALIGNMENT_1M 0x0000000000140000\r
-#define EFI_FV2_ALIGNMENT_2M 0x0000000000150000\r
-#define EFI_FV2_ALIGNMENT_4M 0x0000000000160000\r
-#define EFI_FV2_ALIGNMENT_8M 0x0000000000170000\r
-#define EFI_FV2_ALIGNMENT_16M 0x0000000000180000\r
-#define EFI_FV2_ALIGNMENT_32M 0x0000000000190000\r
-#define EFI_FV2_ALIGNMENT_64M 0x00000000001A0000\r
-#define EFI_FV2_ALIGNMENT_128M 0x00000000001B0000\r
-#define EFI_FV2_ALIGNMENT_256M 0x00000000001C0000\r
-#define EFI_FV2_ALIGNMENT_512M 0x00000000001D0000\r
-#define EFI_FV2_ALIGNMENT_1G 0x00000000001E0000\r
-#define EFI_FV2_ALIGNMENT_2G 0x00000000001F0000\r
-\r
-#define EFI_FV_FILE_ATTRIB_FIXED 0x00000100\r
-#define EFI_FV_FILE_ATTRIB_MEMORY_MAPPED 0x00000200\r
-\r
-\r
-//\r
-// Protocol API definitions\r
-//\r
-\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EFI_FV_GET_ATTRIBUTES) (\r
- IN CONST EFI_FIRMWARE_VOLUME2_PROTOCOL *This,\r
- OUT EFI_FV_ATTRIBUTES *Attributes\r
- );\r
-\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EFI_FV_SET_ATTRIBUTES) (\r
- IN CONST EFI_FIRMWARE_VOLUME2_PROTOCOL *This,\r
- IN OUT EFI_FV_ATTRIBUTES *Attributes\r
- );\r
-\r
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EFI_FV_READ_FILE) (\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
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EFI_FV_READ_SECTION) (\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
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EFI_FV_WRITE_FILE) (\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
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EFI_FV_GET_NEXT_FILE) (\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
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EFI_FV_GET_INFO) (\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
-typedef\r
-EFI_STATUS\r
-(EFIAPI *EFI_FV_SET_INFO) (\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
-struct _EFI_FIRMWARE_VOLUME2_PROTOCOL {\r
- EFI_FV_GET_ATTRIBUTES GetVolumeAttributes;\r
- EFI_FV_SET_ATTRIBUTES SetVolumeAttributes;\r
- EFI_FV_READ_FILE ReadFile;\r
- EFI_FV_READ_SECTION ReadSection;\r
- EFI_FV_WRITE_FILE WriteFile;\r
- EFI_FV_GET_NEXT_FILE GetNextFile;\r
- UINT32 KeySize;\r
- EFI_HANDLE ParentHandle;\r
- EFI_FV_GET_INFO GetInfo;\r
- EFI_FV_SET_INFO SetInfo;\r
-};\r
-\r
-extern EFI_GUID gEfiFirmwareVolume2ProtocolGuid;\r
-\r
-#endif\r