Vladimir Olovyannikov d8ab884fe9 ShellPkg/DynamicCommand: add HttpDynamicCommand
Introduce an http client utilizing EDK2 HTTP protocol, to
allow fast image downloading from http/https servers.
HTTP download speed is usually faster than tftp.
The client is based on the same approach as tftp dynamic command, and
uses the same UEFI Shell command line parameters. This makes it easy
integrating http into existing UEFI Shell scripts.
Note that to enable HTTP download, feature Pcd
gEfiNetworkPkgTokenSpaceGuid.PcdAllowHttpConnections must
be set to TRUE.
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=2860

Signed-off-by: Vladimir Olovyannikov <vladimir.olovyannikov@broadcom.com>
Cc: Samer El-Haj-Mahmoud <Samer.El-Haj-Mahmoud@arm.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Zhichao Gao <zhichao.gao@intel.com>
Cc: Maciej Rabeda <maciej.rabeda@linux.intel.com>
Cc: Jiaxin Wu <jiaxin.wu@intel.com>
Cc: Siyuan Fu <siyuan.fu@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Nd <nd@arm.com>
Reviewed-by: Zhichao Gao <zhichao.gao@intel.com>
Tested-by: Laszlo Ersek <lersek@redhat.com>
2020-09-30 01:28:51 +00:00

63 lines
1.6 KiB
INI

## @file
# Provides Shell 'http' dynamic command.
#
# Copyright (c) 2010 - 2019, Intel Corporation. All rights reserved. <BR>
# Copyright (c) 2015, ARM Ltd. All rights reserved.<BR>
# Copyright (c) 2020, Broadcom. All rights reserved.<BR>
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
#
##
[Defines]
INF_VERSION = 0x00010006
BASE_NAME = httpDynamicCommand
FILE_GUID = 19618BCE-55AE-09C6-37E9-4CE04084C7A1
MODULE_TYPE = DXE_DRIVER
VERSION_STRING = 1.0
ENTRY_POINT = HttpCommandInitialize
UNLOAD_IMAGE = HttpUnload
#
# This flag specifies whether HII resource section is generated into PE image.
#
UEFI_HII_RESOURCE_SECTION = TRUE
[Sources.common]
Http.c
HttpDynamicCommand.c
Http.h
Http.uni
[Packages]
MdePkg/MdePkg.dec
MdeModulePkg/MdeModulePkg.dec
NetworkPkg/NetworkPkg.dec
ShellPkg/ShellPkg.dec
[LibraryClasses]
BaseLib
BaseMemoryLib
DebugLib
FileHandleLib
HiiLib
HttpLib
MemoryAllocationLib
NetLib
ShellLib
UefiBootServicesTableLib
UefiDriverEntryPoint
UefiHiiServicesLib
UefiLib
UefiRuntimeServicesTableLib
[Protocols]
gEfiHiiPackageListProtocolGuid ## CONSUMES
gEfiHttpProtocolGuid ## CONSUMES
gEfiHttpServiceBindingProtocolGuid ## CONSUMES
gEfiManagedNetworkServiceBindingProtocolGuid ## CONSUMES
gEfiShellDynamicCommandProtocolGuid ## PRODUCES
[DEPEX]
TRUE