Attaches a set of transmit buffers to the designated endpoint as described in a HPETXBUFFERSET or HPETXSTREAMBUFFERSET structure. Data in these buffers will be accessed directly by the DMA engine of the queue. Each buffer may be defined as a number (up to four) of fragments which will be chained together when the frame is transmitted.
HPESTATUS mhpeAttachTransmitBufferSet(
MPEHANDLE ephandle,
MHPETXBUFFERSET *tx_buffer_set
);
Parameters
ephandle
- A tx endpoint handle.
tx_buffer_set
- A pointer to the transmit buffer set to attach to the endpoint.
Return Values
An HPESTATUS value indicating the success or failure of the operation.
Status
E_OK
- The operation completed successfully.
E_EXIST
- The handle given is not a valid transmit endpoint handle.
E_INVALID_ADDR
- The tx_buffer_set parameter was not a valid pointer.
E_PARAM
- At least one of the tx_buffer_set, fragment_count or buffer_count fields was zero, or too big for the buffer allocated.
E_STATE
- The transmit engine was active at the time of the call and it was not possible to attach the buffers.
E_LIMIT
- One of:
- The transmit descriptor list is full; no more buffers can be added. The size of the transmitter buffer queue can be set when the driver is loaded.
- The queue_index parameter is out of bounds for the current hardware interface.
E_TRANSMISSION
- The physical link is down; no buffers can be added to the queue.
If this condition is received, terminate any outstanding receive operation, then close the interface (hpeClose) and reinitialize the software before reopening the interface.
Requirements
Versions |
Defined in |
Include |
Link to |
INtime 7.1 |
intime/rt/include/mhpeif.h |
mhpeif.h |
mhpeif.lib |
See Also