TianoCore EDK2 master
|
#include "PxeBcImpl.h"
Go to the source code of this file.
Boot functions implementation for UefiPxeBc Driver.
Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.
(C) Copyright 2016 Hewlett Packard Enterprise Development LP
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file PxeBcBoot.c.
EFI_STATUS PxeBcDhcp4BootInfo | ( | IN OUT PXEBC_PRIVATE_DATA * | Private, |
OUT UINT64 * | BufferSize | ||
) |
Parse out the boot information from the last Dhcp4 reply packet.
[in,out] | Private | Pointer to PxeBc private data. |
[out] | BufferSize | Size of the boot file to be downloaded. |
EFI_SUCCESS | Successfully parsed out all the boot information. |
Others | Failed to parse out the boot information. |
Definition at line 454 of file PxeBcBoot.c.
EFI_STATUS PxeBcDhcp6BootInfo | ( | IN OUT PXEBC_PRIVATE_DATA * | Private, |
OUT UINT64 * | BufferSize | ||
) |
Parse out the boot information from the last Dhcp6 reply packet.
[in,out] | Private | Pointer to PxeBc private data. |
[out] | BufferSize | Size of the boot file to be downloaded. |
EFI_SUCCESS | Successfully parsed out all the boot information. |
EFI_BUFFER_TOO_SMALL | |
Others | Failed to parse out the boot information. |
Definition at line 600 of file PxeBcBoot.c.
EFI_STATUS PxeBcDiscoverBootFile | ( | IN OUT PXEBC_PRIVATE_DATA * | Private, |
OUT UINT64 * | BufferSize | ||
) |
Discover all the boot information for boot file.
[in,out] | Private | Pointer to PxeBc private data. |
[out] | BufferSize | Size of the boot file to be downloaded. |
EFI_SUCCESS | Successfully obtained all the boot information . |
EFI_BUFFER_TOO_SMALL | The buffer size is not enough for boot file. |
EFI_ABORTED | User cancel current operation. |
Others | Failed to parse out the boot information. |
Definition at line 894 of file PxeBcBoot.c.
EFI_STATUS PxeBcDiscoverBootServer | ( | IN PXEBC_PRIVATE_DATA * | Private, |
IN UINT16 | Type, | ||
IN UINT16 * | Layer, | ||
IN BOOLEAN | UseBis, | ||
IN EFI_IP_ADDRESS * | DestIp, | ||
IN UINT16 | IpCount, | ||
IN EFI_PXE_BASE_CODE_SRVLIST * | SrvList | ||
) |
Build the discover packet and send out for boot server.
[in] | Private | Pointer to PxeBc private data. |
[in] | Type | PxeBc option boot item type. |
[in] | Layer | Pointer to option boot item layer. |
[in] | UseBis | Use BIS or not. |
[in] | DestIp | Pointer to the destination address. |
[in] | IpCount | The count of the server address. |
[in] | SrvList | Pointer to the server address list. |
EFI_SUCCESS | Successfully discovered boot file. |
EFI_OUT_OF_RESOURCES | Failed to allocate resource. |
EFI_NOT_FOUND | Can't get the PXE reply packet. |
Others | Failed to discover boot file. |
Definition at line 850 of file PxeBcBoot.c.
Display the string of the boot item.
If the length of the boot item string beyond 70 Char, just display 70 Char.
[in] | Str | The pointer to the string. |
[in] | Len | The length of the string. |
Definition at line 23 of file PxeBcBoot.c.
EFI_STATUS PxeBcExtractDiscoverInfo | ( | IN PXEBC_PRIVATE_DATA * | Private, |
IN UINT16 | Type, | ||
IN OUT EFI_PXE_BASE_CODE_DISCOVER_INFO ** | DiscoverInfo, | ||
OUT PXEBC_BOOT_SVR_ENTRY ** | BootEntry, | ||
OUT EFI_PXE_BASE_CODE_SRVLIST ** | SrvList | ||
) |
Extract the discover information and boot server entry from the cached packets if unspecified.
[in] | Private | Pointer to PxeBc private data. |
[in] | Type | The type of bootstrap to perform. |
[in,out] | DiscoverInfo | Pointer to EFI_PXE_BASE_CODE_DISCOVER_INFO. |
[out] | BootEntry | Pointer to PXEBC_BOOT_SVR_ENTRY. |
[out] | SrvList | Pointer to EFI_PXE_BASE_CODE_SRVLIST. |
EFI_SUCCESS | Successfully extracted the information. |
EFI_DEVICE_ERROR | Failed to extract the information. |
Definition at line 729 of file PxeBcBoot.c.
EFI_STATUS PxeBcInstallCallback | ( | IN OUT PXEBC_PRIVATE_DATA * | Private, |
OUT BOOLEAN * | NewMakeCallback | ||
) |
Install PxeBaseCodeCallbackProtocol if not installed before.
[in,out] | Private | Pointer to PxeBc private data. |
[out] | NewMakeCallback | If TRUE, it is a new callback. Otherwise, it is not new callback. |
EFI_SUCCESS | PxeBaseCodeCallbackProtocol installed successfully. |
Others | Failed to install PxeBaseCodeCallbackProtocol. |
Definition at line 1001 of file PxeBcBoot.c.
EFI_STATUS PxeBcLoadBootFile | ( | IN PXEBC_PRIVATE_DATA * | Private, |
IN OUT UINTN * | BufferSize, | ||
IN VOID *Buffer | OPTIONAL | ||
) |
Load boot file into user buffer.
[in] | Private | Pointer to PxeBc private data. |
[in,out] | BufferSize | Size of user buffer for input; required buffer size for output. |
[in] | Buffer | Pointer to user buffer. |
EFI_SUCCESS | Get all the boot information successfully. |
EFI_BUFFER_TOO_SMALL | The buffer size is not enough for boot file. |
EFI_ABORTED | User cancelled the current operation. |
Others | Failed to parse out the boot information. |
Definition at line 1142 of file PxeBcBoot.c.
EFI_STATUS PxeBcReadBootFileList | ( | IN PXEBC_PRIVATE_DATA * | Private, |
IN OUT UINT64 * | BufferSize, | ||
IN VOID *Buffer | OPTIONAL | ||
) |
Download one of boot file in the list, and it's special for IPv6.
[in] | Private | Pointer to PxeBc private data. |
[in,out] | BufferSize | Size of user buffer for input; required buffer size for output. |
[in] | Buffer | Pointer to user buffer. |
EFI_SUCCESS | Read one of boot file in the list successfully. |
EFI_BUFFER_TOO_SMALL | The buffer size is not enough for boot file. |
EFI_NOT_FOUND | There is no proper boot file available. |
Others | Failed to download boot file in the list. |
Definition at line 1093 of file PxeBcBoot.c.
EFI_STATUS PxeBcSelectBootMenu | ( | IN PXEBC_PRIVATE_DATA * | Private, |
OUT UINT16 * | Type, | ||
IN BOOLEAN | UseDefaultItem | ||
) |
Select the boot menu by user's input.
[in] | Private | Pointer to PxeBc private data. |
[out] | Type | The type of the menu. |
[in] | UseDefaultItem | Use default item or not. |
EFI_ABORTED | User cancel operation. |
EFI_SUCCESS | Select the boot menu success. |
EFI_NOT_READY | Read the input key from the keyboard has not finish. |
Definition at line 261 of file PxeBcBoot.c.
EFI_STATUS PxeBcSelectBootPrompt | ( | IN PXEBC_PRIVATE_DATA * | Private | ) |
Select and maintain the boot prompt if needed.
[in] | Private | Pointer to PxeBc private data. |
EFI_SUCCESS | Selected boot prompt done. |
EFI_TIMEOUT | Selected boot prompt timed out. |
EFI_NOT_FOUND | The proxy offer is not Pxe10. |
EFI_ABORTED | User cancelled the operation. |
EFI_NOT_READY | Reading the input key from the keyboard has not finish. |
Definition at line 57 of file PxeBcBoot.c.
VOID PxeBcUninstallCallback | ( | IN PXEBC_PRIVATE_DATA * | Private, |
IN BOOLEAN | NewMakeCallback | ||
) |
Uninstall PxeBaseCodeCallbackProtocol.
[in] | Private | Pointer to PxeBc private data. |
[in] | NewMakeCallback | If TRUE, it is a new callback. Otherwise, it is not new callback. |
Definition at line 1056 of file PxeBcBoot.c.