Configuration options for uIP.
This file is used for tweaking various configuration options for uIP. You should make a copy of this file into one of your project's directories instead of editing this example "uipopt.h" file that comes with the uIP distribution.
This file is part of the uIP TCP/IP stack.
Modification for weAutSys by A. Weinert concern: typos, Doxygen errors and adaption.
Adam Dunkels' original copyright notice
Copyright (c) 2001-2003, Adam Dunkels. All rights reserved.
(contained in this file) still holds. For modifications:
Copyright © 2011 Albrecht Weinert, Bochum
Defines | |
Static configuration options | |
These configuration options can be used for setting the IP address settings statically, but only if UIP_FIXEDADDR is set to 1. The configuration options for a specific node includes IP address, netmask and default router as well as the Ethernet address. The netmask, default router and Ethernet address are applicable only if uIP should be run over Ethernet. All of these should be changed to suit your project. | |
#define | UIP_FIXEDADDR |
Determines if uIP should use a fixed IP address or not. | |
#define | UIP_PINGADDRCONF |
Ping IP address assignment. | |
IP configuration options | |
#define | UIP_TTL |
The IP TTL (time to live) of IP packets sent by uIP. | |
#define | UIP_REASSEMBLY |
Turn on support for IP packet re-assembly. | |
#define | UIP_REASS_MAXAGE |
maximum wait time an IP fragment in the re-assembly buffer | |
UDP configuration options | |
#define | UIP_UDP |
UDP support should be compiled in (or not) | |
#define | UIP_UDP_CHECKSUMS |
Checksums should be used (or not) | |
#define | UIP_INC_CHECKSUMS 0 |
Check incoming checksums on or off. | |
#define | UIP_UDP_CONNS |
Maximum amount of concurrent UDP connections. | |
TCP configuration options | |
#define | UIP_ACTIVE_OPEN |
Support for opening connections from uIP should be compiled in (ot not) | |
#define | UIP_CONNS |
The maximum number of simultaneously open TCP connections. | |
#define | UIP_LISTENPORTS |
The maximum number of simultaneously listening TCP ports. | |
#define | UIP_URGDATA |
Support for TCP urgent data notification should be compiled in (or not) | |
#define | UIP_RTO |
The initial retransmission timeout counted in timer pulses. | |
#define | UIP_MAXRTX |
The maximum number of times a segment should be retransmitted. | |
#define | UIP_MAXSYNRTX |
The maximum number of times a SYN segment should be retransmitted. | |
#define | UIP_TCP_MSS |
The TCP maximum segment size. | |
#define | UIP_RECEIVE_WINDOW |
The size of the advertised receiver's window. | |
#define | UIP_TIME_WAIT_TIMEOUT |
How long a connection should stay in the TIME_WAIT state. | |
ARP configuration options | |
#define | UIP_ARPTAB_SIZE |
The size of the ARP table. | |
#define | UIP_ARP_MAXAGE |
The maximum age of ARP table entries measured in 10 seconds unit. | |
CPU architecture configuration | |
The CPU architecture configuration is where the endianess of the CPU on which uIP is to be run is specified. Most CPUs today are little endian, including Intel (x86) and ATmega. The most notable exception are Motorola's CPUs which are big endian. The BYTE_ORDER macro must reflect the CPU architecture on which uIP is to be run. | |
#define | UIP_BYTE_ORDER |
The byte order of the CPU on which uIP is to be run. | |
#define | UIP_ARCH_ADD32 |
There is a platform implementation of 32bit big endian addition. | |
General configuration options | |
#define | UIP_BUFSIZE |
The size of the uIP packet buffer. | |
#define | UIP_STATISTICS |
Statistics support should be compiled in (or not) | |
#define | UIP_LOGGING |
Logging of certain events should be compiled in (or not) | |
#define | UIP_BROADCAST |
Broadcast support. | |
#define | UIP_LLH_LEN |
The link level header length. | |
void | uip_log (char *msg) |
Print out a uIP log message. | |
Typedefs | |
Application specific configurations | |
An uIP application is implemented using a single application function that is called by uIP whenever a TCP/IP event occurs. The name of this function must be registered with uIP at compile time using the UIP_APPCALL definition. uIP applications can store the application state within the uip_conn structure by specifying the type of the application structure by typedef'ing the type uip_tcp_appstate_t and uip_udp_appstate_t. The file containing the definitions must be included in the uipopt.h file. The following example illustrates how this can look. void httpd_appcall(void); #define UIP_APPCALL httpd_appcall struct httpd_state { uint8_t state; uint16_t count; char *dataptr; char *script; }; typedef struct httpd_state uip_tcp_appstate_t | |
typedef uint16_t | uip_udp_appstate_t |
The type of appstate in an uip_udp_conn. |