MAC_DRVR_PacketTx Function

C

TCPIP_MAC_RES MAC_DRVR_PacketTx(DRV_HANDLE hMac, TCPIP_MAC_PACKET * ptrPacket);

Returns

  • TCPIP_MAC_RES_OK if success

  • a TCPIP_MAC_RES error value if failed

Description

This is the MAC transmit function. Using this function a packet is submitted to the MAC driver for transmission.

Remarks

  • The MAC driver supports internal queuing. A packet is rejected only if it's not properly formatted. Otherwise it will be scheduled for transmission and queued internally if needed.

  • Once the packet is scheduled for transmission the MAC driver will set the TCPIP_MAC_PKT_FLAG_QUEUED flag so that the stack is aware that this packet is under processing and cannot be modified.

  • Once the packet is transmitted, the TCPIP_MAC_PKT_FLAG_QUEUED will be cleared, the proper packet acknowledgment result (ackRes) will be set and the packet acknowledgment function (ackFunc) will be called.

Preconditions

  • MAC_DRVR_Initialize() should have been called.

  • MAC_DRVR_Open() should have been called to obtain a valid handle.

Parameters

ParametersDescription
hMacEthernet MAC client handle
ptrPacketpointer to a TCPIP_MAC_PACKET that's completely formatted and ready to be transmitted over the network