]> git.proxmox.com Git - mirror_edk2.git/blobdiff - OldMdePkg/Include/Ppi/FindFv.h
Moved the MdePkg to OldMdePkg so that new code in MdePkg does not break existing...
[mirror_edk2.git] / OldMdePkg / Include / Ppi / FindFv.h
diff --git a/OldMdePkg/Include/Ppi/FindFv.h b/OldMdePkg/Include/Ppi/FindFv.h
new file mode 100644 (file)
index 0000000..9a3e173
--- /dev/null
@@ -0,0 +1,71 @@
+/** @file\r
+  This file declares FindFv PPI used to locate FVs that contain PEIMs in PEI\r
+\r
+  Copyright (c) 2006, Intel Corporation                                                         \r
+  All rights reserved. This program and the accompanying materials                          \r
+  are licensed and made available under the terms and conditions of the BSD License         \r
+  which accompanies this distribution.  The full text of the license may be found at        \r
+  http://opensource.org/licenses/bsd-license.php                                            \r
+\r
+  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,                     \r
+  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.             \r
+\r
+  Module Name:  FindFv.h\r
+\r
+  @par Revision Reference:\r
+  This PPI is defined in PEI CIS\r
+  Version 0.91\r
+\r
+**/\r
+\r
+#ifndef __FIND_FV_H__\r
+#define __FIND_FV_H__\r
+\r
+#define EFI_PEI_FIND_FV_PPI_GUID \\r
+  { \\r
+    0x36164812, 0xa023, 0x44e5, {0xbd, 0x85, 0x5, 0xbf, 0x3c, 0x77, 0x0, 0xaa } \\r
+  }\r
+\r
+typedef struct _EFI_PEI_FIND_FV_PPI EFI_PEI_FIND_FV_PPI;\r
+\r
+/**\r
+  This interface returns the base address of the firmware volume whose index \r
+  was passed in FvNumber.Once this function reports a firmware volume \r
+  index/base address pair, that index/address pairing must continue throughout PEI.\r
+\r
+  @param  PeiServices    Pointer to the PEI Services Table.\r
+  @param  This           Interface pointer that implements the Find FV service.\r
+  @param  FvNumber       The index of the firmware volume to locate.\r
+  @param  FvAddress      The address of the volume to discover.\r
+\r
+  @retval EFI_SUCCESS           An additional firmware volume was found.\r
+  @retval EFI_OUT_OF_RESOURCES  There are no firmware volumes for the given FvNumber.\r
+  @retval EFI_INVALID_PARAMETER *FvAddress is NULL.\r
+\r
+**/\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EFI_PEI_FIND_FV_FINDFV) (\r
+  IN EFI_PEI_FIND_FV_PPI      *This,\r
+  IN EFI_PEI_SERVICES         **PeiServices,\r
+  UINT8                       *FvNumber,\r
+  EFI_FIRMWARE_VOLUME_HEADER  **FVAddress\r
+  );\r
+\r
+/**\r
+  @par Ppi Description:\r
+  Hardware mechanisms for locating FVs in a platform vary widely.\r
+  EFI_PEI_FIND_FV_PPI serves to abstract this variation so that the \r
+  PEI Foundation can remain standard across a wide variety of platforms.\r
+\r
+  @param FindFv\r
+  Service that abstracts the location of additional firmware volumes.\r
+\r
+**/\r
+struct _EFI_PEI_FIND_FV_PPI {\r
+  EFI_PEI_FIND_FV_FINDFV  FindFv;\r
+};\r
+\r
+extern EFI_GUID gEfiFindFvPpiGuid;\r
+\r
+#endif\r