RtndFreeTxFrameDataBuffers
RtndFreeTxFrameDataBuffers frees a set of transmit frame data buffers previously allocated by RtndAllocateTxFrameDataBuffers.
Syntax
BOOL RtndFreeTxFrameDataBuffers(
[in] ULONG_PTR RtndInterfaceId,
[in] ULONG TxQueueIndex,
[in] RTND_BUFFER_HEADER *pBufferHeader
);
Parameters
[in] RtndInterfaceId
A number or pointer returned by RtndManageInterface, used to identify the interface
[in] TxQueueIndex
An index of the Transmit Queue.
[in] pBufferHeader
A head of a linked list of the buffer headers associated with the frame data buffers to free.
Return Value
If the function succeeds, it returns TRUE. If the function fails, it returns FALSE. To get extended error information, call GetLastError.
Remarks
This function is called by the NL2 from within the RTND_CALLBACKS.DestroyTxBuffers callback function.
The NL2 guarantees that the passed linked list of buffer headers contains exactly the same elements as the one passed in a previous call to RtndAllocateTxFrameDataBuffers, in the same order. The NL2 knows which buffer belongs to which set, and frees buffers by sets rather than individually.
The driver can retrieve the addresses of the different memory blocks that compose the set by looking at the buffer headers. In general, a driver will always allocate its buffers the same way (either as a single block or as one block per buffer), so the driver should be able to free the buffers. If necessary, the driver can use the DriverTag field of the buffer headers to store information about how to free the buffers. For example, the driver could set DriverTag to 1 for buffers which are the first of their block, and 0 for the others.
Characteristics
Real-time requirements | ||
Deterministic behavior |
Not required |
|
Local memory allocation/deallocation restrictions | ||
Process |
External MSpace |
Internal MSpace |
System |
Not allowed |
Not allowed |
Process |
Allowed |
Not allowed |
Contiguous memory allocation/deallocation restrictions | ||
Contiguous memory |
Allowed |
Requirements
Minimum supported version | Header |
---|---|
eRTOS 1.0 SDK |
Rtnd.h |
See Also: