/** @file\r
- Load File protocol as defined in the EFI 1.0 specification.\r
+ Load File protocol as defined in the UEFI 2.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
+ The 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
+ UEFI 2.0 can boot from any device that produces a LoadFile protocol.\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
+Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
+This program and the accompanying materials are licensed and made available under\r
+the terms and conditions of the BSD License that accompanies this distribution.\r
+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: LoadFile.h\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
**/\r
\r
#ifndef __EFI_LOAD_FILE_PROTOCOL_H__\r
#define __EFI_LOAD_FILE_PROTOCOL_H__\r
\r
-#define LOAD_FILE_PROTOCOL_GUID \\r
+#define EFI_LOAD_FILE_PROTOCOL_GUID \\r
{ \\r
0x56EC3091, 0x954C, 0x11d2, {0x8E, 0x3F, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B } \\r
}\r
\r
-//\r
-// Protocol Guid Name defined by UEFI 2.0 spec.\r
-//\r
-#define EFI_LOAD_FILE_PROTOCOL_GUID LOAD_FILE_PROTOCOL_GUID\r
+///\r
+/// Protocol Guid defined by EFI1.1.\r
+///\r
+#define LOAD_FILE_PROTOCOL EFI_LOAD_FILE_PROTOCOL_GUID\r
\r
typedef struct _EFI_LOAD_FILE_PROTOCOL EFI_LOAD_FILE_PROTOCOL;\r
\r
+///\r
+/// Backward-compatible with EFI1.1\r
+///\r
+typedef EFI_LOAD_FILE_PROTOCOL EFI_LOAD_FILE_INTERFACE;\r
+\r
/**\r
Causes the driver to load a specified file.\r
\r
Buffer. On output with a return code of EFI_BUFFER_TOO_SMALL,\r
the size of Buffer required to retrieve the requested file.\r
@param Buffer The memory buffer to transfer the file to. IF Buffer is NULL,\r
- then no the size of the requested file is returned in\r
+ then the size of the requested file is returned in\r
BufferSize.\r
\r
@retval EFI_SUCCESS The file was loaded.\r
@retval EFI_NO_MEDIA No medium was present to load the file.\r
@retval EFI_DEVICE_ERROR The file was not loaded due to a device error.\r
@retval EFI_NO_RESPONSE The remote system did not respond.\r
- @retval EFI_NOT_FOUND The file was not found\r
+ @retval EFI_NOT_FOUND The file was not found.\r
@retval EFI_ABORTED The file load process was manually cancelled.\r
-\r
+ @retval EFI_WARN_FILE_SYSTEM The resulting Buffer contains UEFI-compliant file system.\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_LOAD_FILE) (\r
+(EFIAPI *EFI_LOAD_FILE)(\r
IN EFI_LOAD_FILE_PROTOCOL *This,\r
IN EFI_DEVICE_PATH_PROTOCOL *FilePath,\r
IN BOOLEAN BootPolicy,\r
IN OUT UINTN *BufferSize,\r
IN VOID *Buffer OPTIONAL\r
- )\r
-;\r
+ );\r
\r
+///\r
+/// The EFI_LOAD_FILE_PROTOCOL is a simple protocol used to obtain files from arbitrary devices.\r
+///\r
struct _EFI_LOAD_FILE_PROTOCOL {\r
EFI_LOAD_FILE LoadFile;\r
};\r