MAC_DRVR_EventAcknowledge Function
C
bool MAC_DRVR_EventAcknowledge( DRV_HANDLE hMac, TCPIP_MAC_EVENT tcpAckEv );
Returns
true if events acknowledged
false if no events to be acknowledged
Description
This function acknowledges and re-enables processed events. Multiple events can be ORed together as they are processed together. The events acknowledged by this function should be the events that have been retrieved from the stack by calling MAC_DRVR_EventPendingGet() or have been passed to the stack by the driver using the registered notification handler and have been processed and have to be re-enabled.
Remarks
All events should be acknowledged, in order to be re-enabled.
Some events are fatal errors and should not be acknowledged i.e. TCPIP_MAC_EV_RX_BUSERR, TCPIP_MAC_EV_TX_BUSERR. Driver/stack re-initialization is needed under such circumstances.
Some events are just system/application behavior and they are intended only as simple info, i.e. TCPIP_MAC_EV_RX_OVFLOW, TCPIP_MAC_EV_RX_BUFNA, TCPIP_MAC_EV_TX_ABORT, TCPIP_MAC_EV_RX_ACT.
If auto flow control is enabled, the TCPIP_MAC_EV_RX_FWMARK and TCPIP_MAC_EV_RX_EWMARK events are part of the normal flow control.
The events are persistent. They shouldn't be re-enabled unless they have been processed and the condition that generated them was removed. Re-enabling them immediately without proper processing will have dramatic effects on system performance.
Preconditions
MAC_DRVR_Initialize() should have been called.
MAC_DRVR_Open() should have been called to obtain a valid handle.
Parameters
Parameters | Description |
---|---|
hMac | Ethernet MAC client handle |
tcpAckEv | the events that the user processed and need to be re-enabled |