Receiving Packets on a Network Device
NetDev_Rx()
is called by μC/TCP-IP’s Receive task after the Interrupt Service Routine handler has signaled to the Receive task that a receive event has occurred. NetDev_Rx()
requires that the device driver return a pointer to the data area containing the received data and return the size of the received frame via pointer.
NetDev_Rx()
should perform the following actions:
*size
to 0 and *p_data
to (CPU_INT08U *)0
and return. Additional steps may be necessary depending on the device being serviced.*size
to the adjusted frame size.NetBuf_GetDataPtr()
. If memory is not available, an error will be returned and the device driver should set *size
to 0 and *p_data
to (CPU_INT08U *)0
. *p_data
must be set to the address of the data area.perr
to NET_DEV_ERR_NONE
and return from the receive function. Otherwise, set perr
to an appropriate network device error code.