]> git.proxmox.com Git - mirror_edk2.git/blobdiff - NetworkPkg/HttpBootDxe/HttpBootDxe.h
SecurityPkg: Clear LocalAuthSession content after use.
[mirror_edk2.git] / NetworkPkg / HttpBootDxe / HttpBootDxe.h
index 452c8f4906db386ea896301a869d2cef01b9a93e..7cb4b2c55a14e40a58e9025065cfbcc965321ff5 100644 (file)
@@ -1,7 +1,8 @@
 /** @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
@@ -17,10 +18,14 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 \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
@@ -28,6 +33,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #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
@@ -39,6 +46,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 //\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
@@ -51,6 +60,11 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 //\r
 #include <Protocol/LoadFile.h>\r
 \r
+//\r
+// Consumed Guids\r
+//\r
+#include <Guid/HttpBootConfigHii.h>\r
+\r
 //\r
 // Driver Version\r
 //\r
@@ -78,6 +92,7 @@ typedef struct _HTTP_BOOT_VIRTUAL_NIC       HTTP_BOOT_VIRTUAL_NIC;
 #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
@@ -92,6 +107,14 @@ struct _HTTP_BOOT_VIRTUAL_NIC {
   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
@@ -128,6 +151,11 @@ struct _HTTP_BOOT_PRIVATE_DATA {
   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
@@ -143,6 +171,12 @@ struct _HTTP_BOOT_PRIVATE_DATA {
   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