Changeset 158 for uKadecot/trunk/uip/net/ipv4/uip.c
- Timestamp:
- Feb 20, 2016, 10:43:32 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uKadecot/trunk/uip/net/ipv4/uip.c
r157 r158 80 80 */ 81 81 82 #include " uip.h"83 #include " uipopt.h"84 #include " uip_arch.h"82 #include "net/ip/uip.h" 83 #include "net/ip/uipopt.h" 84 #include "net/ip/uip_arch.h" 85 85 86 86 #if UIP_CONF_IPV6 87 #include " uip-neighbor.h"87 #include "net/ipv4/uip-neighbor.h" 88 88 #endif /* UIP_CONF_IPV6 */ 89 89 … … 137 137 138 138 #ifndef UIP_CONF_EXTERNAL_BUFFER 139 u 8_t uip_buf[UIP_BUFSIZE + 2]; /* The packet buffer that contains139 uint8_t uip_buf[UIP_BUFSIZE + 2]; /* The packet buffer that contains 140 140 incoming packets. */ 141 141 #endif /* UIP_CONF_EXTERNAL_BUFFER */ … … 150 150 urgent data (out-of-band data), if 151 151 present. */ 152 u 16_t uip_urglen, uip_surglen;152 uint16_t uip_urglen, uip_surglen; 153 153 #endif /* UIP_URGDATA > 0 */ 154 154 155 u 16_t uip_len, uip_slen;155 uint16_t uip_len, uip_slen; 156 156 /* The uip_len is either 8 or 16 bits, 157 157 depending on the maximum packet 158 158 size. */ 159 159 160 u 8_t uip_flags; /* The uip_flags variable is used for160 uint8_t uip_flags; /* The uip_flags variable is used for 161 161 communication between the TCP/IP stack 162 162 and the application program. */ … … 167 167 /* The uip_conns array holds all TCP 168 168 connections. */ 169 u 16_t uip_listenports[UIP_LISTENPORTS];169 uint16_t uip_listenports[UIP_LISTENPORTS]; 170 170 /* The uip_listenports list all currently 171 171 listning ports. */ … … 175 175 #endif /* UIP_UDP */ 176 176 177 static u 16_t ipid; /* Ths ipid variable is an increasing177 static uint16_t ipid; /* Ths ipid variable is an increasing 178 178 number that is used for the IP ID 179 179 field. */ 180 180 181 void uip_setipid(u 16_t id) { ipid = id; }182 183 static u 8_t iss[4]; /* The iss variable is used for the TCP181 void uip_setipid(uint16_t id) { ipid = id; } 182 183 static uint8_t iss[4]; /* The iss variable is used for the TCP 184 184 initial sequence number. */ 185 185 186 186 #if UIP_ACTIVE_OPEN 187 static u 16_t lastport; /* Keeps track of the last port used for187 static uint16_t lastport; /* Keeps track of the last port used for 188 188 a new connection. */ 189 189 #endif /* UIP_ACTIVE_OPEN */ 190 190 191 191 /* Temporary variables. */ 192 u 8_t uip_acc32[4];193 static u 8_t c, opt;194 static u 16_t tmp16;192 uint8_t uip_acc32[4]; 193 static uint8_t c, opt; 194 static uint16_t tmp16; 195 195 196 196 /* Structures and definitions. */ … … 247 247 #if ! UIP_ARCH_ADD32 248 248 void 249 uip_add32(u 8_t *op32, u16_t op16)249 uip_add32(uint8_t *op32, uint16_t op16) 250 250 { 251 251 uip_acc32[3] = op32[3] + (op16 & 0xff); … … 277 277 #if ! UIP_ARCH_CHKSUM 278 278 /*---------------------------------------------------------------------------*/ 279 static u 16_t280 chksum(u 16_t sum, const u8_t *data, u16_t len)279 static uint16_t 280 chksum(uint16_t sum, const uint8_t *data, uint16_t len) 281 281 { 282 u 16_t t;283 const u 8_t *dataptr;284 const u 8_t *last_byte;282 uint16_t t; 283 const uint8_t *dataptr; 284 const uint8_t *last_byte; 285 285 286 286 dataptr = data; … … 308 308 } 309 309 /*---------------------------------------------------------------------------*/ 310 u 16_t311 uip_chksum(u 16_t *data, u16_t len)310 uint16_t 311 uip_chksum(uint16_t *data, uint16_t len) 312 312 { 313 return htons(chksum(0, (u 8_t *)data, len));313 return htons(chksum(0, (uint8_t *)data, len)); 314 314 } 315 315 /*---------------------------------------------------------------------------*/ 316 316 #ifndef UIP_ARCH_IPCHKSUM 317 u 16_t317 uint16_t 318 318 uip_ipchksum(void) 319 319 { 320 u 16_t sum;320 uint16_t sum; 321 321 322 322 sum = chksum(0, &uip_buf[UIP_LLH_LEN], UIP_IPH_LEN); … … 326 326 #endif 327 327 /*---------------------------------------------------------------------------*/ 328 static u 16_t329 upper_layer_chksum(u 8_t proto)328 static uint16_t 329 upper_layer_chksum(uint8_t proto) 330 330 { 331 u 16_t upper_layer_len;332 u 16_t sum;331 uint16_t upper_layer_len; 332 uint16_t sum; 333 333 334 334 #if UIP_CONF_IPV6 335 upper_layer_len = (((u 16_t)(BUF->len[0]) << 8) + BUF->len[1]);335 upper_layer_len = (((uint16_t)(BUF->len[0]) << 8) + BUF->len[1]); 336 336 #else /* UIP_CONF_IPV6 */ 337 upper_layer_len = (((u 16_t)(BUF->len[0]) << 8) + BUF->len[1]) - UIP_IPH_LEN;337 upper_layer_len = (((uint16_t)(BUF->len[0]) << 8) + BUF->len[1]) - UIP_IPH_LEN; 338 338 #endif /* UIP_CONF_IPV6 */ 339 339 … … 343 343 sum = upper_layer_len + proto; 344 344 /* Sum IP source and destination addresses. */ 345 sum = chksum(sum, (u 8_t *)&BUF->srcipaddr[0], 2 * sizeof(uip_ipaddr_t));345 sum = chksum(sum, (uint8_t *)&BUF->srcipaddr[0], 2 * sizeof(uip_ipaddr_t)); 346 346 347 347 /* Sum TCP header and data. */ … … 353 353 /*---------------------------------------------------------------------------*/ 354 354 #if UIP_CONF_IPV6 355 u 16_t355 uint16_t 356 356 uip_icmp6chksum(void) 357 357 { … … 361 361 #endif /* UIP_CONF_IPV6 */ 362 362 /*---------------------------------------------------------------------------*/ 363 u 16_t363 uint16_t 364 364 uip_tcpchksum(void) 365 365 { … … 368 368 /*---------------------------------------------------------------------------*/ 369 369 #if UIP_UDP_CHECKSUMS 370 u 16_t370 uint16_t 371 371 uip_udpchksum(void) 372 372 { … … 375 375 #endif /* UIP_UDP_CHECKSUMS */ 376 376 #endif /* UIP_ARCH_CHKSUM */ 377 u 8_t377 uint8_t 378 378 uip_ismulticast(uip_ipaddr_t ipaddr) 379 379 { … … 381 381 return 0; 382 382 #else 383 static const u 16_t multicast_ipaddr[2] = { 0x00e0, 0x0000 };384 static const u 16_t multicast_mask[2] = { 0x00f0, 0x0000 };383 static const uint16_t multicast_ipaddr[2] = { 0x00e0, 0x0000 }; 384 static const uint16_t multicast_mask[2] = { 0x00f0, 0x0000 }; 385 385 return uip_ipaddr_maskcmp(ipaddr, multicast_ipaddr, multicast_mask); 386 386 #endif … … 416 416 #if UIP_ACTIVE_OPEN 417 417 struct uip_conn * 418 uip_connect(uip_ipaddr_t *ripaddr, u 16_t rport)418 uip_connect(uip_ipaddr_t *ripaddr, uint16_t rport) 419 419 { 420 420 register struct uip_conn *conn, *cconn; … … 482 482 #if UIP_UDP 483 483 struct uip_udp_conn * 484 uip_udp_new(uip_ipaddr_t *ripaddr, u 16_t rport)484 uip_udp_new(uip_ipaddr_t *ripaddr, uint16_t rport) 485 485 { 486 486 register struct uip_udp_conn *conn; … … 527 527 /*---------------------------------------------------------------------------*/ 528 528 void 529 uip_unlisten(u 16_t port)529 uip_unlisten(uint16_t port) 530 530 { 531 531 for(c = 0; c < UIP_LISTENPORTS; ++c) { … … 538 538 /*---------------------------------------------------------------------------*/ 539 539 void 540 uip_listen(u 16_t port)540 uip_listen(uint16_t port) 541 541 { 542 542 for(c = 0; c < UIP_LISTENPORTS; ++c) { … … 552 552 #if UIP_REASSEMBLY && !UIP_CONF_IPV6 553 553 #define UIP_REASS_BUFSIZE (UIP_BUFSIZE - UIP_LLH_LEN) 554 static u 8_t uip_reassbuf[UIP_REASS_BUFSIZE];555 static u 8_t uip_reassbitmap[UIP_REASS_BUFSIZE / (8 * 8)];556 static const u 8_t bitmap_bits[8] = {0xff, 0x7f, 0x3f, 0x1f,554 static uint8_t uip_reassbuf[UIP_REASS_BUFSIZE]; 555 static uint8_t uip_reassbitmap[UIP_REASS_BUFSIZE / (8 * 8)]; 556 static const uint8_t bitmap_bits[8] = {0xff, 0x7f, 0x3f, 0x1f, 557 557 0x0f, 0x07, 0x03, 0x01}; 558 static u 16_t uip_reasslen;559 static u 8_t uip_reassflags;558 static uint16_t uip_reasslen; 559 static uint8_t uip_reassflags; 560 560 #define UIP_REASS_FLAG_LASTFRAG 0x01 561 static u 8_t uip_reasstmr;561 static uint8_t uip_reasstmr; 562 562 563 563 #define IP_MF 0x20 564 564 565 static u 8_t565 static uint8_t 566 566 uip_reass(void) 567 567 { 568 u 16_t offset, len;569 u 16_t i;568 uint16_t offset, len; 569 uint16_t i; 570 570 571 571 /* If ip_reasstmr is zero, no packet is present in the buffer, so we … … 653 653 right amount of bits. */ 654 654 if(uip_reassbitmap[uip_reasslen / (8 * 8)] != 655 (u 8_t)~bitmap_bits[uip_reasslen / 8 & 7]) {655 (uint8_t)~bitmap_bits[uip_reasslen / 8 & 7]) { 656 656 goto nullreturn; 657 657 } … … 681 681 /*---------------------------------------------------------------------------*/ 682 682 static void 683 uip_add_rcv_nxt(u 16_t n)683 uip_add_rcv_nxt(uint16_t n) 684 684 { 685 685 uip_add32(uip_conn->rcv_nxt, n); … … 691 691 /*---------------------------------------------------------------------------*/ 692 692 void 693 uip_process(u 8_t flag)693 uip_process(uint8_t flag) 694 694 { 695 695 register struct uip_conn *uip_connr = uip_conn; … … 1349 1349 uip_buf[UIP_TCPIP_HLEN + UIP_LLH_LEN + 1 + c] == TCP_OPT_MSS_LEN) { 1350 1350 /* An MSS option with the right option length. */ 1351 tmp16 = ((u 16_t)uip_buf[UIP_TCPIP_HLEN + UIP_LLH_LEN + 2 + c] << 8) |1352 (u 16_t)uip_buf[UIP_IPTCPH_LEN + UIP_LLH_LEN + 3 + c];1351 tmp16 = ((uint16_t)uip_buf[UIP_TCPIP_HLEN + UIP_LLH_LEN + 2 + c] << 8) | 1352 (uint16_t)uip_buf[UIP_IPTCPH_LEN + UIP_LLH_LEN + 3 + c]; 1353 1353 uip_connr->initialmss = uip_connr->mss = 1354 1354 tmp16 > UIP_TCP_MSS? UIP_TCP_MSS: tmp16; … … 1631 1631 "persistent timer" and uses the retransmission mechanim. 1632 1632 */ 1633 tmp16 = ((u 16_t)BUF->wnd[0] << 8) + (u16_t)BUF->wnd[1];1633 tmp16 = ((uint16_t)BUF->wnd[0] << 8) + (uint16_t)BUF->wnd[1]; 1634 1634 if(tmp16 > uip_connr->initialmss || 1635 1635 tmp16 == 0) { … … 1891 1891 } 1892 1892 /*---------------------------------------------------------------------------*/ 1893 u 16_t1894 htons(u 16_t val)1893 uint16_t 1894 htons(uint16_t val) 1895 1895 { 1896 1896 return HTONS(val);
Note:
See TracChangeset
for help on using the changeset viewer.