1 /** @file 2 This file provides location and format of a firmware volume. 3 4 Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR> 5 This program and the accompanying materials 6 are licensed and made available under the terms and conditions of the BSD License 7 which accompanies this distribution. The full text of the license may be found at 8 http://opensource.org/licenses/bsd-license.php 9 10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 12 13 @par Revision Reference: 14 This PPI is introduced in PI Version 1.0. 15 16 **/ 17 18 #ifndef __EFI_PEI_FIRMWARE_VOLUME_INFO_H__ 19 #define __EFI_PEI_FIRMWARE_VOLUME_INFO_H__ 20 21 22 23 #define EFI_PEI_FIRMWARE_VOLUME_INFO_PPI_GUID \ 24 { 0x49edb1c1, 0xbf21, 0x4761, { 0xbb, 0x12, 0xeb, 0x0, 0x31, 0xaa, 0xbb, 0x39 } } 25 26 typedef struct _EFI_PEI_FIRMWARE_VOLUME_INFO_PPI EFI_PEI_FIRMWARE_VOLUME_INFO_PPI; 27 28 /// 29 /// This PPI describes the location and format of a firmware volume. 30 /// The FvFormat can be EFI_FIRMWARE_FILE_SYSTEM2_GUID or the GUID for 31 /// a user-defined format. The EFI_FIRMWARE_FILE_SYSTEM2_GUID is 32 /// the PI Firmware Volume format. 33 /// 34 struct _EFI_PEI_FIRMWARE_VOLUME_INFO_PPI { 35 /// 36 /// Unique identifier of the format of the memory-mapped firmware volume. 37 /// 38 EFI_GUID FvFormat; 39 /// 40 /// Points to a buffer which allows the EFI_PEI_FIRMWARE_VOLUME_PPI to process 41 /// the volume. The format of this buffer is specific to the FvFormat. 42 /// For memory-mapped firmware volumes, this typically points to the first byte 43 /// of the firmware volume. 44 /// 45 VOID *FvInfo; 46 /// 47 /// Size of the data provided by FvInfo. For memory-mapped firmware volumes, 48 /// this is typically the size of the firmware volume. 49 /// 50 UINT32 FvInfoSize; 51 /// 52 /// If the firmware volume originally came from a firmware file, then these 53 /// point to the parent firmware volume name and firmware volume file. 54 /// If it did not originally come from a firmware file, these should be NULL. 55 /// 56 EFI_GUID *ParentFvName; 57 /// 58 /// If the firmware volume originally came from a firmware file, then these 59 /// point to the parent firmware volume name and firmware volume file. 60 /// If it did not originally come from a firmware file, these should be NULL. 61 /// 62 EFI_GUID *ParentFileName; 63 }; 64 65 extern EFI_GUID gEfiPeiFirmwareVolumeInfoPpiGuid; 66 67 #endif 68 69