#ifndef __BDS_ENTRY_H__\r
#define __BDS_ENTRY_H__\r
\r
+#define IS_DEVICE_PATH_NODE(node,type,subtype) \\r
+ (((node)->Type == (type)) && ((node)->SubType == (subtype)))\r
+\r
/**\r
This is defined by the UEFI specs, don't change it\r
**/\r
VOID\r
);\r
\r
-/**\r
- Start a Linux kernel from a Device Path\r
-\r
- @param LinuxKernel Device Path to the Linux Kernel\r
- @param Parameters Linux kernel arguments\r
-\r
- @retval EFI_SUCCESS All drivers have been connected\r
- @retval EFI_NOT_FOUND The Linux kernel Device Path has not been found\r
- @retval EFI_OUT_OF_RESOURCES There is not enough resource memory to store the matching results.\r
-\r
-**/\r
-EFI_STATUS\r
-BdsBootLinuxAtag (\r
- IN EFI_DEVICE_PATH_PROTOCOL* LinuxKernelDevicePath,\r
- IN EFI_DEVICE_PATH_PROTOCOL* InitrdDevicePath,\r
- IN CONST CHAR8* Arguments\r
- );\r
-\r
-/**\r
- Start a Linux kernel from a Device Path\r
-\r
- @param[in] LinuxKernelDevicePath Device Path to the Linux Kernel\r
- @param[in] InitrdDevicePath Device Path to the Initrd\r
- @param[in] Arguments Linux kernel arguments\r
-\r
- @retval EFI_SUCCESS All drivers have been connected\r
- @retval EFI_NOT_FOUND The Linux kernel Device Path has not been found\r
- @retval EFI_OUT_OF_RESOURCES There is not enough resource memory to store the matching results.\r
-\r
-**/\r
-EFI_STATUS\r
-BdsBootLinuxFdt (\r
- IN EFI_DEVICE_PATH_PROTOCOL* LinuxKernelDevicePath,\r
- IN EFI_DEVICE_PATH_PROTOCOL* InitrdDevicePath,\r
- IN CONST CHAR8* Arguments\r
- );\r
-\r
/**\r
Start an EFI Application from a Device Path\r
\r
IN VOID* LoadOptions\r
);\r
\r
-/**\r
- Start an EFI Application from any Firmware Volume\r
-\r
- @param EfiApp EFI Application Name\r
-\r
- @retval EFI_SUCCESS All drivers have been connected\r
- @retval EFI_NOT_FOUND The Linux kernel Device Path has not been found\r
- @retval EFI_OUT_OF_RESOURCES There is not enough resource memory to store the matching results.\r
-\r
-**/\r
-EFI_STATUS\r
-BdsLoadApplication (\r
- IN EFI_HANDLE ParentImageHandle,\r
- IN CHAR16* EfiApp,\r
- IN UINTN LoadOptionsSize,\r
- IN VOID* LoadOptions\r
- );\r
-\r
EFI_STATUS\r
BdsLoadImage (\r
IN EFI_DEVICE_PATH *DevicePath,\r
VOID\r
);\r
\r
+/**\r
+ Locate an EFI application in a the Firmware Volumes by its name\r
+\r
+ @param EfiAppGuid Guid of the EFI Application into the Firmware Volume\r
+ @param DevicePath EFI Device Path of the EFI application\r
+\r
+ @return EFI_SUCCESS The function completed successfully.\r
+ @return EFI_NOT_FOUND The protocol could not be located.\r
+ @return EFI_OUT_OF_RESOURCES There are not enough resources to find the protocol.\r
+\r
+**/\r
+EFI_STATUS\r
+LocateEfiApplicationInFvByName (\r
+ IN CONST CHAR16* EfiAppName,\r
+ OUT EFI_DEVICE_PATH **DevicePath\r
+ );\r
+\r
+/**\r
+ Locate an EFI application in a the Firmware Volumes by its GUID\r
+\r
+ @param EfiAppGuid Guid of the EFI Application into the Firmware Volume\r
+ @param DevicePath EFI Device Path of the EFI application\r
+\r
+ @return EFI_SUCCESS The function completed successfully.\r
+ @return EFI_NOT_FOUND The protocol could not be located.\r
+ @return EFI_OUT_OF_RESOURCES There are not enough resources to find the protocol.\r
+\r
+**/\r
+EFI_STATUS\r
+LocateEfiApplicationInFvByGuid (\r
+ IN CONST EFI_GUID *EfiAppGuid,\r
+ OUT EFI_DEVICE_PATH **DevicePath\r
+ );\r
+\r
#endif\r