Functions | |
EFI_STATUS | HttpBootStart (IN HTTP_BOOT_PRIVATE_DATA *Private) |
EFI_STATUS | HttpBootDhcp (IN HTTP_BOOT_PRIVATE_DATA *Private) |
EFI_STATUS | HttpBootLoadFile (IN HTTP_BOOT_PRIVATE_DATA *Private, IN OUT UINTN *BufferSize, IN VOID *Buffer) |
EFI_STATUS | HttpBootStop (IN HTTP_BOOT_PRIVATE_DATA *Private) |
EFI_STATUS EFIAPI | HttpBootDxeLoadFile (IN EFI_LOAD_FILE_PROTOCOL *This, IN EFI_DEVICE_PATH_PROTOCOL *FilePath, IN BOOLEAN BootPolicy, IN OUT UINTN *BufferSize, IN VOID *Buffer) |
Variables | |
GLOBAL_REMOVE_IF_UNREFERENCED EFI_LOAD_FILE_PROTOCOL | gHttpBootDxeLoadFile |
Copyright (c) 2015, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License that accompanies this distribution. The full text of the license may be found at http://opensource.org/licenses/bsd-license.php.
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
EFI_STATUS HttpBootDhcp | ( | IN HTTP_BOOT_PRIVATE_DATA * | Private | ) |
Attempt to complete a DHCPv4 D.O.R.A sequence to retrieve the boot resource information.
[in] | Private | The pointer to the driver's private data. |
EFI_SUCCESS | Boot info was successfully retrieved. | |
EFI_INVALID_PARAMETER | Private is NULL. | |
EFI_NOT_STARTED | The driver is in stopped state. | |
EFI_DEVICE_ERROR | An unexpected network error occurred. | |
Others | Other errors as indicated. |
References HttpBootDhcp4Dora().
Referenced by HttpBootDiscoverBootInfo().
EFI_STATUS EFIAPI HttpBootDxeLoadFile | ( | IN EFI_LOAD_FILE_PROTOCOL * | This, | |
IN EFI_DEVICE_PATH_PROTOCOL * | FilePath, | |||
IN BOOLEAN | BootPolicy, | |||
IN OUT UINTN * | BufferSize, | |||
IN VOID * | Buffer | |||
) |
Causes the driver to load a specified file.
This | Protocol instance pointer. | |
FilePath | The device specific path of the file to load. | |
BootPolicy | If TRUE, indicates that the request originates from the boot manager is attempting to load FilePath as a boot selection. If FALSE, then FilePath must match as exact file to be loaded. | |
BufferSize | On input the size of Buffer in bytes. On output with a return code of EFI_SUCCESS, the amount of data transferred to Buffer. On output with a return code of EFI_BUFFER_TOO_SMALL, the size of Buffer required to retrieve the requested file. | |
Buffer | The memory buffer to transfer the file to. IF Buffer is NULL, then the size of the requested file is returned in BufferSize. |
EFI_SUCCESS | The file was loaded. | |
EFI_UNSUPPORTED | The device does not support the provided BootPolicy | |
EFI_INVALID_PARAMETER | FilePath is not a valid device path, or BufferSize is NULL. | |
EFI_NO_MEDIA | No medium was present to load the file. | |
EFI_DEVICE_ERROR | The file was not loaded due to a device error. | |
EFI_NO_RESPONSE | The remote system did not respond. | |
EFI_NOT_FOUND | The file was not found. | |
EFI_ABORTED | The file load process was manually cancelled. | |
EFI_BUFFER_TOO_SMALL | The BufferSize is too small to read the current directory entry. BufferSize has been updated with the size needed to complete the request. |
References _HTTP_BOOT_PRIVATE_DATA::Controller, _HTTP_BOOT_PRIVATE_DATA::Dhcp4, HTTP_BOOT_PRIVATE_DATA_FROM_LOADFILE, HttpBootLoadFile(), HttpBootStart(), and HttpBootStop().
EFI_STATUS HttpBootLoadFile | ( | IN HTTP_BOOT_PRIVATE_DATA * | Private, | |
IN OUT UINTN * | BufferSize, | |||
IN VOID * | Buffer | |||
) |
Attempt to download the boot file through HTTP message exchange.
[in] | Private | The pointer to the driver's private data. |
[in,out] | BufferSize | On input the size of Buffer in bytes. On output with a return code of EFI_SUCCESS, the amount of data transferred to Buffer. On output with a return code of EFI_BUFFER_TOO_SMALL, the size of Buffer required to retrieve the requested file. |
[in] | Buffer | The memory buffer to transfer the file to. If Buffer is NULL, then the size of the requested file is returned in BufferSize. |
EFI_SUCCESS | Boot file was loaded successfully. | |
EFI_INVALID_PARAMETER | Private is NULL. | |
EFI_NOT_STARTED | The driver is in stopped state. | |
EFI_BUFFER_TOO_SMALL | The BufferSize is too small to read the boot file. BufferSize has been updated with the size needed to complete the request. | |
EFI_DEVICE_ERROR | An unexpected network error occurred. | |
Others | Other errors as indicated. |
References HttpBootCreateHttpIo(), HttpBootDiscoverBootInfo(), and HttpBootGetBootFile().
Referenced by HttpBootDxeLoadFile().
EFI_STATUS HttpBootStart | ( | IN HTTP_BOOT_PRIVATE_DATA * | Private | ) |
Enable the use of UEFI HTTP boot function.
[in] | Private | The pointer to the driver's private data. |
EFI_SUCCESS | HTTP boot was successfully enabled. | |
EFI_INVALID_PARAMETER | Private is NULL. | |
EFI_ALREADY_STARTED | The driver is already in started state. |
References HTTP_BOOT_DHCP4_PACKET_MAX_SIZE, and HTTP_BOOT_OFFER_MAX_NUM.
Referenced by HttpBootDxeLoadFile().
EFI_STATUS HttpBootStop | ( | IN HTTP_BOOT_PRIVATE_DATA * | Private | ) |
Disable the use of UEFI HTTP boot function.
[in] | Private | The pointer to the driver's private data. |
EFI_SUCCESS | HTTP boot was successfully disabled. | |
EFI_NOT_STARTED | The driver is already in stopped state. | |
EFI_INVALID_PARAMETER | Private is NULL. | |
Others | Unexpected error when stop the function. |
References HTTP_BOOT_OFFER_MAX_NUM, HttpIoDestroyIo(), and HttpOfferTypeMax.
Referenced by HttpBootDxeLoadFile(), and HttpBootIp4DxeDriverBindingStop().
GLOBAL_REMOVE_IF_UNREFERENCED EFI_LOAD_FILE_PROTOCOL gHttpBootDxeLoadFile |
Initial value:
Load File Protocol instanceReferenced by HttpBootIp4DxeDriverBindingStart().