mirror of https://github.com/acidanthera/audk.git
66 lines
1.9 KiB
C
66 lines
1.9 KiB
C
/**@file
|
|
|
|
Copyright (c) 2006, Intel Corporation. All rights reserved.<BR>
|
|
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.
|
|
|
|
Module Name:
|
|
|
|
NtPeiLoadFile.h
|
|
|
|
Abstract:
|
|
|
|
WinNt Load File PPI.
|
|
|
|
When the PEI core is done it calls the DXE IPL via PPI
|
|
|
|
**/
|
|
|
|
#ifndef __NT_PEI_LOAD_FILE_H__
|
|
#define __NT_PEI_LOAD_FILE_H__
|
|
|
|
#include <WinNtDxe.h>
|
|
|
|
#define NT_PEI_LOAD_FILE_GUID \
|
|
{ \
|
|
0xfd0c65eb, 0x405, 0x4cd2, {0x8a, 0xee, 0xf4, 0x0, 0xef, 0x13, 0xba, 0xc2 } \
|
|
}
|
|
|
|
typedef
|
|
EFI_STATUS
|
|
(EFIAPI *NT_PEI_LOAD_FILE) (
|
|
VOID *Pe32Data,
|
|
EFI_PHYSICAL_ADDRESS *ImageAddress,
|
|
UINT64 *ImageSize,
|
|
EFI_PHYSICAL_ADDRESS *EntryPoint
|
|
);
|
|
|
|
/*++
|
|
|
|
Routine Description:
|
|
Loads and relocates a PE/COFF image into memory.
|
|
|
|
Arguments:
|
|
Pe32Data - The base address of the PE/COFF file that is to be loaded and relocated
|
|
ImageAddress - The base address of the relocated PE/COFF image
|
|
ImageSize - The size of the relocated PE/COFF image
|
|
EntryPoint - The entry point of the relocated PE/COFF image
|
|
|
|
Returns:
|
|
EFI_SUCCESS - The file was loaded and relocated
|
|
EFI_OUT_OF_RESOURCES - There was not enough memory to load and relocate the PE/COFF file
|
|
|
|
--*/
|
|
typedef struct {
|
|
NT_PEI_LOAD_FILE PeiLoadFileService;
|
|
} NT_PEI_LOAD_FILE_PPI;
|
|
|
|
extern EFI_GUID gNtPeiLoadFilePpiGuid;
|
|
|
|
#endif
|