IN EFI_HANDLE ControllerHandle\r
);\r
\r
+/**\r
+ Get the Nic handle using any child handle in the IPv6 stack.\r
+\r
+ @param[in] ControllerHandle Pointer to child handle over IPv6.\r
+\r
+ @return NicHandle The pointer to the Nic handle.\r
+ @return NULL Can't find the Nic handle.\r
+\r
+**/\r
+EFI_HANDLE\r
+HttpBootGetNicByIp6Children (\r
+ IN EFI_HANDLE ControllerHandle\r
+ );\r
+\r
/**\r
This function is to convert UINTN to ASCII string with the required formatting.\r
\r
IN EFI_IPv4_ADDRESS *Ip\r
);\r
\r
+/**\r
+ This function is to display the IPv6 address.\r
+\r
+ @param[in] Ip The pointer to the IPv6 address.\r
+\r
+**/\r
+VOID\r
+HttpBootShowIp6Addr (\r
+ IN EFI_IPv6_ADDRESS *Ip\r
+ );\r
+\r
//\r
// A wrapper structure to hold the HTTP headers.\r
//\r
UINT16 LocalPort;\r
} HTTP4_IO_CONFIG_DATA;\r
\r
+//\r
+// HTTP_IO configuration data for IPv6\r
+//\r
+typedef struct {\r
+ EFI_HTTP_VERSION HttpVersion;\r
+ UINT32 RequestTimeOut; // In milliseconds.\r
+ BOOLEAN UseDefaultAddress;\r
+ EFI_IPv6_ADDRESS LocalIp;\r
+ UINT16 LocalPort;\r
+} HTTP6_IO_CONFIG_DATA;\r
+\r
+\r
//\r
// HTTP_IO configuration\r
//\r
typedef union {\r
HTTP4_IO_CONFIG_DATA Config4;\r
+ HTTP6_IO_CONFIG_DATA Config6;\r
} HTTP_IO_CONFIG_DATA;\r
\r
//\r
CHAR8 *Body;\r
} HTTP_IO_RESOPNSE_DATA;\r
\r
+/**\r
+ Retrieve the host address using the EFI_DNS6_PROTOCOL.\r
+\r
+ @param[in] Private The pointer to the driver's private data.\r
+ @param[in] HostName Pointer to buffer containing hostname.\r
+ @param[out] IpAddress On output, pointer to buffer containing IPv6 address.\r
+\r
+ @retval EFI_SUCCESS Operation succeeded.\r
+ @retval EFI_DEVICE_ERROR An unexpected network error occurred.\r
+ @retval Others Other errors as indicated. \r
+**/\r
+EFI_STATUS\r
+HttpBootDns (\r
+ IN HTTP_BOOT_PRIVATE_DATA *Private,\r
+ IN CHAR16 *HostName,\r
+ OUT EFI_IPv6_ADDRESS *IpAddress \r
+ );\r
+\r
+/**\r
+ Notify the callback function when an event is triggered.\r
+\r
+ @param[in] Event The triggered event.\r
+ @param[in] Context The opaque parameter to the function.\r
+\r
+**/\r
+VOID\r
+EFIAPI\r
+HttpBootCommonNotify (\r
+ IN EFI_EVENT Event,\r
+ IN VOID *Context\r
+ );\r
+\r
/**\r
Create a HTTP_IO to access the HTTP service. It will create and configure\r
a HTTP child handle.\r