audk/MdeModulePkg/Include/Ppi/FlashMap.h

61 lines
2.2 KiB
C

/** @file
FlashMap PPI abstracts access to FlashMap information.
Copyright (c) 2006 - 2008, Intel Corporation
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
http://opensource.org/licenses/bsd-license.php
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
**/
#ifndef _PEI_FLASH_MAP_PPI_H_
#define _PEI_FLASH_MAP_PPI_H_
#include <Guid/FlashMapHob.h>
#define PEI_FLASH_MAP_PPI_GUID \
{ 0xf34c2fa0, 0xde88, 0x4270, {0x84, 0x14, 0x96, 0x12, 0x22, 0xf4, 0x52, 0x1c } }
typedef struct _PEI_FLASH_MAP_PPI PEI_FLASH_MAP_PPI;
//
// Functions
//
/**
Get flash region information.
@param PeiServices An indirect pointer to the PEI Services Table published by the PEI Foundation.
@param This Pointer to the FlashMap PPI instance
@param AreaType Flash Area Type
@param AreaTypeGuid Pointer to Guid for Flash Area Type
@param NumEntries Pointer to the number of entries for the total flash area.
@param Entries Pointer to the entry list.
@retval EFI_SUCESS Get flash area information successfully.
@retval EFI_NOT_FOUND No flash area information is found.
**/
typedef
EFI_STATUS
(EFIAPI *PEI_GET_FLASH_AREA_INFO)(
IN EFI_PEI_SERVICES **PeiServices,
IN PEI_FLASH_MAP_PPI *This,
IN EFI_FLASH_AREA_TYPE AreaType,
IN EFI_GUID *AreaTypeGuid,
OUT UINT32 *NumEntries,
OUT EFI_FLASH_SUBAREA_ENTRY **Entries
);
struct _PEI_FLASH_MAP_PPI {
PEI_GET_FLASH_AREA_INFO GetAreaInfo;
};
extern EFI_GUID gPeiFlashMapPpiGuid;
#endif