/** @file\r
UEFI HTTP boot driver's private data structure and interfaces declaration.\r
\r
-Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR>\r
+(C) Copyright 2016 Hewlett Packard Enterprise Development LP<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
\r
#include <Uefi.h>\r
\r
+#include <IndustryStandard/Http11.h>\r
+\r
//\r
// Libraries\r
//\r
#include <Library/UefiBootServicesTableLib.h>\r
+#include <Library/UefiHiiServicesLib.h>\r
+#include <Library/UefiRuntimeServicesTableLib.h>\r
#include <Library/MemoryAllocationLib.h>\r
#include <Library/BaseLib.h>\r
#include <Library/UefiLib.h>\r
#include <Library/DebugLib.h>\r
#include <Library/NetLib.h>\r
#include <Library/HttpLib.h>\r
+#include <Library/HiiLib.h>\r
+#include <Library/PrintLib.h>\r
\r
//\r
// UEFI Driver Model Protocols\r
//\r
// Consumed Protocols\r
//\r
+#include <Protocol/ServiceBinding.h>\r
+#include <Protocol/HiiConfigAccess.h>\r
#include <Protocol/NetworkInterfaceIdentifier.h>\r
#include <Protocol/Dhcp4.h>\r
#include <Protocol/Dhcp6.h>\r
//\r
#include <Protocol/LoadFile.h>\r
\r
+//\r
+// Consumed Guids\r
+//\r
+#include <Guid/HttpBootConfigHii.h>\r
+\r
//\r
// Driver Version\r
//\r
#include "HttpBootImpl.h"\r
#include "HttpBootSupport.h"\r
#include "HttpBootClient.h"\r
+#include "HttpBootConfig.h"\r
\r
typedef union {\r
HTTP_BOOT_DHCP4_PACKET_CACHE Dhcp4;\r
HTTP_BOOT_PRIVATE_DATA *Private;\r
};\r
\r
+#define HTTP_BOOT_PRIVATE_DATA_FROM_CALLBACK_INFO(Callback) \\r
+ CR ( \\r
+ Callback, \\r
+ HTTP_BOOT_PRIVATE_DATA, \\r
+ CallbackInfo, \\r
+ HTTP_BOOT_PRIVATE_DATA_SIGNATURE \\r
+ )\r
+\r
struct _HTTP_BOOT_PRIVATE_DATA {\r
UINT32 Signature;\r
EFI_HANDLE Controller;\r
EFI_DEVICE_PATH_PROTOCOL *DevicePath;\r
UINT32 Id;\r
\r
+ //\r
+ // HII callback info block\r
+ //\r
+ HTTP_BOOT_FORM_CALLBACK_INFO CallbackInfo;\r
+\r
//\r
// Mode data\r
//\r
UINTN BootFileSize;\r
BOOLEAN NoGateway;\r
\r
+ //\r
+ // URI string extracted from the input FilePath parameter.\r
+ //\r
+ CHAR8 *FilePathUri;\r
+ VOID *FilePathUriParser;\r
+\r
//\r
// Cached HTTP data\r
//\r