Changeset 99404 in vbox for trunk/src/VBox/Devices/EFI/FirmwareNew/NetworkPkg/MnpDxe/MnpImpl.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/MnpDxe/MnpImpl.h
r85718 r99404 12 12 #include "MnpDriver.h" 13 13 14 #define NET_ETHER_FCS_SIZE 15 16 #define MNP_SYS_POLL_INTERVAL (10 * TICKS_PER_MS)// 10 milliseconds17 #define MNP_TIMEOUT_CHECK_INTERVAL (50 * TICKS_PER_MS)// 50 milliseconds18 #define MNP_MEDIA_DETECT_INTERVAL (500 * TICKS_PER_MS)// 500 milliseconds19 #define MNP_TX_TIMEOUT_TIME (500 * TICKS_PER_MS)// 500 milliseconds20 #define MNP_INIT_NET_BUFFER_NUM 21 #define MNP_NET_BUFFER_INCREASEMENT 22 #define MNP_MAX_NET_BUFFER_NUM 23 #define MNP_TX_BUFFER_INCREASEMENT 32// Same as the recycling Q length for xmit_done in UNDI command.24 #define MNP_MAX_TX_BUFFER_NUM 14 #define NET_ETHER_FCS_SIZE 4 15 16 #define MNP_SYS_POLL_INTERVAL (10 * TICKS_PER_MS) // 10 milliseconds 17 #define MNP_TIMEOUT_CHECK_INTERVAL (50 * TICKS_PER_MS) // 50 milliseconds 18 #define MNP_MEDIA_DETECT_INTERVAL (500 * TICKS_PER_MS) // 500 milliseconds 19 #define MNP_TX_TIMEOUT_TIME (500 * TICKS_PER_MS) // 500 milliseconds 20 #define MNP_INIT_NET_BUFFER_NUM 512 21 #define MNP_NET_BUFFER_INCREASEMENT 64 22 #define MNP_MAX_NET_BUFFER_NUM 65536 23 #define MNP_TX_BUFFER_INCREASEMENT 32 // Same as the recycling Q length for xmit_done in UNDI command. 24 #define MNP_MAX_TX_BUFFER_NUM 65536 25 25 26 26 #define MNP_MAX_RCVD_PACKET_QUE_SIZE 256 27 27 28 #define MNP_RECEIVE_UNICAST 29 #define MNP_RECEIVE_BROADCAST 30 31 #define UNICAST_PACKET 32 #define BROADCAST_PACKET 33 34 #define MNP_INSTANCE_DATA_SIGNATURE 28 #define MNP_RECEIVE_UNICAST 0x01 29 #define MNP_RECEIVE_BROADCAST 0x02 30 31 #define UNICAST_PACKET MNP_RECEIVE_UNICAST 32 #define BROADCAST_PACKET MNP_RECEIVE_BROADCAST 33 34 #define MNP_INSTANCE_DATA_SIGNATURE SIGNATURE_32 ('M', 'n', 'p', 'I') 35 35 36 36 #define MNP_INSTANCE_DATA_FROM_THIS(a) \ … … 43 43 44 44 typedef struct { 45 UINT32 Signature;46 47 MNP_SERVICE_DATA *MnpServiceData;48 49 EFI_HANDLE Handle;50 51 LIST_ENTRY InstEntry;52 53 EFI_MANAGED_NETWORK_PROTOCOL ManagedNetwork;54 55 BOOLEAN Configured;56 BOOLEAN Destroyed;57 58 LIST_ENTRY GroupCtrlBlkList;59 60 NET_MAP RxTokenMap;61 62 LIST_ENTRY RxDeliveredPacketQueue;63 LIST_ENTRY RcvdPacketQueue;64 UINTN RcvdPacketQueueSize;65 66 EFI_MANAGED_NETWORK_CONFIG_DATA ConfigData;67 68 UINT8 ReceiveFilter;45 UINT32 Signature; 46 47 MNP_SERVICE_DATA *MnpServiceData; 48 49 EFI_HANDLE Handle; 50 51 LIST_ENTRY InstEntry; 52 53 EFI_MANAGED_NETWORK_PROTOCOL ManagedNetwork; 54 55 BOOLEAN Configured; 56 BOOLEAN Destroyed; 57 58 LIST_ENTRY GroupCtrlBlkList; 59 60 NET_MAP RxTokenMap; 61 62 LIST_ENTRY RxDeliveredPacketQueue; 63 LIST_ENTRY RcvdPacketQueue; 64 UINTN RcvdPacketQueueSize; 65 66 EFI_MANAGED_NETWORK_CONFIG_DATA ConfigData; 67 68 UINT8 ReceiveFilter; 69 69 } MNP_INSTANCE_DATA; 70 70 71 71 typedef struct { 72 LIST_ENTRY AddrEntry;73 EFI_MAC_ADDRESS Address;74 INTN RefCnt;72 LIST_ENTRY AddrEntry; 73 EFI_MAC_ADDRESS Address; 74 INTN RefCnt; 75 75 } MNP_GROUP_ADDRESS; 76 76 77 77 typedef struct { 78 LIST_ENTRY CtrlBlkEntry;79 MNP_GROUP_ADDRESS *GroupAddress;78 LIST_ENTRY CtrlBlkEntry; 79 MNP_GROUP_ADDRESS *GroupAddress; 80 80 } MNP_GROUP_CONTROL_BLOCK; 81 81 82 82 typedef struct { 83 LIST_ENTRY WrapEntry;84 MNP_INSTANCE_DATA *Instance;85 EFI_MANAGED_NETWORK_RECEIVE_DATA RxData;86 NET_BUF *Nbuf;87 UINT64 TimeoutTick;83 LIST_ENTRY WrapEntry; 84 MNP_INSTANCE_DATA *Instance; 85 EFI_MANAGED_NETWORK_RECEIVE_DATA RxData; 86 NET_BUF *Nbuf; 87 UINT64 TimeoutTick; 88 88 } MNP_RXDATA_WRAP; 89 89 90 #define MNP_TX_BUF_WRAP_SIGNATURE 90 #define MNP_TX_BUF_WRAP_SIGNATURE SIGNATURE_32 ('M', 'T', 'B', 'W') 91 91 92 92 typedef struct { 93 UINT32 94 LIST_ENTRY WrapEntry;// Link to FreeTxBufList95 LIST_ENTRY AllEntry;// Link to AllTxBufList96 BOOLEAN 97 UINT8 93 UINT32 Signature; 94 LIST_ENTRY WrapEntry; // Link to FreeTxBufList 95 LIST_ENTRY AllEntry; // Link to AllTxBufList 96 BOOLEAN InUse; 97 UINT8 TxBuf[1]; 98 98 } MNP_TX_BUF_WRAP; 99 99 … … 112 112 EFI_STATUS 113 113 MnpInitializeDeviceData ( 114 IN OUT MNP_DEVICE_DATA 115 IN EFI_HANDLE 116 IN EFI_HANDLE 114 IN OUT MNP_DEVICE_DATA *MnpDeviceData, 115 IN EFI_HANDLE ImageHandle, 116 IN EFI_HANDLE ControllerHandle 117 117 ); 118 118 … … 126 126 VOID 127 127 MnpDestroyDeviceData ( 128 IN OUT MNP_DEVICE_DATA 129 IN EFI_HANDLE 128 IN OUT MNP_DEVICE_DATA *MnpDeviceData, 129 IN EFI_HANDLE ImageHandle 130 130 ); 131 131 … … 143 143 MNP_SERVICE_DATA * 144 144 MnpCreateServiceData ( 145 IN MNP_DEVICE_DATA 146 IN UINT16 147 IN UINT8 145 IN MNP_DEVICE_DATA *MnpDeviceData, 146 IN UINT16 VlanId, 147 IN UINT8 Priority OPTIONAL 148 148 ); 149 149 … … 162 162 EFI_STATUS 163 163 MnpInitializeServiceData ( 164 IN OUT MNP_SERVICE_DATA 165 IN EFI_HANDLE 166 IN EFI_HANDLE 164 IN OUT MNP_SERVICE_DATA *MnpServiceData, 165 IN EFI_HANDLE ImageHandle, 166 IN EFI_HANDLE ControllerHandle 167 167 ); 168 168 … … 178 178 EFI_STATUS 179 179 MnpDestroyServiceData ( 180 IN OUT MNP_SERVICE_DATA 180 IN OUT MNP_SERVICE_DATA *MnpServiceData 181 181 ); 182 182 … … 192 192 EFI_STATUS 193 193 MnpDestroyServiceChild ( 194 IN OUT MNP_SERVICE_DATA 194 IN OUT MNP_SERVICE_DATA *MnpServiceData 195 195 ); 196 196 … … 206 206 MNP_SERVICE_DATA * 207 207 MnpFindServiceData ( 208 IN MNP_DEVICE_DATA 209 IN UINT16 208 IN MNP_DEVICE_DATA *MnpDeviceData, 209 IN UINT16 VlanId 210 210 ); 211 211 … … 220 220 VOID 221 221 MnpInitializeInstanceData ( 222 IN MNP_SERVICE_DATA 223 IN OUT MNP_INSTANCE_DATA 222 IN MNP_SERVICE_DATA *MnpServiceData, 223 IN OUT MNP_INSTANCE_DATA *Instance 224 224 ); 225 225 … … 241 241 EFIAPI 242 242 MnpTokenExist ( 243 IN NET_MAP 244 IN NET_MAP_ITEM 245 IN VOID 243 IN NET_MAP *Map, 244 IN NET_MAP_ITEM *Item, 245 IN VOID *Arg 246 246 ); 247 247 … … 264 264 EFIAPI 265 265 MnpCancelTokens ( 266 IN OUT NET_MAP 267 IN OUT NET_MAP_ITEM 268 IN VOID 266 IN OUT NET_MAP *Map, 267 IN OUT NET_MAP_ITEM *Item, 268 IN VOID *Arg 269 269 ); 270 270 … … 277 277 VOID 278 278 MnpFlushRcvdDataQueue ( 279 IN OUT MNP_INSTANCE_DATA 279 IN OUT MNP_INSTANCE_DATA *Instance 280 280 ); 281 281 … … 295 295 EFI_STATUS 296 296 MnpConfigureInstance ( 297 IN OUT MNP_INSTANCE_DATA 298 IN EFI_MANAGED_NETWORK_CONFIG_DATA 297 IN OUT MNP_INSTANCE_DATA *Instance, 298 IN EFI_MANAGED_NETWORK_CONFIG_DATA *ConfigData OPTIONAL 299 299 ); 300 300 … … 316 316 EFI_STATUS 317 317 MnpGroupOp ( 318 IN OUT MNP_INSTANCE_DATA 319 IN BOOLEAN 320 IN EFI_MAC_ADDRESS 321 IN MNP_GROUP_CONTROL_BLOCK 318 IN OUT MNP_INSTANCE_DATA *Instance, 319 IN BOOLEAN JoinFlag, 320 IN EFI_MAC_ADDRESS *MacAddress OPTIONAL, 321 IN MNP_GROUP_CONTROL_BLOCK *CtrlBlk OPTIONAL 322 322 ); 323 323 … … 333 333 BOOLEAN 334 334 MnpIsValidTxToken ( 335 IN MNP_INSTANCE_DATA 336 IN EFI_MANAGED_NETWORK_COMPLETION_TOKEN 335 IN MNP_INSTANCE_DATA *Instance, 336 IN EFI_MANAGED_NETWORK_COMPLETION_TOKEN *Token 337 337 ); 338 338 … … 353 353 EFI_STATUS 354 354 MnpBuildTxPacket ( 355 IN MNP_SERVICE_DATA 356 IN EFI_MANAGED_NETWORK_TRANSMIT_DATA 357 OUT UINT8**PktBuf,358 OUT UINT32*PktLen355 IN MNP_SERVICE_DATA *MnpServiceData, 356 IN EFI_MANAGED_NETWORK_TRANSMIT_DATA *TxData, 357 OUT UINT8 **PktBuf, 358 OUT UINT32 *PktLen 359 359 ); 360 360 … … 378 378 EFI_STATUS 379 379 MnpSyncSendPacket ( 380 IN MNP_SERVICE_DATA 381 IN UINT8 382 IN UINT32 383 IN OUT EFI_MANAGED_NETWORK_COMPLETION_TOKEN 380 IN MNP_SERVICE_DATA *MnpServiceData, 381 IN UINT8 *Packet, 382 IN UINT32 Length, 383 IN OUT EFI_MANAGED_NETWORK_COMPLETION_TOKEN *Token 384 384 ); 385 385 … … 397 397 EFI_STATUS 398 398 MnpInstanceDeliverPacket ( 399 IN OUT MNP_INSTANCE_DATA 399 IN OUT MNP_INSTANCE_DATA *Instance 400 400 ); 401 401 … … 411 411 EFIAPI 412 412 MnpRecycleRxData ( 413 IN EFI_EVENT 414 IN VOID 413 IN EFI_EVENT Event, 414 IN VOID *Context 415 415 ); 416 416 … … 428 428 EFI_STATUS 429 429 MnpReceivePacket ( 430 IN OUT MNP_DEVICE_DATA 430 IN OUT MNP_DEVICE_DATA *MnpDeviceData 431 431 ); 432 432 … … 444 444 NET_BUF * 445 445 MnpAllocNbuf ( 446 IN OUT MNP_DEVICE_DATA 446 IN OUT MNP_DEVICE_DATA *MnpDeviceData 447 447 ); 448 448 … … 456 456 VOID 457 457 MnpFreeNbuf ( 458 IN OUT MNP_DEVICE_DATA 459 IN OUT NET_BUF 458 IN OUT MNP_DEVICE_DATA *MnpDeviceData, 459 IN OUT NET_BUF *Nbuf 460 460 ); 461 461 … … 473 473 UINT8 * 474 474 MnpAllocTxBuf ( 475 IN OUT MNP_DEVICE_DATA 475 IN OUT MNP_DEVICE_DATA *MnpDeviceData 476 476 ); 477 477 … … 487 487 EFI_STATUS 488 488 MnpRecycleTxBuf ( 489 IN OUT MNP_DEVICE_DATA 489 IN OUT MNP_DEVICE_DATA *MnpDeviceData 490 490 ); 491 491 … … 500 500 EFIAPI 501 501 MnpCheckPacketTimeout ( 502 IN EFI_EVENT 503 IN VOID 502 IN EFI_EVENT Event, 503 IN VOID *Context 504 504 ); 505 505 … … 514 514 EFIAPI 515 515 MnpCheckMediaStatus ( 516 IN EFI_EVENT 517 IN VOID 516 IN EFI_EVENT Event, 517 IN VOID *Context 518 518 ); 519 519 … … 529 529 EFIAPI 530 530 MnpSystemPoll ( 531 IN EFI_EVENT 532 IN VOID 531 IN EFI_EVENT Event, 532 IN VOID *Context 533 533 ); 534 534 … … 561 561 EFIAPI 562 562 MnpGetModeData ( 563 IN EFI_MANAGED_NETWORK_PROTOCOL 564 OUT EFI_MANAGED_NETWORK_CONFIG_DATA*MnpConfigData OPTIONAL,565 OUT EFI_SIMPLE_NETWORK_MODE*SnpModeData OPTIONAL563 IN EFI_MANAGED_NETWORK_PROTOCOL *This, 564 OUT EFI_MANAGED_NETWORK_CONFIG_DATA *MnpConfigData OPTIONAL, 565 OUT EFI_SIMPLE_NETWORK_MODE *SnpModeData OPTIONAL 566 566 ); 567 567 … … 621 621 EFIAPI 622 622 MnpConfigure ( 623 IN EFI_MANAGED_NETWORK_PROTOCOL 624 IN EFI_MANAGED_NETWORK_CONFIG_DATA 623 IN EFI_MANAGED_NETWORK_PROTOCOL *This, 624 IN EFI_MANAGED_NETWORK_CONFIG_DATA *MnpConfigData OPTIONAL 625 625 ); 626 626 … … 658 658 EFIAPI 659 659 MnpMcastIpToMac ( 660 IN EFI_MANAGED_NETWORK_PROTOCOL 661 IN BOOLEAN 662 IN EFI_IP_ADDRESS 663 OUT EFI_MAC_ADDRESS*MacAddress660 IN EFI_MANAGED_NETWORK_PROTOCOL *This, 661 IN BOOLEAN Ipv6Flag, 662 IN EFI_IP_ADDRESS *IpAddress, 663 OUT EFI_MAC_ADDRESS *MacAddress 664 664 ); 665 665 … … 703 703 EFIAPI 704 704 MnpGroups ( 705 IN EFI_MANAGED_NETWORK_PROTOCOL 706 IN BOOLEAN 707 IN EFI_MAC_ADDRESS 705 IN EFI_MANAGED_NETWORK_PROTOCOL *This, 706 IN BOOLEAN JoinFlag, 707 IN EFI_MAC_ADDRESS *MacAddress OPTIONAL 708 708 ); 709 709 … … 766 766 EFIAPI 767 767 MnpTransmit ( 768 IN EFI_MANAGED_NETWORK_PROTOCOL 769 IN EFI_MANAGED_NETWORK_COMPLETION_TOKEN 768 IN EFI_MANAGED_NETWORK_PROTOCOL *This, 769 IN EFI_MANAGED_NETWORK_COMPLETION_TOKEN *Token 770 770 ); 771 771 … … 802 802 EFIAPI 803 803 MnpCancel ( 804 IN EFI_MANAGED_NETWORK_PROTOCOL 805 IN EFI_MANAGED_NETWORK_COMPLETION_TOKEN 804 IN EFI_MANAGED_NETWORK_PROTOCOL *This, 805 IN EFI_MANAGED_NETWORK_COMPLETION_TOKEN *Token OPTIONAL 806 806 ); 807 807 … … 844 844 EFIAPI 845 845 MnpReceive ( 846 IN EFI_MANAGED_NETWORK_PROTOCOL 847 IN EFI_MANAGED_NETWORK_COMPLETION_TOKEN 846 IN EFI_MANAGED_NETWORK_PROTOCOL *This, 847 IN EFI_MANAGED_NETWORK_COMPLETION_TOKEN *Token 848 848 ); 849 849 … … 877 877 EFIAPI 878 878 MnpPoll ( 879 IN EFI_MANAGED_NETWORK_PROTOCOL 879 IN EFI_MANAGED_NETWORK_PROTOCOL *This 880 880 ); 881 881 … … 893 893 EFI_STATUS 894 894 MnpConfigReceiveFilters ( 895 IN MNP_DEVICE_DATA 895 IN MNP_DEVICE_DATA *MnpDeviceData 896 896 ); 897 897
Note:
See TracChangeset
for help on using the changeset viewer.