blob: 23872aa2fd4056ba312c26b15413c06eeabc4b8f [file] [log] [blame]
Vishal Bhoj82c80712015-12-15 21:13:33 +05301/** @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
26typedef 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///
34struct _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
65extern EFI_GUID gEfiPeiFirmwareVolumeInfoPpiGuid;
66
67#endif
68