Home | History | Annotate | Download | only in Ppi
      1 /** @file
      2   This file provides location and format of a firmware volume.
      3 
      4   Copyright (c) 2006 - 2008, 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.0.
     15 
     16 **/
     17 
     18 #ifndef __EFI_PEI_FIRMWARE_VOLUME_INFO_H__
     19 #define __EFI_PEI_FIRMWARE_VOLUME_INFO_H__
     20 
     21 
     22 
     23 #define EFI_PEI_FIRMWARE_VOLUME_INFO_PPI_GUID \
     24 { 0x49edb1c1, 0xbf21, 0x4761, { 0xbb, 0x12, 0xeb, 0x0, 0x31, 0xaa, 0xbb, 0x39 } }
     25 
     26 typedef struct _EFI_PEI_FIRMWARE_VOLUME_INFO_PPI  EFI_PEI_FIRMWARE_VOLUME_INFO_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 ///
     34 struct _EFI_PEI_FIRMWARE_VOLUME_INFO_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 
     65 extern EFI_GUID gEfiPeiFirmwareVolumeInfoPpiGuid;
     66 
     67 #endif
     68 
     69