Changeset 99404 in vbox for trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/UefiPxeBcDxe/PxeBcImpl.h
- Timestamp:
- Apr 14, 2023 3:17:44 PM (2 years ago)
- svn:sync-xref-src-repo-rev:
- 156854
- Location:
- trunk/src/VBox/Devices/EFI/FirmwareNew
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/EFI/FirmwareNew
-
Property svn:mergeinfo
changed from (toggle deleted branches)
to (toggle deleted branches)/vendor/edk2/current 103735-103757,103769-103776,129194-145445 /vendor/edk2/current 103735-103757,103769-103776,129194-156846
-
Property svn:mergeinfo
changed from (toggle deleted branches)
-
trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/UefiPxeBcDxe/PxeBcImpl.h
r80721 r99404 50 50 #include <Library/PcdLib.h> 51 51 52 typedef struct _PXEBC_PRIVATE_DATA PXEBC_PRIVATE_DATA;53 typedef struct _PXEBC_PRIVATE_PROTOCOL PXEBC_PRIVATE_PROTOCOL;54 typedef struct _PXEBC_VIRTUAL_NIC PXEBC_VIRTUAL_NIC;52 typedef struct _PXEBC_PRIVATE_DATA PXEBC_PRIVATE_DATA; 53 typedef struct _PXEBC_PRIVATE_PROTOCOL PXEBC_PRIVATE_PROTOCOL; 54 typedef struct _PXEBC_VIRTUAL_NIC PXEBC_VIRTUAL_NIC; 55 55 56 56 #include "PxeBcDriver.h" … … 61 61 #include "PxeBcSupport.h" 62 62 63 #define PXEBC_DEFAULT_HOPLIMIT 64 #define PXEBC_DEFAULT_LIFETIME 50000// 50 ms, unit is microsecond65 #define PXEBC_UDP_TIMEOUT 30000000// 3 seconds, unit is 100nanosecond66 #define PXEBC_DAD_ADDITIONAL_DELAY 30000000// 3 seconds67 #define PXEBC_MTFTP_TIMEOUT 68 #define PXEBC_MTFTP_RETRIES 69 #define PXEBC_DHCP_RETRIES 4// refers to mPxeDhcpTimeout, also by PXE2.1 spec.70 #define PXEBC_MENU_MAX_NUM 71 #define PXEBC_OFFER_MAX_NUM 72 73 #define PXEBC_CHECK_MEDIA_WAITING_TIME 74 75 #define PXEBC_PRIVATE_DATA_SIGNATURE 76 #define PXEBC_VIRTUAL_NIC_SIGNATURE 77 #define PXEBC_PRIVATE_DATA_FROM_PXEBC(a) 78 #define PXEBC_PRIVATE_DATA_FROM_ID(a) 79 #define PXEBC_VIRTUAL_NIC_FROM_LOADFILE(a) 80 81 #define PXE_ENABLED 82 #define PXE_DISABLED 63 #define PXEBC_DEFAULT_HOPLIMIT 64 64 #define PXEBC_DEFAULT_LIFETIME 50000 // 50 ms, unit is microsecond 65 #define PXEBC_UDP_TIMEOUT 30000000 // 3 seconds, unit is 100nanosecond 66 #define PXEBC_DAD_ADDITIONAL_DELAY 30000000 // 3 seconds 67 #define PXEBC_MTFTP_TIMEOUT 4 68 #define PXEBC_MTFTP_RETRIES 6 69 #define PXEBC_DHCP_RETRIES 4 // refers to mPxeDhcpTimeout, also by PXE2.1 spec. 70 #define PXEBC_MENU_MAX_NUM 24 71 #define PXEBC_OFFER_MAX_NUM 16 72 73 #define PXEBC_CHECK_MEDIA_WAITING_TIME EFI_TIMER_PERIOD_SECONDS(20) 74 75 #define PXEBC_PRIVATE_DATA_SIGNATURE SIGNATURE_32 ('P', 'X', 'E', 'P') 76 #define PXEBC_VIRTUAL_NIC_SIGNATURE SIGNATURE_32 ('P', 'X', 'E', 'V') 77 #define PXEBC_PRIVATE_DATA_FROM_PXEBC(a) CR (a, PXEBC_PRIVATE_DATA, PxeBc, PXEBC_PRIVATE_DATA_SIGNATURE) 78 #define PXEBC_PRIVATE_DATA_FROM_ID(a) CR (a, PXEBC_PRIVATE_DATA, Id, PXEBC_PRIVATE_DATA_SIGNATURE) 79 #define PXEBC_VIRTUAL_NIC_FROM_LOADFILE(a) CR (a, PXEBC_VIRTUAL_NIC, LoadFile, PXEBC_VIRTUAL_NIC_SIGNATURE) 80 81 #define PXE_ENABLED 0x01 82 #define PXE_DISABLED 0x00 83 83 84 84 typedef union { 85 PXEBC_DHCP4_PACKET_CACHE 86 PXEBC_DHCP6_PACKET_CACHE 85 PXEBC_DHCP4_PACKET_CACHE Dhcp4; 86 PXEBC_DHCP6_PACKET_CACHE Dhcp6; 87 87 } PXEBC_DHCP_PACKET_CACHE; 88 88 89 89 struct _PXEBC_PRIVATE_PROTOCOL { 90 UINT64 90 UINT64 Reserved; 91 91 }; 92 92 93 93 struct _PXEBC_VIRTUAL_NIC { 94 UINT32 95 EFI_HANDLE 96 EFI_LOAD_FILE_PROTOCOL 97 EFI_DEVICE_PATH_PROTOCOL 98 PXEBC_PRIVATE_DATA 94 UINT32 Signature; 95 EFI_HANDLE Controller; 96 EFI_LOAD_FILE_PROTOCOL LoadFile; 97 EFI_DEVICE_PATH_PROTOCOL *DevicePath; 98 PXEBC_PRIVATE_DATA *Private; 99 99 }; 100 100 101 101 struct _PXEBC_PRIVATE_DATA { 102 UINT32 Signature;103 EFI_HANDLE Controller;104 EFI_HANDLE Image;105 106 PXEBC_PRIVATE_PROTOCOL Id;107 EFI_SIMPLE_NETWORK_PROTOCOL *Snp;108 109 PXEBC_VIRTUAL_NIC *Ip4Nic;110 PXEBC_VIRTUAL_NIC *Ip6Nic;111 112 EFI_HANDLE ArpChild;113 EFI_HANDLE Ip4Child;114 EFI_HANDLE Dhcp4Child;115 EFI_HANDLE Mtftp4Child;116 EFI_HANDLE Udp4ReadChild;117 EFI_HANDLE Udp4WriteChild;118 119 EFI_ARP_PROTOCOL *Arp;120 EFI_IP4_PROTOCOL *Ip4;121 EFI_IP4_CONFIG2_PROTOCOL *Ip4Config2;122 EFI_DHCP4_PROTOCOL *Dhcp4;123 EFI_MTFTP4_PROTOCOL *Mtftp4;124 EFI_UDP4_PROTOCOL *Udp4Read;125 EFI_UDP4_PROTOCOL *Udp4Write;126 127 EFI_HANDLE Ip6Child;128 EFI_HANDLE Dhcp6Child;129 EFI_HANDLE Mtftp6Child;130 EFI_HANDLE Udp6ReadChild;131 EFI_HANDLE Udp6WriteChild;132 133 EFI_IP6_PROTOCOL *Ip6;134 EFI_IP6_CONFIG_PROTOCOL *Ip6Cfg;135 EFI_DHCP6_PROTOCOL *Dhcp6;136 EFI_MTFTP6_PROTOCOL *Mtftp6;137 EFI_UDP6_PROTOCOL *Udp6Read;138 EFI_UDP6_PROTOCOL *Udp6Write;139 EFI_DNS6_PROTOCOL *Dns6;140 141 EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL *Nii;142 EFI_PXE_BASE_CODE_PROTOCOL PxeBc;143 EFI_PXE_BASE_CODE_CALLBACK_PROTOCOL LoadFileCallback;144 EFI_PXE_BASE_CODE_CALLBACK_PROTOCOL *PxeBcCallback;145 EFI_DEVICE_PATH_PROTOCOL *DevicePath;146 147 EFI_PXE_BASE_CODE_MODE Mode;148 EFI_PXE_BASE_CODE_FUNCTION Function;149 UINT32 Ip6Policy;150 UINT32 SolicitTimes;151 UINT64 ElapsedTime;152 153 EFI_UDP4_CONFIG_DATA Udp4CfgData;154 EFI_UDP6_CONFIG_DATA Udp6CfgData;155 EFI_IP4_CONFIG_DATA Ip4CfgData;156 EFI_IP6_CONFIG_DATA Ip6CfgData;157 158 EFI_EVENT UdpTimeOutEvent;159 EFI_EVENT ArpUpdateEvent;160 EFI_IP4_COMPLETION_TOKEN IcmpToken;161 EFI_IP6_COMPLETION_TOKEN Icmp6Token;162 163 BOOLEAN IsAddressOk;164 BOOLEAN IsOfferSorted;165 BOOLEAN IsProxyRecved;166 BOOLEAN IsDoDiscover;167 168 EFI_IP_ADDRESS TmpStationIp;169 EFI_IP_ADDRESS StationIp;170 EFI_IP_ADDRESS SubnetMask;171 EFI_IP_ADDRESS GatewayIp;172 EFI_IP_ADDRESS ServerIp;173 EFI_IPv6_ADDRESS *DnsServer;174 UINT16 CurSrcPort;175 UINT32 IaId;176 177 UINT32 Ip4MaxPacketSize;178 UINT32 Ip6MaxPacketSize;179 UINT8 *BootFileName;180 UINTN BootFileSize;181 UINTN BlockSize;182 183 PXEBC_DHCP_PACKET_CACHE ProxyOffer;184 PXEBC_DHCP_PACKET_CACHE DhcpAck;185 PXEBC_DHCP_PACKET_CACHE PxeReply;186 EFI_DHCP6_PACKET *Dhcp6Request;187 EFI_DHCP4_PACKET SeedPacket;102 UINT32 Signature; 103 EFI_HANDLE Controller; 104 EFI_HANDLE Image; 105 106 PXEBC_PRIVATE_PROTOCOL Id; 107 EFI_SIMPLE_NETWORK_PROTOCOL *Snp; 108 109 PXEBC_VIRTUAL_NIC *Ip4Nic; 110 PXEBC_VIRTUAL_NIC *Ip6Nic; 111 112 EFI_HANDLE ArpChild; 113 EFI_HANDLE Ip4Child; 114 EFI_HANDLE Dhcp4Child; 115 EFI_HANDLE Mtftp4Child; 116 EFI_HANDLE Udp4ReadChild; 117 EFI_HANDLE Udp4WriteChild; 118 119 EFI_ARP_PROTOCOL *Arp; 120 EFI_IP4_PROTOCOL *Ip4; 121 EFI_IP4_CONFIG2_PROTOCOL *Ip4Config2; 122 EFI_DHCP4_PROTOCOL *Dhcp4; 123 EFI_MTFTP4_PROTOCOL *Mtftp4; 124 EFI_UDP4_PROTOCOL *Udp4Read; 125 EFI_UDP4_PROTOCOL *Udp4Write; 126 127 EFI_HANDLE Ip6Child; 128 EFI_HANDLE Dhcp6Child; 129 EFI_HANDLE Mtftp6Child; 130 EFI_HANDLE Udp6ReadChild; 131 EFI_HANDLE Udp6WriteChild; 132 133 EFI_IP6_PROTOCOL *Ip6; 134 EFI_IP6_CONFIG_PROTOCOL *Ip6Cfg; 135 EFI_DHCP6_PROTOCOL *Dhcp6; 136 EFI_MTFTP6_PROTOCOL *Mtftp6; 137 EFI_UDP6_PROTOCOL *Udp6Read; 138 EFI_UDP6_PROTOCOL *Udp6Write; 139 EFI_DNS6_PROTOCOL *Dns6; 140 141 EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL *Nii; 142 EFI_PXE_BASE_CODE_PROTOCOL PxeBc; 143 EFI_PXE_BASE_CODE_CALLBACK_PROTOCOL LoadFileCallback; 144 EFI_PXE_BASE_CODE_CALLBACK_PROTOCOL *PxeBcCallback; 145 EFI_DEVICE_PATH_PROTOCOL *DevicePath; 146 147 EFI_PXE_BASE_CODE_MODE Mode; 148 EFI_PXE_BASE_CODE_FUNCTION Function; 149 UINT32 Ip6Policy; 150 UINT32 SolicitTimes; 151 UINT64 ElapsedTime; 152 153 EFI_UDP4_CONFIG_DATA Udp4CfgData; 154 EFI_UDP6_CONFIG_DATA Udp6CfgData; 155 EFI_IP4_CONFIG_DATA Ip4CfgData; 156 EFI_IP6_CONFIG_DATA Ip6CfgData; 157 158 EFI_EVENT UdpTimeOutEvent; 159 EFI_EVENT ArpUpdateEvent; 160 EFI_IP4_COMPLETION_TOKEN IcmpToken; 161 EFI_IP6_COMPLETION_TOKEN Icmp6Token; 162 163 BOOLEAN IsAddressOk; 164 BOOLEAN IsOfferSorted; 165 BOOLEAN IsProxyRecved; 166 BOOLEAN IsDoDiscover; 167 168 EFI_IP_ADDRESS TmpStationIp; 169 EFI_IP_ADDRESS StationIp; 170 EFI_IP_ADDRESS SubnetMask; 171 EFI_IP_ADDRESS GatewayIp; 172 EFI_IP_ADDRESS ServerIp; 173 EFI_IPv6_ADDRESS *DnsServer; 174 UINT16 CurSrcPort; 175 UINT32 IaId; 176 177 UINT32 Ip4MaxPacketSize; 178 UINT32 Ip6MaxPacketSize; 179 UINT8 *BootFileName; 180 UINTN BootFileSize; 181 UINTN BlockSize; 182 183 PXEBC_DHCP_PACKET_CACHE ProxyOffer; 184 PXEBC_DHCP_PACKET_CACHE DhcpAck; 185 PXEBC_DHCP_PACKET_CACHE PxeReply; 186 EFI_DHCP6_PACKET *Dhcp6Request; 187 EFI_DHCP4_PACKET SeedPacket; 188 188 189 189 // … … 214 214 // 215 215 // 216 UINT32 217 UINT32 218 PXEBC_DHCP_PACKET_CACHE 219 UINT32 220 UINT32 221 UINT32 216 UINT32 SelectIndex; 217 UINT32 SelectProxyType; 218 PXEBC_DHCP_PACKET_CACHE OfferBuffer[PXEBC_OFFER_MAX_NUM]; 219 UINT32 OfferNum; 220 UINT32 OfferCount[PxeOfferTypeMax]; 221 UINT32 OfferIndex[PxeOfferTypeMax][PXEBC_OFFER_MAX_NUM]; 222 222 }; 223 223
Note:
See TracChangeset
for help on using the changeset viewer.