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 
26 typedef 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 ///
33 struct _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 
50 extern EFI_GUID gEfiPeiLoadedImagePpiGuid;
51 
52 #endif
53