Changeset 99404 in vbox for trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/Ip6Dxe/Ip6Impl.h
- Timestamp:
- Apr 14, 2023 3:17:44 PM (21 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/Ip6Dxe/Ip6Impl.h
r85718 r99404 55 55 #include "Ip6ConfigImpl.h" 56 56 57 #define IP6_PROTOCOL_SIGNATURE SIGNATURE_32 ('I', 'P', '6', 'P')58 #define IP6_SERVICE_SIGNATURE SIGNATURE_32 ('I', 'P', '6', 'S')57 #define IP6_PROTOCOL_SIGNATURE SIGNATURE_32 ('I', 'P', '6', 'P') 58 #define IP6_SERVICE_SIGNATURE SIGNATURE_32 ('I', 'P', '6', 'S') 59 59 60 60 // … … 64 64 // becomes DESTROY. 65 65 // 66 #define IP6_STATE_UNCONFIGED 67 #define IP6_STATE_CONFIGED 66 #define IP6_STATE_UNCONFIGED 0 67 #define IP6_STATE_CONFIGED 1 68 68 69 69 // … … 84 84 CR ((Sb), IP6_SERVICE, ServiceBinding, IP6_SERVICE_SIGNATURE) 85 85 86 #define IP6_NO_MAPPING(IpInstance) (!(IpInstance)->Interface->Configured)87 88 extern EFI_IPSEC2_PROTOCOL *mIpSec;89 extern BOOLEAN mIpSec2Installed;86 #define IP6_NO_MAPPING(IpInstance) (!(IpInstance)->Interface->Configured) 87 88 extern EFI_IPSEC2_PROTOCOL *mIpSec; 89 extern BOOLEAN mIpSec2Installed; 90 90 91 91 // … … 99 99 // 100 100 typedef struct { 101 IP6_PROTOCOL *IpInstance;102 EFI_IP6_COMPLETION_TOKEN *Token;103 EFI_EVENT IpSecRecycleSignal;104 NET_BUF *Packet;105 BOOLEAN Sent;106 INTN Life;101 IP6_PROTOCOL *IpInstance; 102 EFI_IP6_COMPLETION_TOKEN *Token; 103 EFI_EVENT IpSecRecycleSignal; 104 NET_BUF *Packet; 105 BOOLEAN Sent; 106 INTN Life; 107 107 } IP6_TXTOKEN_WRAP; 108 108 109 109 typedef struct { 110 EFI_EVENT 111 NET_BUF 110 EFI_EVENT IpSecRecycleSignal; 111 NET_BUF *Packet; 112 112 } IP6_IPSEC_WRAP; 113 113 … … 122 122 // 123 123 typedef struct { 124 LIST_ENTRY 125 IP6_PROTOCOL 126 NET_BUF 127 EFI_IP6_RECEIVE_DATA 124 LIST_ENTRY Link; 125 IP6_PROTOCOL *IpInstance; 126 NET_BUF *Packet; 127 EFI_IP6_RECEIVE_DATA RxData; 128 128 } IP6_RXDATA_WRAP; 129 129 130 130 struct _IP6_PROTOCOL { 131 UINT32 132 133 EFI_IP6_PROTOCOL 134 EFI_HANDLE 135 INTN 136 137 IP6_SERVICE 138 LIST_ENTRY Link;// Link to all the IP protocol from the service139 140 UINT8 PrefixLength;// PrefixLength of the configured station address.131 UINT32 Signature; 132 133 EFI_IP6_PROTOCOL Ip6Proto; 134 EFI_HANDLE Handle; 135 INTN State; 136 137 IP6_SERVICE *Service; 138 LIST_ENTRY Link; // Link to all the IP protocol from the service 139 140 UINT8 PrefixLength; // PrefixLength of the configured station address. 141 141 // 142 142 // User's transmit/receive tokens, and received/delivered packets 143 143 // 144 NET_MAP 145 NET_MAP TxTokens;// map between (User's Token, IP6_TXTOKE_WRAP)146 LIST_ENTRY Received;// Received but not delivered packet147 LIST_ENTRY Delivered;// Delivered and to be recycled packets148 EFI_LOCK 149 150 IP6_INTERFACE 151 LIST_ENTRY AddrLink;// Ip instances with the same IP address.152 153 EFI_IPv6_ADDRESS *GroupList;// stored in network order.154 UINT32 155 156 EFI_IP6_CONFIG_DATA 157 BOOLEAN 144 NET_MAP RxTokens; 145 NET_MAP TxTokens; // map between (User's Token, IP6_TXTOKE_WRAP) 146 LIST_ENTRY Received; // Received but not delivered packet 147 LIST_ENTRY Delivered; // Delivered and to be recycled packets 148 EFI_LOCK RecycleLock; 149 150 IP6_INTERFACE *Interface; 151 LIST_ENTRY AddrLink; // Ip instances with the same IP address. 152 153 EFI_IPv6_ADDRESS *GroupList; // stored in network order. 154 UINT32 GroupCount; 155 156 EFI_IP6_CONFIG_DATA ConfigData; 157 BOOLEAN InDestroy; 158 158 }; 159 159 160 160 struct _IP6_SERVICE { 161 UINT32 Signature;162 EFI_SERVICE_BINDING_PROTOCOL ServiceBinding;163 INTN State;161 UINT32 Signature; 162 EFI_SERVICE_BINDING_PROTOCOL ServiceBinding; 163 INTN State; 164 164 165 165 // … … 167 167 // interface and route table and caches. 168 168 // 169 UINTN NumChildren;170 LIST_ENTRY Children;171 172 LIST_ENTRY Interfaces;173 174 IP6_INTERFACE *DefaultInterface;175 IP6_ROUTE_TABLE *RouteTable;176 177 IP6_LINK_RX_TOKEN RecvRequest;169 UINTN NumChildren; 170 LIST_ENTRY Children; 171 172 LIST_ENTRY Interfaces; 173 174 IP6_INTERFACE *DefaultInterface; 175 IP6_ROUTE_TABLE *RouteTable; 176 177 IP6_LINK_RX_TOKEN RecvRequest; 178 178 179 179 // 180 180 // Ip reassemble utilities and MLD data 181 181 // 182 IP6_ASSEMBLE_TABLE Assemble;183 IP6_MLD_SERVICE_DATA MldCtrl;184 185 EFI_IPv6_ADDRESS LinkLocalAddr;186 BOOLEAN LinkLocalOk;187 BOOLEAN LinkLocalDadFail;188 BOOLEAN Dhcp6NeedStart;189 BOOLEAN Dhcp6NeedInfoRequest;182 IP6_ASSEMBLE_TABLE Assemble; 183 IP6_MLD_SERVICE_DATA MldCtrl; 184 185 EFI_IPv6_ADDRESS LinkLocalAddr; 186 BOOLEAN LinkLocalOk; 187 BOOLEAN LinkLocalDadFail; 188 BOOLEAN Dhcp6NeedStart; 189 BOOLEAN Dhcp6NeedInfoRequest; 190 190 191 191 // 192 192 // ND data 193 193 // 194 UINT8 CurHopLimit;195 UINT32 LinkMTU;196 UINT32 BaseReachableTime;197 UINT32 ReachableTime;198 UINT32 RetransTimer;199 LIST_ENTRY NeighborTable;200 201 LIST_ENTRY OnlinkPrefix;202 LIST_ENTRY AutonomousPrefix;203 204 LIST_ENTRY DefaultRouterList;205 UINT32 RoundRobin;206 207 UINT8 InterfaceIdLen;208 UINT8 *InterfaceId;209 210 BOOLEAN RouterAdvertiseReceived;211 UINT8 SolicitTimer;212 UINT32 Ticks;194 UINT8 CurHopLimit; 195 UINT32 LinkMTU; 196 UINT32 BaseReachableTime; 197 UINT32 ReachableTime; 198 UINT32 RetransTimer; 199 LIST_ENTRY NeighborTable; 200 201 LIST_ENTRY OnlinkPrefix; 202 LIST_ENTRY AutonomousPrefix; 203 204 LIST_ENTRY DefaultRouterList; 205 UINT32 RoundRobin; 206 207 UINT8 InterfaceIdLen; 208 UINT8 *InterfaceId; 209 210 BOOLEAN RouterAdvertiseReceived; 211 UINT8 SolicitTimer; 212 UINT32 Ticks; 213 213 214 214 // 215 215 // Low level protocol used by this service instance 216 216 // 217 EFI_HANDLE Image;218 EFI_HANDLE Controller;219 220 EFI_HANDLE MnpChildHandle;221 EFI_MANAGED_NETWORK_PROTOCOL *Mnp;222 223 EFI_MANAGED_NETWORK_CONFIG_DATA MnpConfigData;224 EFI_SIMPLE_NETWORK_MODE SnpMode;225 226 EFI_EVENT Timer;227 EFI_EVENT FasterTimer;217 EFI_HANDLE Image; 218 EFI_HANDLE Controller; 219 220 EFI_HANDLE MnpChildHandle; 221 EFI_MANAGED_NETWORK_PROTOCOL *Mnp; 222 223 EFI_MANAGED_NETWORK_CONFIG_DATA MnpConfigData; 224 EFI_SIMPLE_NETWORK_MODE SnpMode; 225 226 EFI_EVENT Timer; 227 EFI_EVENT FasterTimer; 228 228 229 229 // 230 230 // IPv6 Configuration Protocol instance 231 231 // 232 IP6_CONFIG_INSTANCE Ip6ConfigInstance;232 IP6_CONFIG_INSTANCE Ip6ConfigInstance; 233 233 234 234 // … … 236 236 // NIC this IP6_SERVICE works on. 237 237 // 238 CHAR16 *MacString;239 UINT32 MaxPacketSize;240 UINT32 OldMaxPacketSize;238 CHAR16 *MacString; 239 UINT32 MaxPacketSize; 240 UINT32 OldMaxPacketSize; 241 241 }; 242 242 … … 265 265 EFIAPI 266 266 Ip6FreeTxToken ( 267 IN VOID 267 IN VOID *Context 268 268 ); 269 269 … … 288 288 EFI_STATUS 289 289 Ip6ServiceConfigMnp ( 290 IN IP6_SERVICE 291 IN BOOLEAN 290 IN IP6_SERVICE *IpSb, 291 IN BOOLEAN Force 292 292 ); 293 293 … … 308 308 EFI_STATUS 309 309 Ip6Cancel ( 310 IN IP6_PROTOCOL *IpInstance,311 IN EFI_IP6_COMPLETION_TOKEN *Token OPTIONAL310 IN IP6_PROTOCOL *IpInstance, 311 IN EFI_IP6_COMPLETION_TOKEN *Token OPTIONAL 312 312 ); 313 313 … … 321 321 VOID 322 322 Ip6InitProtocol ( 323 IN IP6_SERVICE 324 IN OUT IP6_PROTOCOL 323 IN IP6_SERVICE *IpSb, 324 IN OUT IP6_PROTOCOL *IpInstance 325 325 ); 326 326 … … 336 336 EFI_STATUS 337 337 Ip6CleanProtocol ( 338 IN OUT IP6_PROTOCOL 338 IN OUT IP6_PROTOCOL *IpInstance 339 339 ); 340 340 … … 363 363 EFIAPI 364 364 EfiIp6GetModeData ( 365 IN EFI_IP6_PROTOCOL *This,366 OUT EFI_IP6_MODE_DATA *Ip6ModeData OPTIONAL,367 OUT EFI_MANAGED_NETWORK_CONFIG_DATA *MnpConfigData OPTIONAL,368 OUT EFI_SIMPLE_NETWORK_MODE *SnpModeData OPTIONAL365 IN EFI_IP6_PROTOCOL *This, 366 OUT EFI_IP6_MODE_DATA *Ip6ModeData OPTIONAL, 367 OUT EFI_MANAGED_NETWORK_CONFIG_DATA *MnpConfigData OPTIONAL, 368 OUT EFI_SIMPLE_NETWORK_MODE *SnpModeData OPTIONAL 369 369 ); 370 370 … … 419 419 EFIAPI 420 420 EfiIp6Configure ( 421 IN EFI_IP6_PROTOCOL 422 IN EFI_IP6_CONFIG_DATA 421 IN EFI_IP6_PROTOCOL *This, 422 IN EFI_IP6_CONFIG_DATA *Ip6ConfigData OPTIONAL 423 423 ); 424 424 … … 508 508 EFIAPI 509 509 EfiIp6Routes ( 510 IN EFI_IP6_PROTOCOL 511 IN BOOLEAN 512 IN EFI_IPv6_ADDRESS 513 IN UINT8 514 IN EFI_IPv6_ADDRESS 510 IN EFI_IP6_PROTOCOL *This, 511 IN BOOLEAN DeleteRoute, 512 IN EFI_IPv6_ADDRESS *Destination OPTIONAL, 513 IN UINT8 PrefixLength, 514 IN EFI_IPv6_ADDRESS *GatewayAddress OPTIONAL 515 515 ); 516 516 … … 564 564 EFIAPI 565 565 EfiIp6Neighbors ( 566 IN EFI_IP6_PROTOCOL 567 IN BOOLEAN 568 IN EFI_IPv6_ADDRESS 569 IN EFI_MAC_ADDRESS 570 IN UINT32 571 IN BOOLEAN 566 IN EFI_IP6_PROTOCOL *This, 567 IN BOOLEAN DeleteFlag, 568 IN EFI_IPv6_ADDRESS *TargetIp6Address, 569 IN EFI_MAC_ADDRESS *TargetLinkAddress OPTIONAL, 570 IN UINT32 Timeout, 571 IN BOOLEAN Override 572 572 ); 573 573 … … 743 743 EFIAPI 744 744 EfiIp6Poll ( 745 IN EFI_IP6_PROTOCOL 745 IN EFI_IP6_PROTOCOL *This 746 746 ); 747 747
Note:
See TracChangeset
for help on using the changeset viewer.