/*++ | |
Copyright (c) 2006, 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. | |
Module Name: | |
LoadPe32Image.h | |
Abstract: | |
Load File protocol as defined in the EFI 1.0 specification. | |
Load file protocol exists to supports the addition of new boot devices, | |
and to support booting from devices that do not map well to file system. | |
Network boot is done via a LoadFile protocol. | |
EFI 1.0 can boot from any device that produces a LoadFile protocol. | |
--*/ | |
#ifndef __LOAD_PE32_IMAGE_H__ | |
#define __LOAD_PE32_IMAGE_H__ | |
#define PE32_IMAGE_PROTOCOL_GUID \ | |
{0x5cb5c776,0x60d5,0x45ee,{0x88,0x3c,0x45,0x27,0x8,0xcd,0x74,0x3f }} | |
#define EFI_LOAD_PE_IMAGE_ATTRIBUTE_NONE 0x00 | |
#define EFI_LOAD_PE_IMAGE_ATTRIBUTE_RUNTIME_REGISTRATION 0x01 | |
#define EFI_LOAD_PE_IMAGE_ATTRIBUTE_DEBUG_IMAGE_INFO_TABLE_REGISTRATION 0x02 | |
typedef struct _EFI_PE32_IMAGE_PROTOCOL EFI_PE32_IMAGE_PROTOCOL; | |
typedef | |
EFI_STATUS | |
(EFIAPI *LOAD_PE_IMAGE) ( | |
IN EFI_PE32_IMAGE_PROTOCOL *This, | |
IN EFI_HANDLE ParentImageHandle, | |
IN EFI_DEVICE_PATH_PROTOCOL *FilePath, | |
IN VOID *SourceBuffer OPTIONAL, | |
IN UINTN SourceSize, | |
IN EFI_PHYSICAL_ADDRESS DstBuffer OPTIONAL, | |
OUT UINTN *NumberOfPages OPTIONAL, | |
OUT EFI_HANDLE *ImageHandle, | |
OUT EFI_PHYSICAL_ADDRESS *EntryPoint OPTIONAL, | |
IN UINT32 Attribute | |
); | |
typedef | |
EFI_STATUS | |
(EFIAPI *UNLOAD_PE_IMAGE) ( | |
IN EFI_PE32_IMAGE_PROTOCOL *This, | |
IN EFI_HANDLE ImageHandle | |
); | |
struct _EFI_PE32_IMAGE_PROTOCOL { | |
LOAD_PE_IMAGE LoadPeImage; | |
UNLOAD_PE_IMAGE UnLoadPeImage; | |
}; | |
extern EFI_GUID gEfiLoadPeImageProtocolGuid; | |
#endif | |