]> git.proxmox.com Git - mirror_edk2.git/blame_incremental - IntelFrameworkPkg/Include/Ppi/FindFv.h
add comments to note why EFI_MISC_PORT_DEVICE_PATH and etc exists here , which is...
[mirror_edk2.git] / IntelFrameworkPkg / Include / Ppi / FindFv.h
... / ...
CommitLineData
1/** @file\r
2 This file declares FindFv PPI used to locate FVs that contain PEIMs in PEI\r
3\r
4 Copyright (c) 2007 - 2009, Intel Corporation\r
5 All rights reserved. This program and the accompanying materials\r
6 are licensed and made available under the terms and conditions of the BSD License\r
7 which accompanies this distribution. The full text of the license may be found at\r
8 http://opensource.org/licenses/bsd-license.php\r
9\r
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
12\r
13 Module Name: FindFv.h\r
14\r
15 @par Revision Reference:\r
16 This PPI is defined in PEI CIS\r
17 Version 0.91\r
18\r
19**/\r
20\r
21#ifndef _FIND_FV_H_\r
22#define _FIND_FV_H_\r
23\r
24#include <PiPei.h>\r
25\r
26#define EFI_PEI_FIND_FV_PPI_GUID \\r
27 { \\r
28 0x36164812, 0xa023, 0x44e5, {0xbd, 0x85, 0x5, 0xbf, 0x3c, 0x77, 0x0, 0xaa } \\r
29 }\r
30\r
31typedef struct _EFI_PEI_FIND_FV_PPI EFI_PEI_FIND_FV_PPI;\r
32\r
33/**\r
34 This interface returns the base address of the firmware volume whose index\r
35 was passed in FvNumber.Once this function reports a firmware volume\r
36 index/base address pair, that index/address pairing must continue throughout PEI.\r
37\r
38 @param PeiServices Pointer to the PEI Services Table.\r
39 @param This Interface pointer that implements the Find FV service.\r
40 @param FvNumber The index of the firmware volume to locate.\r
41 @param FvAddress The address of the volume to discover.\r
42\r
43 @retval EFI_SUCCESS An additional firmware volume was found.\r
44 @retval EFI_OUT_OF_RESOURCES There are no firmware volumes for the given FvNumber.\r
45 @retval EFI_INVALID_PARAMETER *FvAddress is NULL.\r
46\r
47**/\r
48typedef\r
49EFI_STATUS\r
50(EFIAPI *EFI_PEI_FIND_FV_FINDFV)(\r
51 IN EFI_PEI_FIND_FV_PPI *This,\r
52 IN EFI_PEI_SERVICES **PeiServices,\r
53 IN UINT8 *FvNumber,\r
54 IN OUT EFI_FIRMWARE_VOLUME_HEADER **FVAddress\r
55 );\r
56\r
57/**\r
58 Hardware mechanisms for locating FVs in a platform vary widely.\r
59 EFI_PEI_FIND_FV_PPI serves to abstract this variation so that the\r
60 PEI Foundation can remain standard across a wide variety of platforms.\r
61**/\r
62struct _EFI_PEI_FIND_FV_PPI {\r
63 EFI_PEI_FIND_FV_FINDFV FindFv; ///< Service that abstracts the location of additional firmware volumes.\r
64};\r
65\r
66extern EFI_GUID gEfiFindFvPpiGuid;\r
67\r
68#endif\r