]> git.proxmox.com Git - mirror_edk2.git/blobdiff - NetworkPkg/HttpDxe/HttpProto.h
NetworkPkg: Fix incorrect buffer free in HttpDxe
[mirror_edk2.git] / NetworkPkg / HttpDxe / HttpProto.h
index 7b4b343b2a2e84964a67bc1667c2be1cadd5c01e..8b47fe00f69edf466bae71f86da2c2a39fd902bd 100644 (file)
@@ -47,6 +47,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 #define HTTP_BUFFER_SIZE_DEAULT      65535\r
 #define HTTP_MAX_SYN_BACK_LOG        5\r
 #define HTTP_CONNECTION_TIMEOUT      60\r
+#define HTTP_RESPONSE_TIMEOUT        5\r
 #define HTTP_DATA_RETRIES            12\r
 #define HTTP_FIN_TIMEOUT             2\r
 #define HTTP_KEEP_ALIVE_PROBES       6\r
@@ -93,6 +94,8 @@ typedef struct _HTTP_PROTOCOL {
 \r
   UINTN                         StatusCode;\r
 \r
+  EFI_EVENT                     TimeoutEvent;\r
+\r
   EFI_HANDLE                    Tcp4ChildHandle;\r
   EFI_TCP4_PROTOCOL             *Tcp4;\r
   EFI_TCP4_CONFIG_DATA          Tcp4CfgData;\r
@@ -116,9 +119,7 @@ typedef struct _HTTP_PROTOCOL {
   EFI_TCP6_CLOSE_TOKEN          Tcp6CloseToken;\r
   BOOLEAN                       IsTcp6CloseDone;\r
   EFI_IPv6_ADDRESS              RemoteIpv6Addr;\r
-\r
-\r
-  \r
\r
   //\r
   // Rx4Token or Rx6Token used for receiving HTTP header.\r
   //\r
@@ -504,6 +505,7 @@ HttpTcpReceive (
   @param[in]       HttpInstance    The HTTP instance private data.\r
   @param[in, out]  SizeofHeaders   The HTTP header length.\r
   @param[in, out]  BufferSize      The size of buffer to cacahe the header message.\r
+  @param[in]       Timeout         The time to wait for receiving the header packet.\r
 \r
   @retval EFI_SUCCESS              The HTTP header is received.                          \r
   @retval Others                   Other errors as indicated.\r
@@ -513,7 +515,8 @@ EFI_STATUS
 HttpTcpReceiveHeader (\r
   IN  HTTP_PROTOCOL         *HttpInstance,\r
   IN  OUT UINTN             *SizeofHeaders,\r
-  IN  OUT UINTN             *BufferSize\r
+  IN  OUT UINTN             *BufferSize,\r
+  IN  EFI_EVENT             Timeout\r
   );\r
 \r
 /**\r
@@ -521,6 +524,7 @@ HttpTcpReceiveHeader (
 \r
   @param[in]  Wrap               The HTTP token's wrap data.\r
   @param[in]  HttpMsg            The HTTP message data.\r
+  @param[in]  Timeout            The time to wait for receiving the body packet.\r
 \r
   @retval EFI_SUCCESS            The HTTP body is received.                          \r
   @retval Others                 Other error as indicated.\r
@@ -529,7 +533,8 @@ HttpTcpReceiveHeader (
 EFI_STATUS\r
 HttpTcpReceiveBody (\r
   IN  HTTP_TOKEN_WRAP       *Wrap,\r
-  IN  EFI_HTTP_MESSAGE      *HttpMsg\r
+  IN  EFI_HTTP_MESSAGE      *HttpMsg,\r
+  IN  EFI_EVENT             Timeout\r
   );\r
 \r
 /**\r