--- /dev/null
+/*++\r
+\r
+Copyright (c) 2006, Intel Corporation\r
+All rights reserved. This program and the accompanying materials\r
+are licensed and made available under the terms and conditions of the BSD License\r
+which accompanies this distribution. The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php\r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+Module Name:\r
+ LoadPe32Image.h\r
+\r
+Abstract:\r
+ Load File protocol as defined in the EFI 1.0 specification.\r
+\r
+ Load file protocol exists to supports the addition of new boot devices,\r
+ and to support booting from devices that do not map well to file system.\r
+ Network boot is done via a LoadFile protocol.\r
+\r
+ EFI 1.0 can boot from any device that produces a LoadFile protocol.\r
+\r
+--*/\r
+\r
+#ifndef __LOAD_PE32_IMAGE_H__\r
+#define __LOAD_PE32_IMAGE_H__\r
+\r
+#define PE32_IMAGE_PROTOCOL_GUID \\r
+ {0x5cb5c776,0x60d5,0x45ee,{0x88,0x3c,0x45,0x27,0x8,0xcd,0x74,0x3f }}\r
+\r
+#define EFI_LOAD_PE_IMAGE_ATTRIBUTE_NONE 0x00\r
+#define EFI_LOAD_PE_IMAGE_ATTRIBUTE_RUNTIME_REGISTRATION 0x01\r
+#define EFI_LOAD_PE_IMAGE_ATTRIBUTE_DEBUG_IMAGE_INFO_TABLE_REGISTRATION 0x02\r
+\r
+typedef struct _EFI_PE32_IMAGE_PROTOCOL EFI_PE32_IMAGE_PROTOCOL;\r
+\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *LOAD_PE_IMAGE) (\r
+ IN EFI_PE32_IMAGE_PROTOCOL *This,\r
+ IN EFI_HANDLE ParentImageHandle,\r
+ IN EFI_DEVICE_PATH_PROTOCOL *FilePath,\r
+ IN VOID *SourceBuffer OPTIONAL,\r
+ IN UINTN SourceSize,\r
+ IN EFI_PHYSICAL_ADDRESS DstBuffer OPTIONAL,\r
+ OUT UINTN *NumberOfPages OPTIONAL,\r
+ OUT EFI_HANDLE *ImageHandle,\r
+ OUT EFI_PHYSICAL_ADDRESS *EntryPoint OPTIONAL,\r
+ IN UINT32 Attribute\r
+ );\r
+\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *UNLOAD_PE_IMAGE) (\r
+ IN EFI_PE32_IMAGE_PROTOCOL *This,\r
+ IN EFI_HANDLE ImageHandle\r
+ );\r
+\r
+struct _EFI_PE32_IMAGE_PROTOCOL {\r
+ LOAD_PE_IMAGE LoadPeImage;\r
+ UNLOAD_PE_IMAGE UnLoadPeImage;\r
+};\r
+\r
+extern EFI_GUID gEfiLoadPeImageProtocolGuid;\r
+\r
+#endif\r
+\r