/** @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
// 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