\r
#include "MnpDriver.h"\r
\r
-#define NET_ETHER_FCS_SIZE 4\r
-\r
-#define MNP_SYS_POLL_INTERVAL (10 * TICKS_PER_MS) // 10 milliseconds\r
-#define MNP_TIMEOUT_CHECK_INTERVAL (50 * TICKS_PER_MS) // 50 milliseconds\r
-#define MNP_MEDIA_DETECT_INTERVAL (500 * TICKS_PER_MS) // 500 milliseconds\r
-#define MNP_TX_TIMEOUT_TIME (500 * TICKS_PER_MS) // 500 milliseconds\r
-#define MNP_INIT_NET_BUFFER_NUM 512\r
-#define MNP_NET_BUFFER_INCREASEMENT 64\r
-#define MNP_MAX_NET_BUFFER_NUM 65536\r
-#define MNP_TX_BUFFER_INCREASEMENT 32 // Same as the recycling Q length for xmit_done in UNDI command.\r
-#define MNP_MAX_TX_BUFFER_NUM 65536\r
+#define NET_ETHER_FCS_SIZE 4\r
+\r
+#define MNP_SYS_POLL_INTERVAL (10 * TICKS_PER_MS) // 10 milliseconds\r
+#define MNP_TIMEOUT_CHECK_INTERVAL (50 * TICKS_PER_MS) // 50 milliseconds\r
+#define MNP_MEDIA_DETECT_INTERVAL (500 * TICKS_PER_MS) // 500 milliseconds\r
+#define MNP_TX_TIMEOUT_TIME (500 * TICKS_PER_MS) // 500 milliseconds\r
+#define MNP_INIT_NET_BUFFER_NUM 512\r
+#define MNP_NET_BUFFER_INCREASEMENT 64\r
+#define MNP_MAX_NET_BUFFER_NUM 65536\r
+#define MNP_TX_BUFFER_INCREASEMENT 32 // Same as the recycling Q length for xmit_done in UNDI command.\r
+#define MNP_MAX_TX_BUFFER_NUM 65536\r
\r
#define MNP_MAX_RCVD_PACKET_QUE_SIZE 256\r
\r
-#define MNP_RECEIVE_UNICAST 0x01\r
-#define MNP_RECEIVE_BROADCAST 0x02\r
+#define MNP_RECEIVE_UNICAST 0x01\r
+#define MNP_RECEIVE_BROADCAST 0x02\r
\r
-#define UNICAST_PACKET MNP_RECEIVE_UNICAST\r
-#define BROADCAST_PACKET MNP_RECEIVE_BROADCAST\r
+#define UNICAST_PACKET MNP_RECEIVE_UNICAST\r
+#define BROADCAST_PACKET MNP_RECEIVE_BROADCAST\r
\r
-#define MNP_INSTANCE_DATA_SIGNATURE SIGNATURE_32 ('M', 'n', 'p', 'I')\r
+#define MNP_INSTANCE_DATA_SIGNATURE SIGNATURE_32 ('M', 'n', 'p', 'I')\r
\r
#define MNP_INSTANCE_DATA_FROM_THIS(a) \\r
CR ( \\r
)\r
\r
typedef struct {\r
- UINT32 Signature;\r
+ UINT32 Signature;\r
\r
- MNP_SERVICE_DATA *MnpServiceData;\r
+ MNP_SERVICE_DATA *MnpServiceData;\r
\r
- EFI_HANDLE Handle;\r
+ EFI_HANDLE Handle;\r
\r
- LIST_ENTRY InstEntry;\r
+ LIST_ENTRY InstEntry;\r
\r
- EFI_MANAGED_NETWORK_PROTOCOL ManagedNetwork;\r
+ EFI_MANAGED_NETWORK_PROTOCOL ManagedNetwork;\r
\r
- BOOLEAN Configured;\r
- BOOLEAN Destroyed;\r
+ BOOLEAN Configured;\r
+ BOOLEAN Destroyed;\r
\r
- LIST_ENTRY GroupCtrlBlkList;\r
+ LIST_ENTRY GroupCtrlBlkList;\r
\r
- NET_MAP RxTokenMap;\r
+ NET_MAP RxTokenMap;\r
\r
- LIST_ENTRY RxDeliveredPacketQueue;\r
- LIST_ENTRY RcvdPacketQueue;\r
- UINTN RcvdPacketQueueSize;\r
+ LIST_ENTRY RxDeliveredPacketQueue;\r
+ LIST_ENTRY RcvdPacketQueue;\r
+ UINTN RcvdPacketQueueSize;\r
\r
- EFI_MANAGED_NETWORK_CONFIG_DATA ConfigData;\r
+ EFI_MANAGED_NETWORK_CONFIG_DATA ConfigData;\r
\r
- UINT8 ReceiveFilter;\r
+ UINT8 ReceiveFilter;\r
} MNP_INSTANCE_DATA;\r
\r
typedef struct {\r
- LIST_ENTRY AddrEntry;\r
- EFI_MAC_ADDRESS Address;\r
- INTN RefCnt;\r
+ LIST_ENTRY AddrEntry;\r
+ EFI_MAC_ADDRESS Address;\r
+ INTN RefCnt;\r
} MNP_GROUP_ADDRESS;\r
\r
typedef struct {\r
- LIST_ENTRY CtrlBlkEntry;\r
- MNP_GROUP_ADDRESS *GroupAddress;\r
+ LIST_ENTRY CtrlBlkEntry;\r
+ MNP_GROUP_ADDRESS *GroupAddress;\r
} MNP_GROUP_CONTROL_BLOCK;\r
\r
typedef struct {\r
- LIST_ENTRY WrapEntry;\r
- MNP_INSTANCE_DATA *Instance;\r
- EFI_MANAGED_NETWORK_RECEIVE_DATA RxData;\r
- NET_BUF *Nbuf;\r
- UINT64 TimeoutTick;\r
+ LIST_ENTRY WrapEntry;\r
+ MNP_INSTANCE_DATA *Instance;\r
+ EFI_MANAGED_NETWORK_RECEIVE_DATA RxData;\r
+ NET_BUF *Nbuf;\r
+ UINT64 TimeoutTick;\r
} MNP_RXDATA_WRAP;\r
\r
-#define MNP_TX_BUF_WRAP_SIGNATURE SIGNATURE_32 ('M', 'T', 'B', 'W')\r
+#define MNP_TX_BUF_WRAP_SIGNATURE SIGNATURE_32 ('M', 'T', 'B', 'W')\r
\r
typedef struct {\r
- UINT32 Signature;\r
- LIST_ENTRY WrapEntry; // Link to FreeTxBufList\r
- LIST_ENTRY AllEntry; // Link to AllTxBufList\r
- BOOLEAN InUse;\r
- UINT8 TxBuf[1];\r
+ UINT32 Signature;\r
+ LIST_ENTRY WrapEntry; // Link to FreeTxBufList\r
+ LIST_ENTRY AllEntry; // Link to AllTxBufList\r
+ BOOLEAN InUse;\r
+ UINT8 TxBuf[1];\r
} MNP_TX_BUF_WRAP;\r
\r
/**\r
**/\r
EFI_STATUS\r
MnpInitializeDeviceData (\r
- IN OUT MNP_DEVICE_DATA *MnpDeviceData,\r
- IN EFI_HANDLE ImageHandle,\r
- IN EFI_HANDLE ControllerHandle\r
+ IN OUT MNP_DEVICE_DATA *MnpDeviceData,\r
+ IN EFI_HANDLE ImageHandle,\r
+ IN EFI_HANDLE ControllerHandle\r
);\r
\r
/**\r
**/\r
VOID\r
MnpDestroyDeviceData (\r
- IN OUT MNP_DEVICE_DATA *MnpDeviceData,\r
- IN EFI_HANDLE ImageHandle\r
+ IN OUT MNP_DEVICE_DATA *MnpDeviceData,\r
+ IN EFI_HANDLE ImageHandle\r
);\r
\r
/**\r
**/\r
MNP_SERVICE_DATA *\r
MnpCreateServiceData (\r
- IN MNP_DEVICE_DATA *MnpDeviceData,\r
- IN UINT16 VlanId,\r
- IN UINT8 Priority OPTIONAL\r
+ IN MNP_DEVICE_DATA *MnpDeviceData,\r
+ IN UINT16 VlanId,\r
+ IN UINT8 Priority OPTIONAL\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
MnpInitializeServiceData (\r
- IN OUT MNP_SERVICE_DATA *MnpServiceData,\r
- IN EFI_HANDLE ImageHandle,\r
- IN EFI_HANDLE ControllerHandle\r
+ IN OUT MNP_SERVICE_DATA *MnpServiceData,\r
+ IN EFI_HANDLE ImageHandle,\r
+ IN EFI_HANDLE ControllerHandle\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
MnpDestroyServiceData (\r
- IN OUT MNP_SERVICE_DATA *MnpServiceData\r
+ IN OUT MNP_SERVICE_DATA *MnpServiceData\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
MnpDestroyServiceChild (\r
- IN OUT MNP_SERVICE_DATA *MnpServiceData\r
+ IN OUT MNP_SERVICE_DATA *MnpServiceData\r
);\r
\r
/**\r
**/\r
MNP_SERVICE_DATA *\r
MnpFindServiceData (\r
- IN MNP_DEVICE_DATA *MnpDeviceData,\r
- IN UINT16 VlanId\r
+ IN MNP_DEVICE_DATA *MnpDeviceData,\r
+ IN UINT16 VlanId\r
);\r
\r
/**\r
**/\r
VOID\r
MnpInitializeInstanceData (\r
- IN MNP_SERVICE_DATA *MnpServiceData,\r
- IN OUT MNP_INSTANCE_DATA *Instance\r
+ IN MNP_SERVICE_DATA *MnpServiceData,\r
+ IN OUT MNP_INSTANCE_DATA *Instance\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
MnpTokenExist (\r
- IN NET_MAP *Map,\r
- IN NET_MAP_ITEM *Item,\r
- IN VOID *Arg\r
+ IN NET_MAP *Map,\r
+ IN NET_MAP_ITEM *Item,\r
+ IN VOID *Arg\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
MnpCancelTokens (\r
- IN OUT NET_MAP *Map,\r
- IN OUT NET_MAP_ITEM *Item,\r
- IN VOID *Arg\r
+ IN OUT NET_MAP *Map,\r
+ IN OUT NET_MAP_ITEM *Item,\r
+ IN VOID *Arg\r
);\r
\r
/**\r
**/\r
VOID\r
MnpFlushRcvdDataQueue (\r
- IN OUT MNP_INSTANCE_DATA *Instance\r
+ IN OUT MNP_INSTANCE_DATA *Instance\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
MnpConfigureInstance (\r
- IN OUT MNP_INSTANCE_DATA *Instance,\r
- IN EFI_MANAGED_NETWORK_CONFIG_DATA *ConfigData OPTIONAL\r
+ IN OUT MNP_INSTANCE_DATA *Instance,\r
+ IN EFI_MANAGED_NETWORK_CONFIG_DATA *ConfigData OPTIONAL\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
MnpGroupOp (\r
- IN OUT MNP_INSTANCE_DATA *Instance,\r
- IN BOOLEAN JoinFlag,\r
- IN EFI_MAC_ADDRESS *MacAddress OPTIONAL,\r
- IN MNP_GROUP_CONTROL_BLOCK *CtrlBlk OPTIONAL\r
+ IN OUT MNP_INSTANCE_DATA *Instance,\r
+ IN BOOLEAN JoinFlag,\r
+ IN EFI_MAC_ADDRESS *MacAddress OPTIONAL,\r
+ IN MNP_GROUP_CONTROL_BLOCK *CtrlBlk OPTIONAL\r
);\r
\r
/**\r
**/\r
BOOLEAN\r
MnpIsValidTxToken (\r
- IN MNP_INSTANCE_DATA *Instance,\r
- IN EFI_MANAGED_NETWORK_COMPLETION_TOKEN *Token\r
+ IN MNP_INSTANCE_DATA *Instance,\r
+ IN EFI_MANAGED_NETWORK_COMPLETION_TOKEN *Token\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
MnpBuildTxPacket (\r
- IN MNP_SERVICE_DATA *MnpServiceData,\r
- IN EFI_MANAGED_NETWORK_TRANSMIT_DATA *TxData,\r
- OUT UINT8 **PktBuf,\r
- OUT UINT32 *PktLen\r
+ IN MNP_SERVICE_DATA *MnpServiceData,\r
+ IN EFI_MANAGED_NETWORK_TRANSMIT_DATA *TxData,\r
+ OUT UINT8 **PktBuf,\r
+ OUT UINT32 *PktLen\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
MnpSyncSendPacket (\r
- IN MNP_SERVICE_DATA *MnpServiceData,\r
- IN UINT8 *Packet,\r
- IN UINT32 Length,\r
- IN OUT EFI_MANAGED_NETWORK_COMPLETION_TOKEN *Token\r
+ IN MNP_SERVICE_DATA *MnpServiceData,\r
+ IN UINT8 *Packet,\r
+ IN UINT32 Length,\r
+ IN OUT EFI_MANAGED_NETWORK_COMPLETION_TOKEN *Token\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
MnpInstanceDeliverPacket (\r
- IN OUT MNP_INSTANCE_DATA *Instance\r
+ IN OUT MNP_INSTANCE_DATA *Instance\r
);\r
\r
/**\r
VOID\r
EFIAPI\r
MnpRecycleRxData (\r
- IN EFI_EVENT Event,\r
- IN VOID *Context\r
+ IN EFI_EVENT Event,\r
+ IN VOID *Context\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
MnpReceivePacket (\r
- IN OUT MNP_DEVICE_DATA *MnpDeviceData\r
+ IN OUT MNP_DEVICE_DATA *MnpDeviceData\r
);\r
\r
/**\r
**/\r
NET_BUF *\r
MnpAllocNbuf (\r
- IN OUT MNP_DEVICE_DATA *MnpDeviceData\r
+ IN OUT MNP_DEVICE_DATA *MnpDeviceData\r
);\r
\r
/**\r
**/\r
VOID\r
MnpFreeNbuf (\r
- IN OUT MNP_DEVICE_DATA *MnpDeviceData,\r
- IN OUT NET_BUF *Nbuf\r
+ IN OUT MNP_DEVICE_DATA *MnpDeviceData,\r
+ IN OUT NET_BUF *Nbuf\r
);\r
\r
/**\r
**/\r
UINT8 *\r
MnpAllocTxBuf (\r
- IN OUT MNP_DEVICE_DATA *MnpDeviceData\r
+ IN OUT MNP_DEVICE_DATA *MnpDeviceData\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
MnpRecycleTxBuf (\r
- IN OUT MNP_DEVICE_DATA *MnpDeviceData\r
+ IN OUT MNP_DEVICE_DATA *MnpDeviceData\r
);\r
\r
/**\r
VOID\r
EFIAPI\r
MnpCheckPacketTimeout (\r
- IN EFI_EVENT Event,\r
- IN VOID *Context\r
+ IN EFI_EVENT Event,\r
+ IN VOID *Context\r
);\r
\r
/**\r
VOID\r
EFIAPI\r
MnpCheckMediaStatus (\r
- IN EFI_EVENT Event,\r
- IN VOID *Context\r
+ IN EFI_EVENT Event,\r
+ IN VOID *Context\r
);\r
\r
/**\r
VOID\r
EFIAPI\r
MnpSystemPoll (\r
- IN EFI_EVENT Event,\r
- IN VOID *Context\r
+ IN EFI_EVENT Event,\r
+ IN VOID *Context\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
MnpGetModeData (\r
- IN EFI_MANAGED_NETWORK_PROTOCOL *This,\r
- OUT EFI_MANAGED_NETWORK_CONFIG_DATA *MnpConfigData OPTIONAL,\r
- OUT EFI_SIMPLE_NETWORK_MODE *SnpModeData OPTIONAL\r
+ IN EFI_MANAGED_NETWORK_PROTOCOL *This,\r
+ OUT EFI_MANAGED_NETWORK_CONFIG_DATA *MnpConfigData OPTIONAL,\r
+ OUT EFI_SIMPLE_NETWORK_MODE *SnpModeData OPTIONAL\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
MnpConfigure (\r
- IN EFI_MANAGED_NETWORK_PROTOCOL *This,\r
- IN EFI_MANAGED_NETWORK_CONFIG_DATA *MnpConfigData OPTIONAL\r
+ IN EFI_MANAGED_NETWORK_PROTOCOL *This,\r
+ IN EFI_MANAGED_NETWORK_CONFIG_DATA *MnpConfigData OPTIONAL\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
MnpMcastIpToMac (\r
- IN EFI_MANAGED_NETWORK_PROTOCOL *This,\r
- IN BOOLEAN Ipv6Flag,\r
- IN EFI_IP_ADDRESS *IpAddress,\r
- OUT EFI_MAC_ADDRESS *MacAddress\r
+ IN EFI_MANAGED_NETWORK_PROTOCOL *This,\r
+ IN BOOLEAN Ipv6Flag,\r
+ IN EFI_IP_ADDRESS *IpAddress,\r
+ OUT EFI_MAC_ADDRESS *MacAddress\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
MnpGroups (\r
- IN EFI_MANAGED_NETWORK_PROTOCOL *This,\r
- IN BOOLEAN JoinFlag,\r
- IN EFI_MAC_ADDRESS *MacAddress OPTIONAL\r
+ IN EFI_MANAGED_NETWORK_PROTOCOL *This,\r
+ IN BOOLEAN JoinFlag,\r
+ IN EFI_MAC_ADDRESS *MacAddress OPTIONAL\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
MnpTransmit (\r
- IN EFI_MANAGED_NETWORK_PROTOCOL *This,\r
- IN EFI_MANAGED_NETWORK_COMPLETION_TOKEN *Token\r
+ IN EFI_MANAGED_NETWORK_PROTOCOL *This,\r
+ IN EFI_MANAGED_NETWORK_COMPLETION_TOKEN *Token\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
MnpCancel (\r
- IN EFI_MANAGED_NETWORK_PROTOCOL *This,\r
- IN EFI_MANAGED_NETWORK_COMPLETION_TOKEN *Token OPTIONAL\r
+ IN EFI_MANAGED_NETWORK_PROTOCOL *This,\r
+ IN EFI_MANAGED_NETWORK_COMPLETION_TOKEN *Token OPTIONAL\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
MnpReceive (\r
- IN EFI_MANAGED_NETWORK_PROTOCOL *This,\r
- IN EFI_MANAGED_NETWORK_COMPLETION_TOKEN *Token\r
+ IN EFI_MANAGED_NETWORK_PROTOCOL *This,\r
+ IN EFI_MANAGED_NETWORK_COMPLETION_TOKEN *Token\r
);\r
\r
/**\r
EFI_STATUS\r
EFIAPI\r
MnpPoll (\r
- IN EFI_MANAGED_NETWORK_PROTOCOL *This\r
+ IN EFI_MANAGED_NETWORK_PROTOCOL *This\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
MnpConfigReceiveFilters (\r
- IN MNP_DEVICE_DATA *MnpDeviceData\r
+ IN MNP_DEVICE_DATA *MnpDeviceData\r
);\r
\r
#endif\r