Browse Source

NetworkPkg: Add Http IO Helper Library to NetworkPkg

This library provides HTTP IO helper functions.

Signed-off-by: Abner Chang <abner.chang@hpe.com>

Cc: Maciej Rabeda <maciej.rabeda@linux.intel.com>
Cc: Jiaxin Wu <jiaxin.wu@intel.com>
Cc: Siyuan Fu <siyuan.fu@intel.com>
Cc: Nickle Wang <nickle.wang@hpe.com>
Reviewed-by: Maciej Rabeda <maciej.rabeda@linux.intel.com>
Abner Chang 3 years ago
parent
commit
375e9b190e
3 changed files with 14 additions and 2 deletions
  1. 4 1
      NetworkPkg/NetworkLibs.dsc.inc
  2. 9 1
      NetworkPkg/NetworkPkg.dec
  3. 1 0
      NetworkPkg/NetworkPkg.dsc

+ 4 - 1
NetworkPkg/NetworkLibs.dsc.inc

@@ -6,6 +6,7 @@
 # of EDKII network library classes.
 #
 # Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
+# (C) Copyright 2020 Hewlett Packard Enterprise Development LP<BR>
 #
 #    SPDX-License-Identifier: BSD-2-Clause-Patent
 #
@@ -16,5 +17,7 @@
   IpIoLib|NetworkPkg/Library/DxeIpIoLib/DxeIpIoLib.inf
   UdpIoLib|NetworkPkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf
   TcpIoLib|NetworkPkg/Library/DxeTcpIoLib/DxeTcpIoLib.inf
-  # HttpLib is used for Http Boot
+  # HttpLib and HttpIoLib are used for Http Boot and other
+  # HTTP applications.
   HttpLib|NetworkPkg/Library/DxeHttpLib/DxeHttpLib.inf
+  HttpIoLib|NetworkPkg/Library/DxeHttpIoLib/DxeHttpIoLib.inf

+ 9 - 1
NetworkPkg/NetworkPkg.dec

@@ -4,7 +4,7 @@
 # This package provides network modules that conform to UEFI 2.4 specification.
 #
 # Copyright (c) 2009 - 2019, Intel Corporation. All rights reserved.<BR>
-# (C) Copyright 2015-2017 Hewlett Packard Enterprise Development LP<BR>
+# (C) Copyright 2015-2020 Hewlett Packard Enterprise Development LP<BR>
 #
 # SPDX-License-Identifier: BSD-2-Clause-Patent
 #
@@ -41,6 +41,10 @@
   #   This library is only intended to be used by UEFI network stack modules.
   HttpLib|Include/Library/HttpLib.h
 
+  ##  @libraryclass  Http IO helper routines for HTTP transfer.
+  #   This library is only intended to be used by UEFI network stack modules.
+  HttpIoLib|Include/Library/HttpIoLib.h
+
   ##  @libraryclass  Library for Deferred Procedure Calls.
   DpcLib|Include/Library/DpcLib.h
 
@@ -89,6 +93,10 @@
   # @Prompt Max attempt number.
   gEfiNetworkPkgTokenSpaceGuid.PcdMaxIScsiAttemptNumber|0x08|UINT8|0x0000000D
 
+  ## The maximum size of total HTTP chunk transfer.
+  # @Prompt Max size of total HTTP chunk transfer. the default value is 12MB.
+  gEfiNetworkPkgTokenSpaceGuid.PcdMaxHttpChunkTransfer|0x0C00000|UINT32|0x0000000E
+
 [PcdsFixedAtBuild, PcdsPatchableInModule]
   ## Indicates whether HTTP connections (i.e., unsecured) are permitted or not.
   # TRUE  - HTTP connections are allowed. Both the "https://" and "http://" URI schemes are permitted.

+ 1 - 0
NetworkPkg/NetworkPkg.dsc

@@ -109,6 +109,7 @@
   NetworkPkg/Application/VConfig/VConfig.inf
   NetworkPkg/Library/DxeDpcLib/DxeDpcLib.inf
   NetworkPkg/Library/DxeHttpLib/DxeHttpLib.inf
+  NetworkPkg/Library/DxeHttpIoLib/DxeHttpIoLib.inf
   NetworkPkg/Library/DxeIpIoLib/DxeIpIoLib.inf
   NetworkPkg/Library/DxeNetLib/DxeNetLib.inf
   NetworkPkg/Library/DxeTcpIoLib/DxeTcpIoLib.inf