|
Contiki 3.x
|
The uIP TCP/IPv6 stack code. More...
#include "sys/cc.h"#include "net/ip/uip.h"#include "net/ip/uipopt.h"#include "net/ipv6/uip-icmp6.h"#include "net/ipv6/uip-nd6.h"#include "net/ipv6/uip-ds6.h"#include "net/ipv6/multicast/uip-mcast6.h"#include "rpl/rpl.h"#include "rpl/rpl-private.h"#include <string.h>#include "net/ip/uip-debug.h"Go to the source code of this file.
Macros | |
Buffer defines | |
| #define | FBUF ((struct uip_tcpip_hdr *)&uip_reassbuf[0]) |
| #define | UIP_IP_BUF ((struct uip_ip_hdr *)&uip_buf[UIP_LLH_LEN]) |
| #define | UIP_ICMP_BUF ((struct uip_icmp_hdr *)&uip_buf[uip_l2_l3_hdr_len]) |
| #define | UIP_UDP_BUF ((struct uip_udp_hdr *)&uip_buf[UIP_LLH_LEN + UIP_IPH_LEN]) |
| #define | UIP_TCP_BUF ((struct uip_tcp_hdr *)&uip_buf[UIP_LLH_LEN + UIP_IPH_LEN]) |
| #define | UIP_EXT_BUF ((struct uip_ext_hdr *)&uip_buf[uip_l2_l3_hdr_len]) |
| #define | UIP_ROUTING_BUF ((struct uip_routing_hdr *)&uip_buf[uip_l2_l3_hdr_len]) |
| #define | UIP_FRAG_BUF ((struct uip_frag_hdr *)&uip_buf[uip_l2_l3_hdr_len]) |
| #define | UIP_HBHO_BUF ((struct uip_hbho_hdr *)&uip_buf[uip_l2_l3_hdr_len]) |
| #define | UIP_DESTO_BUF ((struct uip_desto_hdr *)&uip_buf[uip_l2_l3_hdr_len]) |
| #define | UIP_EXT_HDR_OPT_BUF ((struct uip_ext_hdr_opt *)&uip_buf[uip_l2_l3_hdr_len + uip_ext_opt_offset]) |
| #define | UIP_EXT_HDR_OPT_PADN_BUF ((struct uip_ext_hdr_opt_padn *)&uip_buf[uip_l2_l3_hdr_len + uip_ext_opt_offset]) |
| #define | UIP_EXT_HDR_OPT_RPL_BUF ((struct uip_ext_hdr_opt_rpl *)&uip_buf[uip_l2_l3_hdr_len + uip_ext_opt_offset]) |
| #define | UIP_ICMP6_ERROR_BUF ((struct uip_icmp6_error *)&uip_buf[uip_l2_l3_icmp_hdr_len]) |
TCP defines | |
| #define | TCP_FIN 0x01 |
| #define | TCP_SYN 0x02 |
| #define | TCP_RST 0x04 |
| #define | TCP_PSH 0x08 |
| #define | TCP_ACK 0x10 |
| #define | TCP_URG 0x20 |
| #define | TCP_CTL 0x3f |
| #define | TCP_OPT_END 0 /* End of TCP options list */ |
| #define | TCP_OPT_NOOP 1 /* "No-operation" TCP option */ |
| #define | TCP_OPT_MSS 2 /* Maximum segment size TCP option */ |
| #define | TCP_OPT_MSS_LEN 4 /* Length of TCP MSS option. */ |
Functions | |
| void | uip_add32 (uint8_t *op32, uint16_t op16) |
| Carry out a 32-bit addition. More... | |
| uint16_t | uip_chksum (uint16_t *data, uint16_t len) |
| Calculate the Internet checksum over a buffer. More... | |
| uint16_t | uip_ipchksum (void) |
| Calculate the IP header checksum of the packet header in uip_buf. More... | |
| uint16_t | uip_tcpchksum (void) |
| Calculate the TCP checksum of the packet in uip_buf and uip_appdata. More... | |
| void | uip_init (void) |
| uIP initialization function. More... | |
| struct uip_udp_conn * | uip_udp_new (const uip_ipaddr_t *ripaddr, uint16_t rport) |
| Set up a new UDP connection. More... | |
| void | uip_unlisten (uint16_t port) |
| Stop listening to the specified port. More... | |
| void | uip_listen (uint16_t port) |
| Start listening to the specified port. More... | |
| void | uip_reass_over (void) |
| Abandon the reassembly of the current packet. More... | |
| static uint8_t | ext_hdr_options_process (void) |
| Process the options in Destination and Hop By Hop extension headers. | |
| uint16_t | uip_htons (uint16_t val) |
| Convert a 16-bit quantity from host byte order to network byte order. More... | |
| void | uip_send (const void *data, int len) |
| Send data on the current connection. More... | |
Variables | |
| struct etimer | uip_reass_timer |
| Timer for reassembly. | |
Layer 2 variables | |
| uip_lladdr_t | uip_lladdr = {{0x00,0x06,0x98,0x00,0x02,0x32}} |
| Host L2 address. | |
Layer 3 variables | |
| uint8_t * | uip_next_hdr |
| Type of the next header in IPv6 header or extension headers. More... | |
| uint8_t | uip_ext_bitmap = 0 |
| bitmap we use to record which IPv6 headers we have already seen | |
| uint8_t | uip_ext_len = 0 |
| length of the extension headers read. More... | |
| uint8_t | uip_ext_opt_offset = 0 |
| length of the header options read | |
Buffer variables | |
| uip_buf_t | uip_aligned_buf |
| Packet buffer for incoming and outgoing packets. | |
| void * | uip_appdata |
| Pointer to the application data in the packet buffer. More... | |
| void * | uip_sappdata |
| uint16_t | uip_len |
| The length of the packet in the uip_buf buffer. More... | |
| uint16_t | uip_slen |
General variables | |
| uint8_t | uip_flags |
| struct uip_conn * | uip_conn |
| Pointer to the current TCP connection. More... | |
| static uint16_t | lastport |
TCP variables | |
| struct uip_conn | uip_conns [UIP_CONNS] |
| uint16_t | uip_listenports [UIP_LISTENPORTS] |
| static uint8_t | iss [4] |
| uint8_t | uip_acc32 [4] |
| 4-byte array used for the 32-bit sequence number calculations. | |
UDP variables | |
| struct uip_udp_conn * | uip_udp_conn |
| The current UDP connection. | |
| struct uip_udp_conn | uip_udp_conns [UIP_UDP_CONNS] |
ICMPv6 variables | |
| struct uip_icmp6_conn | uip_icmp6_conns |
| single possible icmpv6 "connection" | |
The uIP TCP/IPv6 stack code.
Definition in file uip6.c.
1.8.6