NetworkPkg/UefiPxeBcDxe/PxeBcBoot.h File Reference


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)

Detailed Description

Boot functions declaration for UefiPxeBc Driver.

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 Documentation

#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

#define PXEBC_IS_SIZE_OVERFLOWED (  )     ((sizeof (UINTN) < sizeof (UINT64)) && ((x) > 0xFFFFFFFF))

Referenced by PxeBcLoadBootFile().


Function Documentation

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.

Parameters:
[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.
Return values:
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.
Build the discover packet and send out for boot server.

Parameters:
[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.
Return values:
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.

Parameters:
[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.
Return values:
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.

Parameters:
[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.
Return values:
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.
Load boot file into user buffer.

Parameters:
[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.
Return values:
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().


Generated on Mon Sep 28 08:49:06 2015 for NetworkPkg[ALL] by  doxygen 1.5.7.1