1/** @file
2  The file describes the PPI which notifies other drivers
3  of the PEIM being initialized by the PEI Dispatcher.
4
5  Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
6  This program and the accompanying materials
7  are licensed and made available under the terms and conditions of the BSD License
8  which accompanies this distribution.  The full text of the license may be found at
9  http://opensource.org/licenses/bsd-license.php
10
11  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13
14  @par Revision Reference:
15  This PPI is introduced in PI Version 1.0.
16
17**/
18
19#ifndef __LOADED_IMAGE_PPI_H__
20#define __LOADED_IMAGE_PPI_H__
21
22#define EFI_PEI_LOADED_IMAGE_PPI_GUID \
23  { 0xc1fcd448, 0x6300, 0x4458, { 0xb8, 0x64, 0x28, 0xdf, 0x1, 0x53, 0x64, 0xbc } }
24
25
26typedef struct _EFI_PEI_LOADED_IMAGE_PPI  EFI_PEI_LOADED_IMAGE_PPI;
27
28///
29/// This interface is installed by the PEI Dispatcher after the image has been
30/// loaded and after all security checks have been performed,
31/// to notify other PEIMs of the files which are being loaded.
32///
33struct _EFI_PEI_LOADED_IMAGE_PPI {
34  ///
35  /// Address of the image at the address where it will be executed.
36  ///
37  EFI_PHYSICAL_ADDRESS  ImageAddress;
38  ///
39  /// Size of the image as it will be executed.
40  ///
41  UINT64                ImageSize;
42  ///
43  /// File handle from which the image was loaded.
44  /// Can be NULL, indicating the image was not loaded from a handle.
45  ///
46  EFI_PEI_FILE_HANDLE   FileHandle;
47};
48
49
50extern EFI_GUID gEfiPeiLoadedImagePpiGuid;
51
52#endif
53