Port EdkUnixPkg to UnixPkg. The changes are listed as follows:
[edk2.git] / UnixPkg / Include / Ppi / UnixPeiLoadFile.h
blobb91c630b5a33f8261de6a65305c3efd05c35332a
1 /*++
3 Copyright (c) 2006, Intel Corporation
4 All rights reserved. This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12 Module Name:
14 UnixPeiLoadFile.h
16 Abstract:
18 Unix Load File PPI.
20 When the PEI core is done it calls the DXE IPL via PPI
22 --*/
24 #ifndef __UNIX_PEI_LOAD_FILE_H__
25 #define __UNIX_PEI_LOAD_FILE_H__
27 #include <UnixDxe.h>
29 #define UNIX_PEI_LOAD_FILE_GUID \
30 { \
31 0xf2f48768, 0x8985, 0x11db, {0xb8, 0xda, 0x00, 0x40, 0xd0, 0x2b, 0x18, 0x35 } \
34 typedef
35 EFI_STATUS
36 (EFIAPI *UNIX_PEI_LOAD_FILE) (
37 VOID *Pe32Data,
38 EFI_PHYSICAL_ADDRESS *ImageAddress,
39 UINT64 *ImageSize,
40 EFI_PHYSICAL_ADDRESS *EntryPoint
43 /*++
45 Routine Description:
46 Loads and relocates a PE/COFF image into memory.
48 Arguments:
49 Pe32Data - The base address of the PE/COFF file that is to be loaded and relocated
50 ImageAddress - The base address of the relocated PE/COFF image
51 ImageSize - The size of the relocated PE/COFF image
52 EntryPoint - The entry point of the relocated PE/COFF image
54 Returns:
55 EFI_SUCCESS - The file was loaded and relocated
56 EFI_OUT_OF_RESOURCES - There was not enough memory to load and relocate the PE/COFF file
58 --*/
59 typedef struct {
60 UNIX_PEI_LOAD_FILE PeiLoadFileService;
61 } UNIX_PEI_LOAD_FILE_PPI;
63 extern EFI_GUID gUnixPeiLoadFilePpiGuid;
65 #endif