VirtualBox

source: vbox/trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/UefiPxeBcDxe/PxeBcBoot.h@ 80721

Last change on this file since 80721 was 80721, checked in by vboxsync, 5 years ago

Devices/EFI/FirmwareNew: Start upgrade process to edk2-stable201908 (compiles on Windows and works to some extent), bugref:4643

  • Property svn:eol-style set to native
File size: 3.3 KB
Line 
1/** @file
2 Boot functions declaration for UefiPxeBc Driver.
3
4 Copyright (c) 2009 - 2012, Intel Corporation. All rights reserved.<BR>
5
6 SPDX-License-Identifier: BSD-2-Clause-Patent
7
8**/
9
10#ifndef __EFI_PXEBC_BOOT_H__
11#define __EFI_PXEBC_BOOT_H__
12
13#define PXEBC_DISPLAY_MAX_LINE 70
14#define PXEBC_DEFAULT_UDP_OVERHEAD_SIZE 8
15#define PXEBC_DEFAULT_TFTP_OVERHEAD_SIZE 4
16
17#define PXEBC_IS_SIZE_OVERFLOWED(x) ((sizeof (UINTN) < sizeof (UINT64)) && ((x) > 0xFFFFFFFF))
18
19
20/**
21 Extract the discover information and boot server entry from the
22 cached packets if unspecified.
23
24 @param[in] Private Pointer to PxeBc private data.
25 @param[in] Type The type of bootstrap to perform.
26 @param[in, out] DiscoverInfo Pointer to EFI_PXE_BASE_CODE_DISCOVER_INFO.
27 @param[out] BootEntry Pointer to PXEBC_BOOT_SVR_ENTRY.
28 @param[out] SrvList Pointer to EFI_PXE_BASE_CODE_SRVLIST.
29
30 @retval EFI_SUCCESS Successfully extracted the information.
31 @retval EFI_DEVICE_ERROR Failed to extract the information.
32
33**/
34EFI_STATUS
35PxeBcExtractDiscoverInfo (
36 IN PXEBC_PRIVATE_DATA *Private,
37 IN UINT16 Type,
38 IN OUT EFI_PXE_BASE_CODE_DISCOVER_INFO **DiscoverInfo,
39 OUT PXEBC_BOOT_SVR_ENTRY **BootEntry,
40 OUT EFI_PXE_BASE_CODE_SRVLIST **SrvList
41 );
42
43
44/**
45 Build the discover packet and send out for boot.
46
47 @param[in] Private Pointer to PxeBc private data.
48 @param[in] Type PxeBc option boot item type.
49 @param[in] Layer Pointer to option boot item layer.
50 @param[in] UseBis Use BIS or not.
51 @param[in] DestIp Pointer to the server address.
52 @param[in] IpCount The total count of the server address.
53 @param[in] SrvList Pointer to the server address list.
54
55 @retval EFI_SUCCESS Successfully discovered boot file.
56 @retval EFI_OUT_OF_RESOURCES Failed to allocate resources.
57 @retval EFI_NOT_FOUND Can't get the PXE reply packet.
58 @retval Others Failed to discover boot file.
59
60**/
61EFI_STATUS
62PxeBcDiscoverBootServer (
63 IN PXEBC_PRIVATE_DATA *Private,
64 IN UINT16 Type,
65 IN UINT16 *Layer,
66 IN BOOLEAN UseBis,
67 IN EFI_IP_ADDRESS *DestIp,
68 IN UINT16 IpCount,
69 IN EFI_PXE_BASE_CODE_SRVLIST *SrvList
70 );
71
72
73/**
74 Load boot file into user buffer.
75
76 @param[in] Private Pointer to PxeBc private data.
77 @param[in, out] BufferSize Size of user buffer for input;
78 required buffer size for output.
79 @param[in] Buffer Pointer to user buffer.
80
81 @retval EFI_SUCCESS Successfully obtained all the boot information.
82 @retval EFI_BUFFER_TOO_SMALL The buffer size is not enough for boot file.
83 @retval EFI_ABORTED User cancelled the current operation.
84 @retval Others Failed to parse out the boot information.
85
86**/
87EFI_STATUS
88PxeBcLoadBootFile (
89 IN PXEBC_PRIVATE_DATA *Private,
90 IN OUT UINTN *BufferSize,
91 IN VOID *Buffer OPTIONAL
92 );
93
94#endif
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette