Files
EDK2-fork/NetworkPkg/HttpBootDxe/HttpBootImpl.h
Saloni Kasbekar 80c04eb46f NetworkPkg/HttpBootDxe: Add proxy connect flow to *GetBootFile()
- Add HTTP CONNECT flow to connect to Proxy Server
- Provide Proxy URL to HTTP GET/HEAD Requests

Implementation based on UEFI Specification v2.11
- Section 24.7.10 to use HTTP CONNECT method to connect to Proxy
Server and use it to forward the HEAD/GET request to Endpoint Server's
BootURI.
- Section 29.6.6 to use EFI_HTTP_CONNECT_REQUEST_DATA structure for
HttpMethodConnect usage in EFI_HTTP_PROTOCOL.Request()

Signed-off-by: Saloni Kasbekar <saloni.kasbekar@intel.com>
2025-03-13 00:34:01 +00:00

58 lines
1.6 KiB
C

/** @file
The declaration of UEFI HTTP boot function.
Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
SPDX-License-Identifier: BSD-2-Clause-Patent
**/
#ifndef __EFI_HTTP_BOOT_IMPL_H__
#define __EFI_HTTP_BOOT_IMPL_H__
#define HTTP_BOOT_CHECK_MEDIA_WAITING_TIME EFI_TIMER_PERIOD_SECONDS(20)
typedef enum {
GetBootFileHead,
GetBootFileGet,
ConnectToProxy,
LoadBootFile,
GetBootFileError
} HTTP_GET_BOOT_FILE_STATE;
/**
Attempt to complete a DHCPv4 D.O.R.A or DHCPv6 S.R.A.A sequence to retrieve the boot resource information.
@param[in] Private The pointer to the driver's private data.
@retval EFI_SUCCESS Boot info was successfully retrieved.
@retval EFI_INVALID_PARAMETER Private is NULL.
@retval EFI_NOT_STARTED The driver is in stopped state.
@retval EFI_DEVICE_ERROR An unexpected network error occurred.
@retval Others Other errors as indicated.
**/
EFI_STATUS
HttpBootDhcp (
IN HTTP_BOOT_PRIVATE_DATA *Private
);
/**
Disable the use of UEFI HTTP boot function.
@param[in] Private The pointer to the driver's private data.
@retval EFI_SUCCESS HTTP boot was successfully disabled.
@retval EFI_NOT_STARTED The driver is already in stopped state.
@retval EFI_INVALID_PARAMETER Private is NULL.
@retval Others Unexpected error when stop the function.
**/
EFI_STATUS
HttpBootStop (
IN HTTP_BOOT_PRIVATE_DATA *Private
);
extern EFI_HTTP_BOOT_CALLBACK_PROTOCOL gHttpBootDxeHttpBootCallback;
#endif