FirmwareVolumeInfo.h revision 4ca9b6c4e7dbbcf94f21b54f41f761cefc6b1086
1/** @file
2  This file provides location and format of a firmware volume.
3
4  Copyright (c) 2006 - 2007, Intel Corporation
5  All rights reserved. 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 defined in PI.
15  Version 1.00
16
17**/
18
19#ifndef __EFI_PEI_FIRMWARE_VOLUME_INFO_H__
20#define __EFI_PEI_FIRMWARE_VOLUME_INFO_H__
21
22
23
24#define EFI_PEI_FIRMWARE_VOLUME_INFO_PPI_GUID \
25{ 0x49edb1c1, 0xbf21, 0x4761, { 0xbb, 0x12, 0xeb, 0x0, 0x31, 0xaa, 0xbb, 0x39 } }
26
27typedef struct _EFI_PEI_FIRMWARE_VOLUME_INFO_PPI  EFI_PEI_FIRMWARE_VOLUME_INFO_PPI;
28
29/**
30  @par Ppi Description:
31  This PPI describes the location and format of a firmware volume.
32  The FvFormat can be EFI_FIRMWARE_FILE_SYSTEM2_GUID or the GUID for
33  a user-defined format. The  EFI_FIRMWARE_FILE_SYSTEM2_GUID is
34  the PI Firmware Volume format.
35
36  @param  FvFormat      Unique identifier of the format of the memory-mapped firmware volume.
37
38  @param  FvInfo        Points to a buffer which allows the EFI_PEI_FIRMWARE_VOLUME_PPI to
39                        process the volume. The format of this buffer is
40                        specific to the FvFormat. For memory-mapped firmware volumes,
41                        this typically points to the first byte of the firmware volume.
42
43  @param  FvInfoSize    Size of the data provided by FvInfo. For memory-mapped firmware volumes,
44                        this is typically the size of the firmware volume.
45
46  @param  ParentFvName  If the firmware volume originally came from a firmware file,
47                        then these point to the parent firmware volume
48                        name and firmware volume file. If it did not originally come
49                        from a firmware file, these should be NULL.
50
51  @param  ParentFileName  If the firmware volume originally came from a firmware file,
52                        then these point to the parent firmware volume
53                        name and firmware volume file. If it did not originally come
54                        from a firmware file, these should be NULL.
55
56**/
57struct _EFI_PEI_FIRMWARE_VOLUME_INFO_PPI {
58  EFI_GUID  FvFormat;
59  VOID      *FvInfo;
60  UINT32    FvInfoSize;
61  EFI_GUID  *ParentFvName;
62  EFI_GUID  *ParentFileName;
63};
64
65extern EFI_GUID gEfiPeiFirmwareVolumeInfoPpiGuid;
66
67#endif
68
69