1/** @file
2  This file provides location, format and authentication status of a firmware volume.
3
4  Copyright (c) 2013, 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.3 errata.
15
16**/
17
18#ifndef __EFI_PEI_FIRMWARE_VOLUME_INFO2_H__
19#define __EFI_PEI_FIRMWARE_VOLUME_INFO2_H__
20
21
22
23#define EFI_PEI_FIRMWARE_VOLUME_INFO2_PPI_GUID \
24{ 0xea7ca24b, 0xded5, 0x4dad, { 0xa3, 0x89, 0xbf, 0x82, 0x7e, 0x8f, 0x9b, 0x38 } }
25
26typedef struct _EFI_PEI_FIRMWARE_VOLUME_INFO2_PPI  EFI_PEI_FIRMWARE_VOLUME_INFO2_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_INFO2_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  /// Authentication Status.
65  ///
66  UINT32    AuthenticationStatus;
67};
68
69extern EFI_GUID gEfiPeiFirmwareVolumeInfo2PpiGuid;
70
71#endif
72
73