/** @file Header file for 'http' command functions. Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.
Copyright (c) 2015, ARM Ltd. All rights reserved.
Copyright (c) 2020, Broadcom. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #ifndef _HTTP_H_ #define _HTTP_H_ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define HTTP_APP_NAME L"http" #define REQ_OK 0 #define REQ_NEED_REPEAT 1 // // Download Flags. // #define DL_FLAG_TIME BIT0 // Show elapsed time. #define DL_FLAG_KEEP_BAD BIT1 // Keep files even if download failed. extern EFI_HII_HANDLE mHttpHiiHandle; typedef struct { UINTN ContentDownloaded; UINTN ContentLength; UINTN LastReportedNbOfBytes; UINTN BufferSize; UINTN Status; UINTN Flags; UINT8 *Buffer; CHAR16 *ServerAddrAndProto; CHAR16 *Uri; EFI_HTTP_TOKEN ResponseToken; EFI_HTTP_TOKEN RequestToken; EFI_HTTP_PROTOCOL *Http; EFI_HTTP_CONFIG_DATA HttpConfigData; } HTTP_DOWNLOAD_CONTEXT; /** Function for 'http' command. @param[in] ImageHandle The image handle. @param[in] SystemTable The system table. @retval SHELL_SUCCESS Command completed successfully. @retval SHELL_INVALID_PARAMETER Command usage error. @retval SHELL_ABORTED The user aborts the operation. @retval value Unknown error. **/ SHELL_STATUS RunHttp ( IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable ); /** Retrieve HII package list from ImageHandle and publish to HII database. @param[in] ImageHandle The image handle of the process. @retval HII handle. **/ EFI_HII_HANDLE InitializeHiiPackage ( IN EFI_HANDLE ImageHandle ); #endif // _HTTP_H_