EVE 1.0
usbnet_tx_buf_t Struct Reference

#include <usbnet.h>

Collaboration diagram for usbnet_tx_buf_t:

Data Fields

struct dlist_tbacklog
 
uint32_t seq
 
struct process * device
 
uint8_t data [USBNET_TX_BUF_SIZE]
 

Detailed Description

USB TX buffer (general and managed pools).

The TX buffers are more complicated than RX buffers, because they are used also to accelerate TCP retransmissions. When an URB with TCP payload is transmitted, usbnet does not free it automatically, but rather puts it to a retransmission list of the socket, so-called "backlog". Responsibility to free (or retransmit) the URB lays on UIP code in this case. Like in usbnet_rx_buf_t, urb->buf points to the .data field of the structure.

Definition at line 103 of file usbnet.h.

Field Documentation

struct dlist_t* usbnet_tx_buf_t::backlog

The backlog the buffer belongs to

Definition at line 105 of file usbnet.h.

uint32_t usbnet_tx_buf_t::seq

Internally used for indexing in UIP

Definition at line 106 of file usbnet.h.

struct process* usbnet_tx_buf_t::device

Pointer to the network device

Definition at line 107 of file usbnet.h.

uint8_t usbnet_tx_buf_t::data[USBNET_TX_BUF_SIZE]

The actual data buffer

Definition at line 108 of file usbnet.h.