summaryrefslogtreecommitdiff
path: root/ArmPkg/Library/BdsLib/BdsInternal.h
diff options
context:
space:
mode:
Diffstat (limited to 'ArmPkg/Library/BdsLib/BdsInternal.h')
-rw-r--r--ArmPkg/Library/BdsLib/BdsInternal.h29
1 files changed, 27 insertions, 2 deletions
diff --git a/ArmPkg/Library/BdsLib/BdsInternal.h b/ArmPkg/Library/BdsLib/BdsInternal.h
index 602fd8d..a29d8cc 100644
--- a/ArmPkg/Library/BdsLib/BdsInternal.h
+++ b/ArmPkg/Library/BdsLib/BdsInternal.h
@@ -1,6 +1,6 @@
/** @file
*
-* Copyright (c) 2011-2012, ARM Limited. All rights reserved.
+* Copyright (c) 2011-2015, ARM Limited. All rights reserved.
*
* This program and the accompanying materials
* are licensed and made available under the terms and conditions of the BSD License
@@ -45,14 +45,39 @@
#include <Uefi.h>
+/**
+ * Check if the file loader can support this device path.
+ *
+ * @param DevicePath EFI Device Path of the image to load.
+ * This device path generally comes from the boot entry (ie: Boot####).
+ * @param Handle Handle of the driver supporting the device path
+ * @param RemainingDevicePath Part of the EFI Device Path that has not been resolved during
+ * the Device Path discovery
+ */
typedef BOOLEAN (*BDS_FILE_LOADER_SUPPORT) (
IN EFI_DEVICE_PATH *DevicePath,
IN EFI_HANDLE Handle,
IN EFI_DEVICE_PATH *RemainingDevicePath
);
+/**
+ * Function to load an image from a given Device Path for a
+ * specific support (FileSystem, TFTP, PXE, ...)
+ *
+ * @param DevicePath EFI Device Path of the image to load.
+ * This device path generally comes from the boot entry (ie: Boot####).
+ * This path is also defined as 'OUT' as there are some device paths that
+ * might not be completed such as EFI path for removable device. In these
+ * cases, it is expected the loader to add \EFI\BOOT\BOOT(ARM|AA64).EFI
+ * @param Handle Handle of the driver supporting the device path
+ * @param RemainingDevicePath Part of the EFI Device Path that has not been resolved during
+ * the Device Path discovery
+ * @param Type Define where the image should be loaded (see EFI_ALLOCATE_TYPE definition)
+ * @param Image Base Address of the image has been loaded
+ * @param ImageSize Size of the image that has been loaded
+ */
typedef EFI_STATUS (*BDS_FILE_LOADER_LOAD_IMAGE) (
- IN EFI_DEVICE_PATH *DevicePath,
+ IN OUT EFI_DEVICE_PATH **DevicePath,
IN EFI_HANDLE Handle,
IN EFI_DEVICE_PATH *RemainingDevicePath,
IN EFI_ALLOCATE_TYPE Type,