FirmwareVolumeInfo.h revision c311f86b23f334412fa0b57ede8b4daec7ec66fe
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  This PPI describes the location and format of a firmware volume.
31  The FvFormat can be EFI_FIRMWARE_FILE_SYSTEM2_GUID or the GUID for
32  a user-defined format. The  EFI_FIRMWARE_FILE_SYSTEM2_GUID is
33  the PI Firmware Volume format.
34
35  @param  FvFormat      Unique identifier of the format of the memory-mapped firmware volume.
36
37  @param  FvInfo        Points to a buffer which allows the EFI_PEI_FIRMWARE_VOLUME_PPI to
38                        process the volume. The format of this buffer is
39                        specific to the FvFormat. For memory-mapped firmware volumes,
40                        this typically points to the first byte of the firmware volume.
41
42  @param  FvInfoSize    Size of the data provided by FvInfo. For memory-mapped firmware volumes,
43                        this is typically the size of the firmware volume.
44
45  @param  ParentFvName  If the firmware volume originally came from a firmware file,
46                        then these point to the parent firmware volume
47                        name and firmware volume file. If it did not originally come
48                        from a firmware file, these should be NULL.
49
50  @param  ParentFileName  If the firmware volume originally came from a firmware file,
51                        then these point to the parent firmware volume
52                        name and firmware volume file. If it did not originally come
53                        from a firmware file, these should be NULL.
54
55**/
56struct _EFI_PEI_FIRMWARE_VOLUME_INFO_PPI {
57  EFI_GUID  FvFormat;
58  VOID      *FvInfo;
59  UINT32    FvInfoSize;
60  EFI_GUID  *ParentFvName;
61  EFI_GUID  *ParentFileName;
62};
63
64extern EFI_GUID gEfiPeiFirmwareVolumeInfoPpiGuid;
65
66#endif
67
68