Changes in uspace/srv/net/tcp/pdu.c [2f19103:5a324d99] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/net/tcp/pdu.c
r2f19103 r5a324d99 1 1 /* 2 * Copyright (c) 201 5Jiri Svoboda2 * Copyright (c) 2011 Jiri Svoboda 3 3 * All rights reserved. 4 4 * … … 38 38 #include <byteorder.h> 39 39 #include <errno.h> 40 #include <inet/endpoint.h>41 40 #include <mem.h> 42 41 #include <stdlib.h> … … 126 125 } 127 126 128 static void tcp_header_setup( inet_ep2_t *epp, tcp_segment_t *seg, tcp_header_t *hdr)127 static void tcp_header_setup(tcp_sockpair_t *sp, tcp_segment_t *seg, tcp_header_t *hdr) 129 128 { 130 129 uint16_t doff_flags; 131 130 uint16_t doff; 132 131 133 hdr->src_port = host2uint16_t_be( epp->local.port);134 hdr->dest_port = host2uint16_t_be( epp->remote.port);132 hdr->src_port = host2uint16_t_be(sp->local.port); 133 hdr->dest_port = host2uint16_t_be(sp->foreign.port); 135 134 hdr->seq = host2uint32_t_be(seg->seq); 136 135 hdr->ack = host2uint32_t_be(seg->ack); … … 191 190 } 192 191 193 static int tcp_header_encode( inet_ep2_t *epp, tcp_segment_t *seg,192 static int tcp_header_encode(tcp_sockpair_t *sp, tcp_segment_t *seg, 194 193 void **header, size_t *size) 195 194 { … … 200 199 return ENOMEM; 201 200 202 tcp_header_setup( epp, seg, hdr);201 tcp_header_setup(sp, seg, hdr); 203 202 *header = hdr; 204 203 *size = sizeof(tcp_header_t); … … 294 293 295 294 /** Decode incoming PDU */ 296 int tcp_pdu_decode(tcp_pdu_t *pdu, inet_ep2_t *epp, tcp_segment_t **seg)295 int tcp_pdu_decode(tcp_pdu_t *pdu, tcp_sockpair_t *sp, tcp_segment_t **seg) 297 296 { 298 297 tcp_segment_t *nseg; … … 308 307 hdr = (tcp_header_t *)pdu->header; 309 308 310 epp->local.port = uint16_t_be2host(hdr->dest_port);311 epp->local.addr = pdu->dest;312 epp->remote.port = uint16_t_be2host(hdr->src_port);313 epp->remote.addr = pdu->src;309 sp->local.port = uint16_t_be2host(hdr->dest_port); 310 sp->local.addr = pdu->dest; 311 sp->foreign.port = uint16_t_be2host(hdr->src_port); 312 sp->foreign.addr = pdu->src; 314 313 315 314 *seg = nseg; … … 318 317 319 318 /** Encode outgoing PDU */ 320 int tcp_pdu_encode( inet_ep2_t *epp, tcp_segment_t *seg, tcp_pdu_t **pdu)319 int tcp_pdu_encode(tcp_sockpair_t *sp, tcp_segment_t *seg, tcp_pdu_t **pdu) 321 320 { 322 321 tcp_pdu_t *npdu; … … 328 327 return ENOMEM; 329 328 330 npdu->src = epp->local.addr;331 npdu->dest = epp->remote.addr;332 tcp_header_encode( epp, seg, &npdu->header, &npdu->header_size);329 npdu->src = sp->local.addr; 330 npdu->dest = sp->foreign.addr; 331 tcp_header_encode(sp, seg, &npdu->header, &npdu->header_size); 333 332 334 333 text_size = tcp_segment_text_size(seg);
Note:
See TracChangeset
for help on using the changeset viewer.