Defines | |
#define | PXEBC_DISPLAY_MAX_LINE 70 |
#define | PXEBC_DEFAULT_UDP_OVERHEAD_SIZE 8 |
#define | PXEBC_DEFAULT_TFTP_OVERHEAD_SIZE 4 |
#define | PXEBC_IS_SIZE_OVERFLOWED(x) ((sizeof (UINTN) < sizeof (UINT64)) && ((x) > 0xFFFFFFFF)) |
Functions | |
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) |
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) |
EFI_STATUS | PxeBcLoadBootFile (IN PXEBC_PRIVATE_DATA *Private, IN OUT UINTN *BufferSize, IN VOID *Buffer) |
Copyright (c) 2009 - 2012, 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 which 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.
#define PXEBC_DEFAULT_TFTP_OVERHEAD_SIZE 4 |
Referenced by EfiPxeBcStart().
#define PXEBC_DEFAULT_UDP_OVERHEAD_SIZE 8 |
Referenced by EfiPxeBcStart().
#define PXEBC_DISPLAY_MAX_LINE 70 |
Referenced by PxeBcDisplayBootItem(), and PxeBcSelectBootMenu().
#define PXEBC_IS_SIZE_OVERFLOWED | ( | x | ) | ((sizeof (UINTN) < sizeof (UINT64)) && ((x) > 0xFFFFFFFF)) |
Referenced by PxeBcLoadBootFile().
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.
[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 server address. |
[in] | IpCount | The total 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 resources. | |
EFI_NOT_FOUND | Can't get the PXE reply packet. | |
Others | Failed to discover boot file. |
[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. |
References PxeBcDhcp4Discover(), and PxeBcDhcp6Discover().
Referenced by EfiPxeBcDiscover().
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. |
References PXEBC_VENDOR_OPTION::BitMap, PXEBC_VENDOR_OPTION::BootSvr, PXEBC_VENDOR_OPTION::BootSvrLen, PXEBC_VENDOR_OPTION::DiscoverCtrl, PXEBC_VENDOR_OPTION::DiscoverMcastIp, GET_NEXT_BOOT_SVR_ENTRY, PXEBC_BOOT_SVR_ENTRY::IpAddr, PXEBC_BOOT_SVR_ENTRY::IpCnt, IS_DISABLE_BCAST_DISCOVER, IS_DISABLE_MCAST_DISCOVER, IS_ENABLE_USE_SERVER_LIST, IS_VALID_BOOT_SERVERS, IS_VALID_DISCOVER_VENDOR_OPTION, PXEBC_BOOT_SVR_ENTRY::Type, and PXEBC_DHCP4_PACKET_CACHE::VendorOpt.
Referenced by EfiPxeBcDiscover().
EFI_STATUS PxeBcLoadBootFile | ( | IN PXEBC_PRIVATE_DATA * | Private, | |
IN OUT UINTN * | BufferSize, | |||
IN VOID * | Buffer | |||
) |
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 | Successfully obtained all the boot information. | |
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. |
[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. |
References PXEBC_IS_SIZE_OVERFLOWED, PxeBcDiscoverBootFile(), PxeBcInstallCallback(), PxeBcReadBootFileList(), and PxeBcUninstallCallback().
Referenced by EfiPxeLoadFile().