Changeset 99404 in vbox for trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/UefiPxeBcDxe/PxeBcDhcp6.h
- Timestamp:
- Apr 14, 2023 3:17:44 PM (22 months ago)
- 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/PxeBcDhcp6.h
r85718 r99404 11 11 #define __EFI_PXEBC_DHCP6_H__ 12 12 13 #define PXEBC_DHCP6_OPTION_MAX_NUM 16 14 #define PXEBC_DHCP6_OPTION_MAX_SIZE 312 15 #define PXEBC_DHCP6_PACKET_MAX_SIZE (sizeof (EFI_PXE_BASE_CODE_PACKET)) 16 #define PXEBC_IP6_POLICY_MAX 0xff 17 #define PXEBC_IP6_ROUTE_TABLE_TIMEOUT 10 18 19 #define PXEBC_DHCP6_S_PORT 547 20 #define PXEBC_DHCP6_C_PORT 546 21 22 #define PXEBC_DHCP6_ENTERPRISE_NUM 343 // TODO: IANA TBD: temporarily using Intel's 23 #define PXEBC_DHCP6_MAX_BOOT_FILE_SIZE 65535 // It's a limitation of bit length, 65535*512 bytes. 24 25 26 #define PXEBC_DHCP6_IDX_IA_NA 0 27 #define PXEBC_DHCP6_IDX_BOOT_FILE_URL 1 28 #define PXEBC_DHCP6_IDX_BOOT_FILE_PARAM 2 29 #define PXEBC_DHCP6_IDX_VENDOR_CLASS 3 30 #define PXEBC_DHCP6_IDX_DNS_SERVER 4 31 #define PXEBC_DHCP6_IDX_MAX 5 13 #define PXEBC_DHCP6_OPTION_MAX_NUM 16 14 #define PXEBC_DHCP6_OPTION_MAX_SIZE 312 15 #define PXEBC_DHCP6_PACKET_MAX_SIZE (sizeof (EFI_PXE_BASE_CODE_PACKET)) 16 #define PXEBC_IP6_POLICY_MAX 0xff 17 #define PXEBC_IP6_ROUTE_TABLE_TIMEOUT 10 18 19 #define PXEBC_DHCP6_S_PORT 547 20 #define PXEBC_DHCP6_C_PORT 546 21 22 #define PXEBC_DHCP6_ENTERPRISE_NUM 343 // TODO: IANA TBD: temporarily using Intel's 23 #define PXEBC_DHCP6_MAX_BOOT_FILE_SIZE 65535 // It's a limitation of bit length, 65535*512 bytes. 24 25 #define PXEBC_DHCP6_IDX_IA_NA 0 26 #define PXEBC_DHCP6_IDX_BOOT_FILE_URL 1 27 #define PXEBC_DHCP6_IDX_BOOT_FILE_PARAM 2 28 #define PXEBC_DHCP6_IDX_VENDOR_CLASS 3 29 #define PXEBC_DHCP6_IDX_DNS_SERVER 4 30 #define PXEBC_DHCP6_IDX_MAX 5 32 31 33 32 #define PXEBC_DHCP6_BOOT_FILE_URL_PREFIX "tftp://" … … 48 47 (Type) == PxeOfferTypeProxyWfm11a) 49 48 50 51 49 #pragma pack(1) 52 50 typedef struct { 53 UINT16 OpCode[256];51 UINT16 OpCode[256]; 54 52 } PXEBC_DHCP6_OPTION_ORO; 55 53 56 54 typedef struct { 57 UINT8 Type;58 UINT8 MajorVer;59 UINT8 MinorVer;55 UINT8 Type; 56 UINT8 MajorVer; 57 UINT8 MinorVer; 60 58 } PXEBC_DHCP6_OPTION_UNDI; 61 59 62 60 typedef struct { 63 UINT16 Type;61 UINT16 Type; 64 62 } PXEBC_DHCP6_OPTION_ARCH; 65 63 66 64 typedef struct { 67 UINT8 ClassIdentifier[10];68 UINT8 ArchitecturePrefix[5];69 UINT8 ArchitectureType[5];70 UINT8 Lit3[1];71 UINT8 InterfaceName[4];72 UINT8 Lit4[1];73 UINT8 UndiMajor[3];74 UINT8 UndiMinor[3];65 UINT8 ClassIdentifier[10]; 66 UINT8 ArchitecturePrefix[5]; 67 UINT8 ArchitectureType[5]; 68 UINT8 Lit3[1]; 69 UINT8 InterfaceName[4]; 70 UINT8 Lit4[1]; 71 UINT8 UndiMajor[3]; 72 UINT8 UndiMinor[3]; 75 73 } PXEBC_CLASS_ID; 76 74 77 75 typedef struct { 78 UINT32 Vendor;79 UINT16 ClassLen;80 PXEBC_CLASS_ID ClassId;76 UINT32 Vendor; 77 UINT16 ClassLen; 78 PXEBC_CLASS_ID ClassId; 81 79 } PXEBC_DHCP6_OPTION_VENDOR_CLASS; 82 80 … … 84 82 85 83 typedef union { 86 PXEBC_DHCP6_OPTION_ORO *Oro;87 PXEBC_DHCP6_OPTION_UNDI *Undi;88 PXEBC_DHCP6_OPTION_ARCH *Arch;89 PXEBC_DHCP6_OPTION_VENDOR_CLASS *VendorClass;84 PXEBC_DHCP6_OPTION_ORO *Oro; 85 PXEBC_DHCP6_OPTION_UNDI *Undi; 86 PXEBC_DHCP6_OPTION_ARCH *Arch; 87 PXEBC_DHCP6_OPTION_VENDOR_CLASS *VendorClass; 90 88 } PXEBC_DHCP6_OPTION_ENTRY; 91 89 92 90 typedef struct { 93 LIST_ENTRY Link;94 EFI_DHCP6_PACKET_OPTION *Option;95 UINT8 Precedence;91 LIST_ENTRY Link; 92 EFI_DHCP6_PACKET_OPTION *Option; 93 UINT8 Precedence; 96 94 } PXEBC_DHCP6_OPTION_NODE; 97 95 … … 99 97 100 98 typedef union { 101 EFI_DHCP6_PACKET 102 EFI_DHCP6_PACKET 103 UINT8 99 EFI_DHCP6_PACKET Offer; 100 EFI_DHCP6_PACKET Ack; 101 UINT8 Buffer[PXEBC_CACHED_DHCP6_PACKET_MAX_SIZE]; 104 102 } PXEBC_DHCP6_PACKET; 105 103 106 104 typedef struct { 107 PXEBC_DHCP6_PACKET Packet;108 PXEBC_OFFER_TYPE OfferType;109 EFI_DHCP6_PACKET_OPTION *OptList[PXEBC_DHCP6_IDX_MAX];105 PXEBC_DHCP6_PACKET Packet; 106 PXEBC_OFFER_TYPE OfferType; 107 EFI_DHCP6_PACKET_OPTION *OptList[PXEBC_DHCP6_IDX_MAX]; 110 108 } PXEBC_DHCP6_PACKET_CACHE; 111 112 113 114 109 115 110 /** … … 129 124 EFI_STATUS 130 125 PxeBcExtractBootFileUrl ( 131 IN PXEBC_PRIVATE_DATA *Private, 132 OUT UINT8 **FileName, 133 IN OUT EFI_IPv6_ADDRESS *SrvAddr, 134 IN CHAR8 *BootFile, 135 IN UINT16 Length 136 ); 137 126 IN PXEBC_PRIVATE_DATA *Private, 127 OUT UINT8 **FileName, 128 IN OUT EFI_IPv6_ADDRESS *SrvAddr, 129 IN CHAR8 *BootFile, 130 IN UINT16 Length 131 ); 138 132 139 133 /** … … 149 143 EFI_STATUS 150 144 PxeBcExtractBootFileParam ( 151 IN CHAR8 *BootFilePara, 152 OUT UINT16 *BootFileSize 153 ); 154 145 IN CHAR8 *BootFilePara, 146 OUT UINT16 *BootFileSize 147 ); 155 148 156 149 /** … … 168 161 ); 169 162 170 171 163 /** 172 164 Register the ready address by Ip6Config protocol. … … 181 173 EFI_STATUS 182 174 PxeBcRegisterIp6Address ( 183 IN PXEBC_PRIVATE_DATA *Private, 184 IN EFI_IPv6_ADDRESS *Address 185 ); 186 175 IN PXEBC_PRIVATE_DATA *Private, 176 IN EFI_IPv6_ADDRESS *Address 177 ); 187 178 188 179 /** … … 194 185 VOID 195 186 PxeBcUnregisterIp6Address ( 196 IN PXEBC_PRIVATE_DATA *Private 197 ); 198 187 IN PXEBC_PRIVATE_DATA *Private 188 ); 199 189 200 190 /** … … 215 205 EFI_STATUS 216 206 PxeBcDhcp6Discover ( 217 IN PXEBC_PRIVATE_DATA 218 IN UINT16 219 IN UINT16 220 IN BOOLEAN 221 IN EFI_IP_ADDRESS 207 IN PXEBC_PRIVATE_DATA *Private, 208 IN UINT16 Type, 209 IN UINT16 *Layer, 210 IN BOOLEAN UseBis, 211 IN EFI_IP_ADDRESS *DestIp 222 212 ); 223 213 … … 233 223 EFI_STATUS 234 224 PxeBcSetIp6Policy ( 235 IN PXEBC_PRIVATE_DATA 225 IN PXEBC_PRIVATE_DATA *Private 236 226 ); 237 227 … … 247 237 EFI_STATUS 248 238 PxeBcSetIp6Address ( 249 IN PXEBC_PRIVATE_DATA 239 IN PXEBC_PRIVATE_DATA *Private 250 240 ); 251 241 … … 262 252 EFI_STATUS 263 253 PxeBcDhcp6Sarr ( 264 IN PXEBC_PRIVATE_DATA 265 IN EFI_DHCP6_PROTOCOL 254 IN PXEBC_PRIVATE_DATA *Private, 255 IN EFI_DHCP6_PROTOCOL *Dhcp6 266 256 ); 267 257 268 258 #endif 269
Note:
See TracChangeset
for help on using the changeset viewer.