Changeset 975d528 in mainline for uspace/srv/net/tcp/tcp_type.h
- Timestamp:
- 2017-09-10T17:48:58Z (7 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- e1b4ae0
- Parents:
- 12dcd5f
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/net/tcp/tcp_type.h
r12dcd5f r975d528 126 126 } tcp_iqueue_t; 127 127 128 /** Retransmission queue */129 typedef struct {130 struct tcp_conn *conn;131 list_t list;132 133 /** Retransmission timer */134 fibril_timer_t *timer;135 } tcp_tqueue_t;136 137 128 /** Active or passive connection */ 138 129 typedef enum { … … 156 147 void (*recv_data)(tcp_conn_t *, void *); 157 148 } tcp_cb_t; 149 150 /** Data returned by Status user call */ 151 typedef struct { 152 /** Connection state */ 153 tcp_cstate_t cstate; 154 } tcp_conn_status_t; 155 156 typedef struct { 157 /** SYN, FIN */ 158 tcp_control_t ctrl; 159 160 /** Segment sequence number */ 161 uint32_t seq; 162 /** Segment acknowledgement number */ 163 uint32_t ack; 164 /** Segment length in sequence space */ 165 uint32_t len; 166 /** Segment window */ 167 uint32_t wnd; 168 /** Segment urgent pointer */ 169 uint32_t up; 170 171 /** Segment data, may be moved when trimming segment */ 172 void *data; 173 /** Segment data, original pointer used to free data */ 174 void *dfptr; 175 } tcp_segment_t; 176 177 /** Receive queue entry */ 178 typedef struct { 179 link_t link; 180 inet_ep2_t epp; 181 tcp_segment_t *seg; 182 } tcp_rqueue_entry_t; 183 184 /** Receive queue callbacks */ 185 typedef struct { 186 /** Segment received */ 187 void (*seg_received)(inet_ep2_t *, tcp_segment_t *); 188 } tcp_rqueue_cb_t; 189 190 /** NCSim queue entry */ 191 typedef struct { 192 link_t link; 193 suseconds_t delay; 194 inet_ep2_t epp; 195 tcp_segment_t *seg; 196 } tcp_squeue_entry_t; 197 198 /** Incoming queue entry */ 199 typedef struct { 200 link_t link; 201 tcp_segment_t *seg; 202 } tcp_iqueue_entry_t; 203 204 /** Retransmission queue entry */ 205 typedef struct { 206 link_t link; 207 tcp_conn_t *conn; 208 tcp_segment_t *seg; 209 } tcp_tqueue_entry_t; 210 211 /** Retransmission queue callbacks */ 212 typedef struct { 213 /** Segment received */ 214 void (*transmit_seg)(inet_ep2_t *, tcp_segment_t *); 215 } tcp_tqueue_cb_t; 216 217 /** Retransmission queue */ 218 typedef struct { 219 struct tcp_conn *conn; 220 list_t list; 221 222 /** Retransmission timer */ 223 fibril_timer_t *timer; 224 225 /** Callbacks */ 226 tcp_tqueue_cb_t *cb; 227 } tcp_tqueue_t; 158 228 159 229 /** Connection */ … … 246 316 }; 247 317 248 /** Data returned by Status user call */249 typedef struct {250 /** Connection state */251 tcp_cstate_t cstate;252 } tcp_conn_status_t;253 254 typedef struct {255 /** SYN, FIN */256 tcp_control_t ctrl;257 258 /** Segment sequence number */259 uint32_t seq;260 /** Segment acknowledgement number */261 uint32_t ack;262 /** Segment length in sequence space */263 uint32_t len;264 /** Segment window */265 uint32_t wnd;266 /** Segment urgent pointer */267 uint32_t up;268 269 /** Segment data, may be moved when trimming segment */270 void *data;271 /** Segment data, original pointer used to free data */272 void *dfptr;273 } tcp_segment_t;274 275 /** Receive queue entry */276 typedef struct {277 link_t link;278 inet_ep2_t epp;279 tcp_segment_t *seg;280 } tcp_rqueue_entry_t;281 282 /** Receive queue callbacks */283 typedef struct {284 /** Segment received */285 void (*seg_received)(inet_ep2_t *, tcp_segment_t *);286 } tcp_rqueue_cb_t;287 288 /** NCSim queue entry */289 typedef struct {290 link_t link;291 suseconds_t delay;292 inet_ep2_t epp;293 tcp_segment_t *seg;294 } tcp_squeue_entry_t;295 296 /** Incoming queue entry */297 typedef struct {298 link_t link;299 tcp_segment_t *seg;300 } tcp_iqueue_entry_t;301 302 /** Retransmission queue entry */303 typedef struct {304 link_t link;305 tcp_conn_t *conn;306 tcp_segment_t *seg;307 } tcp_tqueue_entry_t;308 309 318 /** Continuation of processing. 310 319 *
Note:
See TracChangeset
for help on using the changeset viewer.