diff options
| author | B. Watson <yalhcru@gmail.com> | 2019-03-13 02:50:42 -0400 | 
|---|---|---|
| committer | B. Watson <yalhcru@gmail.com> | 2019-03-13 02:50:42 -0400 | 
| commit | 2973d0c78e9b8eed3c5af239927c6bd36af64604 (patch) | |
| tree | a0fdfe7201303edd11c6d86015ef4f79796fcf0f /uip/unix | |
| download | fujichat-2973d0c78e9b8eed3c5af239927c6bd36af64604.tar.gz | |
initial commit
Diffstat (limited to 'uip/unix')
| -rw-r--r-- | uip/unix/Makefile | 44 | ||||
| -rw-r--r-- | uip/unix/clock-arch.c | 55 | ||||
| -rw-r--r-- | uip/unix/clock-arch.h | 40 | ||||
| -rw-r--r-- | uip/unix/main.c | 218 | ||||
| -rw-r--r-- | uip/unix/tapdev.c | 152 | ||||
| -rw-r--r-- | uip/unix/tapdev.h | 45 | ||||
| -rw-r--r-- | uip/unix/uip-conf.h | 157 | 
7 files changed, 711 insertions, 0 deletions
| diff --git a/uip/unix/Makefile b/uip/unix/Makefile new file mode 100644 index 0000000..ed64927 --- /dev/null +++ b/uip/unix/Makefile @@ -0,0 +1,44 @@ +# Copyright (c) 2001, Adam Dunkels. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +#    notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +#    notice, this list of conditions and the following disclaimer in the +#    documentation and/or other materials provided with the distribution. +# 3. The name of the author may not be used to endorse or promote +#    products derived from this software without specific prior +#    written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS +# OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY +# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE +# GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# +# This file is part of the uIP TCP/IP stack. +# +# $Id: Makefile,v 1.13 2006/06/11 21:55:03 adam Exp $ +# + +all: uip + +CC     = gcc +AR     = ar +APPS   = webserver +CFLAGS = -Wall -g -I../uip -I. -fpack-struct -Os +-include ../uip/Makefile.include + +uip: $(addprefix $(OBJECTDIR)/, main.o tapdev.o clock-arch.o) apps.a uip.a + +clean: +	rm -fr *.o *~ *core uip $(OBJECTDIR) *.a diff --git a/uip/unix/clock-arch.c b/uip/unix/clock-arch.c new file mode 100644 index 0000000..d140aaf --- /dev/null +++ b/uip/unix/clock-arch.c @@ -0,0 +1,55 @@ +/* + * Copyright (c) 2006, Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + *    notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + *    notice, this list of conditions and the following disclaimer in the + *    documentation and/or other materials provided with the distribution. + * 3. Neither the name of the Institute nor the names of its contributors + *    may be used to endorse or promote products derived from this software + *    without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * This file is part of the uIP TCP/IP stack + * + * $Id: clock-arch.c,v 1.2 2006/06/12 08:00:31 adam Exp $ + */ + +/** + * \file + *         Implementation of architecture-specific clock functionality + * \author + *         Adam Dunkels <adam@sics.se> + */ + +#include "clock-arch.h" +#include <sys/time.h> + +/*---------------------------------------------------------------------------*/ +clock_time_t +clock_time(void) +{ +  struct timeval tv; +  struct timezone tz; + +  gettimeofday(&tv, &tz); + +  return tv.tv_sec * 1000 + tv.tv_usec / 1000; +} +/*---------------------------------------------------------------------------*/ diff --git a/uip/unix/clock-arch.h b/uip/unix/clock-arch.h new file mode 100644 index 0000000..e51eee9 --- /dev/null +++ b/uip/unix/clock-arch.h @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2006, Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + *    notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + *    notice, this list of conditions and the following disclaimer in the + *    documentation and/or other materials provided with the distribution. + * 3. Neither the name of the Institute nor the names of its contributors + *    may be used to endorse or promote products derived from this software + *    without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * This file is part of the uIP TCP/IP stack + * + * $Id: clock-arch.h,v 1.2 2006/06/12 08:00:31 adam Exp $ + */ + +#ifndef __CLOCK_ARCH_H__ +#define __CLOCK_ARCH_H__ + +typedef int clock_time_t; +#define CLOCK_CONF_SECOND 1000 + +#endif /* __CLOCK_ARCH_H__ */ diff --git a/uip/unix/main.c b/uip/unix/main.c new file mode 100644 index 0000000..e4130e9 --- /dev/null +++ b/uip/unix/main.c @@ -0,0 +1,218 @@ +/* + * Copyright (c) 2001, Adam Dunkels. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + *    notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + *    notice, this list of conditions and the following disclaimer in the + *    documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + *    must display the following acknowledgement: + *      This product includes software developed by Adam Dunkels. + * 4. The name of the author may not be used to endorse or promote + *    products derived from this software without specific prior + *    written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + * + * This file is part of the uIP TCP/IP stack. + * + * $Id: main.c,v 1.16 2006/06/11 21:55:03 adam Exp $ + * + */ + + +#include "uip.h" +#include "uip_arp.h" +#include "tapdev.h" + +#include "timer.h" + +#define BUF ((struct uip_eth_hdr *)&uip_buf[0]) + +#ifndef NULL +#define NULL (void *)0 +#endif /* NULL */ + +/*---------------------------------------------------------------------------*/ +int +main(void) +{ +  int i; +  uip_ipaddr_t ipaddr; +  struct timer periodic_timer, arp_timer; + +  timer_set(&periodic_timer, CLOCK_SECOND / 2); +  timer_set(&arp_timer, CLOCK_SECOND * 10); +   +  tapdev_init(); +  uip_init(); + +  uip_ipaddr(ipaddr, 192,168,0,2); +  uip_sethostaddr(ipaddr); +  uip_ipaddr(ipaddr, 192,168,0,1); +  uip_setdraddr(ipaddr); +  uip_ipaddr(ipaddr, 255,255,255,0); +  uip_setnetmask(ipaddr); + +  httpd_init(); +   +  /*  telnetd_init();*/ +   +  /*  hello_world_init();*/ + +  /*  { +      u8_t mac[6] = {1,2,3,4,5,6}; +      dhcpc_init(&mac, 6); +      }*/ +   +  /*uip_ipaddr(ipaddr, 127,0,0,1); +  smtp_configure("localhost", ipaddr); +  SMTP_SEND("adam@sics.se", NULL, "uip-testing@example.com", +	    "Testing SMTP from uIP", +	    "Test message sent by uIP\r\n");*/ + +  /* +    webclient_init(); +    resolv_init(); +    uip_ipaddr(ipaddr, 195,54,122,204); +    resolv_conf(ipaddr); +    resolv_query("www.sics.se");*/ + + +   +  while(1) { +    uip_len = tapdev_read(); +    if(uip_len > 0) { +      if(BUF->type == htons(UIP_ETHTYPE_IP)) { +	uip_arp_ipin(); +	uip_input(); +	/* If the above function invocation resulted in data that +	   should be sent out on the network, the global variable +	   uip_len is set to a value > 0. */ +	if(uip_len > 0) { +	  uip_arp_out(); +	  tapdev_send(); +	} +      } else if(BUF->type == htons(UIP_ETHTYPE_ARP)) { +	uip_arp_arpin(); +	/* If the above function invocation resulted in data that +	   should be sent out on the network, the global variable +	   uip_len is set to a value > 0. */ +	if(uip_len > 0) { +	  tapdev_send(); +	} +      } + +    } else if(timer_expired(&periodic_timer)) { +      timer_reset(&periodic_timer); +      for(i = 0; i < UIP_CONNS; i++) { +	uip_periodic(i); +	/* If the above function invocation resulted in data that +	   should be sent out on the network, the global variable +	   uip_len is set to a value > 0. */ +	if(uip_len > 0) { +	  uip_arp_out(); +	  tapdev_send(); +	} +      } + +#if UIP_UDP +      for(i = 0; i < UIP_UDP_CONNS; i++) { +	uip_udp_periodic(i); +	/* If the above function invocation resulted in data that +	   should be sent out on the network, the global variable +	   uip_len is set to a value > 0. */ +	if(uip_len > 0) { +	  uip_arp_out(); +	  tapdev_send(); +	} +      } +#endif /* UIP_UDP */ +       +      /* Call the ARP timer function every 10 seconds. */ +      if(timer_expired(&arp_timer)) { +	timer_reset(&arp_timer); +	uip_arp_timer(); +      } +    } +  } +  return 0; +} +/*---------------------------------------------------------------------------*/ +void +uip_log(char *m) +{ +  printf("uIP log message: %s\n", m); +} +void +resolv_found(char *name, u16_t *ipaddr) +{ +  u16_t *ipaddr2; +   +  if(ipaddr == NULL) { +    printf("Host '%s' not found.\n", name); +  } else { +    printf("Found name '%s' = %d.%d.%d.%d\n", name, +	   htons(ipaddr[0]) >> 8, +	   htons(ipaddr[0]) & 0xff, +	   htons(ipaddr[1]) >> 8, +	   htons(ipaddr[1]) & 0xff); +    /*    webclient_get("www.sics.se", 80, "/~adam/uip");*/ +  } +} +#ifdef __DHCPC_H__ +void +dhcpc_configured(const struct dhcpc_state *s) +{ +  uip_sethostaddr(s->ipaddr); +  uip_setnetmask(s->netmask); +  uip_setdraddr(s->default_router); +  resolv_conf(s->dnsaddr); +} +#endif /* __DHCPC_H__ */ +void +smtp_done(unsigned char code) +{ +  printf("SMTP done with code %d\n", code); +} +void +webclient_closed(void) +{ +  printf("Webclient: connection closed\n"); +} +void +webclient_aborted(void) +{ +  printf("Webclient: connection aborted\n"); +} +void +webclient_timedout(void) +{ +  printf("Webclient: connection timed out\n"); +} +void +webclient_connected(void) +{ +  printf("Webclient: connected, waiting for data...\n"); +} +void +webclient_datahandler(char *data, u16_t len) +{ +  printf("Webclient: got %d bytes of data.\n", len); +} +/*---------------------------------------------------------------------------*/ diff --git a/uip/unix/tapdev.c b/uip/unix/tapdev.c new file mode 100644 index 0000000..417b288 --- /dev/null +++ b/uip/unix/tapdev.c @@ -0,0 +1,152 @@ +/* + * Copyright (c) 2001, Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + *    notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + *    notice, this list of conditions and the following disclaimer in the + *    documentation and/or other materials provided with the distribution. + * + * 3. Neither the name of the Institute nor the names of its contributors + *    may be used to endorse or promote products derived from this software + *    without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * Author: Adam Dunkels <adam@sics.se> + * + * $Id: tapdev.c,v 1.8 2006/06/07 08:39:58 adam Exp $ + */ + +#define UIP_DRIPADDR0   192 +#define UIP_DRIPADDR1   168 +#define UIP_DRIPADDR2   0 +#define UIP_DRIPADDR3   1 + +#include <fcntl.h> +#include <stdlib.h> +#include <stdio.h> +#include <unistd.h> +#include <string.h> +#include <sys/ioctl.h> +#include <sys/socket.h> +#include <sys/types.h> +#include <sys/time.h> +#include <sys/uio.h> +#include <sys/socket.h> + +#ifdef linux +#include <sys/ioctl.h> +#include <linux/if.h> +#include <linux/if_tun.h> +#define DEVTAP "/dev/net/tun" +#else  /* linux */ +#define DEVTAP "/dev/tap0" +#endif /* linux */ + +#include "uip.h" + +static int drop = 0; +static int fd; + + +/*---------------------------------------------------------------------------*/ +void +tapdev_init(void) +{ +  char buf[1024]; +   +  fd = open(DEVTAP, O_RDWR); +  if(fd == -1) { +    perror("tapdev: tapdev_init: open"); +    exit(1); +  } + +#ifdef linux +  { +    struct ifreq ifr; +    memset(&ifr, 0, sizeof(ifr)); +    ifr.ifr_flags = IFF_TAP|IFF_NO_PI; +    if (ioctl(fd, TUNSETIFF, (void *) &ifr) < 0) { +      perror(buf); +      exit(1); +    } +  } +#endif /* Linux */ + +  snprintf(buf, sizeof(buf), "ifconfig tap0 inet %d.%d.%d.%d", +	   UIP_DRIPADDR0, UIP_DRIPADDR1, UIP_DRIPADDR2, UIP_DRIPADDR3); +  system(buf); + +} +/*---------------------------------------------------------------------------*/ +unsigned int +tapdev_read(void) +{ +  fd_set fdset; +  struct timeval tv, now; +  int ret; +   +  tv.tv_sec = 0; +  tv.tv_usec = 1000; + + +  FD_ZERO(&fdset); +  FD_SET(fd, &fdset); + +  ret = select(fd + 1, &fdset, NULL, NULL, &tv); +  if(ret == 0) { +    return 0; +  } +  ret = read(fd, uip_buf, UIP_BUFSIZE); +  if(ret == -1) { +    perror("tap_dev: tapdev_read: read"); +  } + +  /*  printf("--- tap_dev: tapdev_read: read %d bytes\n", ret);*/ +  /*  { +    int i; +    for(i = 0; i < 20; i++) { +      printf("%x ", uip_buf[i]); +    } +    printf("\n"); +    }*/ +  /*  check_checksum(uip_buf, ret);*/ +  return ret; +} +/*---------------------------------------------------------------------------*/ +void +tapdev_send(void) +{ +  int ret; +  /*  printf("tapdev_send: sending %d bytes\n", size);*/ +  /*  check_checksum(uip_buf, size);*/ + +  /*  drop++; +  if(drop % 8 == 7) { +    printf("Dropped a packet!\n"); +    return; +    }*/ +  ret = write(fd, uip_buf, uip_len); +  if(ret == -1) { +    perror("tap_dev: tapdev_send: writev"); +    exit(1); +  } +} +/*---------------------------------------------------------------------------*/ diff --git a/uip/unix/tapdev.h b/uip/unix/tapdev.h new file mode 100644 index 0000000..280bc52 --- /dev/null +++ b/uip/unix/tapdev.h @@ -0,0 +1,45 @@ +/* + * Copyright (c) 2001, Adam Dunkels. + * All rights reserved.  + * + * Redistribution and use in source and binary forms, with or without  + * modification, are permitted provided that the following conditions  + * are met:  + * 1. Redistributions of source code must retain the above copyright  + *    notice, this list of conditions and the following disclaimer.  + * 2. Redistributions in binary form must reproduce the above copyright  + *    notice, this list of conditions and the following disclaimer in the  + *    documentation and/or other materials provided with the distribution.  + * 3. All advertising materials mentioning features or use of this software + *    must display the following acknowledgement: + *      This product includes software developed by Adam Dunkels. + * 4. The name of the author may not be used to endorse or promote + *    products derived from this software without specific prior + *    written permission.   + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS + * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY + * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, + * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.   + * + * This file is part of the uIP TCP/IP stack. + * + * $Id: tapdev.h,v 1.1 2002/01/10 06:22:56 adam Exp $ + * + */ + +#ifndef __TAPDEV_H__ +#define __TAPDEV_H__ + +void tapdev_init(void); +unsigned int tapdev_read(void); +void tapdev_send(void); + +#endif /* __TAPDEV_H__ */ diff --git a/uip/unix/uip-conf.h b/uip/unix/uip-conf.h new file mode 100644 index 0000000..2878c85 --- /dev/null +++ b/uip/unix/uip-conf.h @@ -0,0 +1,157 @@ +/** + * \addtogroup uipopt + * @{ + */ + +/** + * \name Project-specific configuration options + * @{ + * + * uIP has a number of configuration options that can be overridden + * for each project. These are kept in a project-specific uip-conf.h + * file and all configuration names have the prefix UIP_CONF. + */ + +/* + * Copyright (c) 2006, Swedish Institute of Computer Science. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + *    notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + *    notice, this list of conditions and the following disclaimer in the + *    documentation and/or other materials provided with the distribution. + * 3. Neither the name of the Institute nor the names of its contributors + *    may be used to endorse or promote products derived from this software + *    without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE INSTITUTE AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED.  IN NO EVENT SHALL THE INSTITUTE OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * This file is part of the uIP TCP/IP stack + * + * $Id: uip-conf.h,v 1.6 2006/06/12 08:00:31 adam Exp $ + */ + +/** + * \file + *         An example uIP configuration file + * \author + *         Adam Dunkels <adam@sics.se> + */ + +#ifndef __UIP_CONF_H__ +#define __UIP_CONF_H__ + +#include <inttypes.h> + +/** + * 8 bit datatype + * + * This typedef defines the 8-bit type used throughout uIP. + * + * \hideinitializer + */ +typedef uint8_t u8_t; + +/** + * 16 bit datatype + * + * This typedef defines the 16-bit type used throughout uIP. + * + * \hideinitializer + */ +typedef uint16_t u16_t; + +/** + * Statistics datatype + * + * This typedef defines the dataype used for keeping statistics in + * uIP. + * + * \hideinitializer + */ +typedef unsigned short uip_stats_t; + +/** + * Maximum number of TCP connections. + * + * \hideinitializer + */ +#define UIP_CONF_MAX_CONNECTIONS 40 + +/** + * Maximum number of listening TCP ports. + * + * \hideinitializer + */ +#define UIP_CONF_MAX_LISTENPORTS 40 + +/** + * uIP buffer size. + * + * \hideinitializer + */ +#define UIP_CONF_BUFFER_SIZE     420 + +/** + * CPU byte order. + * + * \hideinitializer + */ +#define UIP_CONF_BYTE_ORDER      LITTLE_ENDIAN + +/** + * Logging on or off + * + * \hideinitializer + */ +#define UIP_CONF_LOGGING         1 + +/** + * UDP support on or off + * + * \hideinitializer + */ +#define UIP_CONF_UDP             0 + +/** + * UDP checksums on or off + * + * \hideinitializer + */ +#define UIP_CONF_UDP_CHECKSUMS   1 + +/** + * uIP statistics on or off + * + * \hideinitializer + */ +#define UIP_CONF_STATISTICS      1 + +/* Here we include the header file for the application(s) we use in +   our project. */ +/*#include "smtp.h"*/ +/*#include "hello-world.h"*/ +/*#include "telnetd.h"*/ +#include "webserver.h" +/*#include "dhcpc.h"*/ +/*#include "resolv.h"*/ +/*#include "webclient.h"*/ + +#endif /* __UIP_CONF_H__ */ + +/** @} */ +/** @} */ | 
