Commit Graph

35 Commits

Author SHA1 Message Date
adamdunkels
5585d72c86 A simple but substantial change: uIP used the htons()/HTONS() macro
functions for converting between host and network byte order. These
names are the de facto standard names for this functionality because
of the original BSD TCP/IP implementation. But they cause problems for
uIP/Contiki: some platforms define these names themselves (Mac OS,
most notably), causing compilation problems for Contiki on those
platforms.

This commit changes all htons to uip_htons instead. Same goes for
htonl, ntohs, and ntohl. All-caps versions as well.
2010-10-19 18:29:03 +00:00
oliverschmidt
126ea40994 Removed UIP_CONF_PLAIN_BUFFER again now that the pointer indirection to uip_buf was removed again. 2010-05-30 09:46:12 +00:00
joxe
2d447502d4 changed uip_buf to a union for 32-bit alignment 2010-05-24 10:07:34 +00:00
oliverschmidt
e5665fb968 The recent change turning uip_buf from an array to a pointer seems a quite heavyweight way to have the uip_buf alligned to a 32-bit boundary. Contiki is - still - supposed to be portable across a wide range of toolchains - therefore it i.e. intentionally doesn't use C99 features. From that perspective it seems questionable if all toolchains are able to optimize away the overhead imposed by an "unnecessary" indirection to access uip_buf - and uIP consists mostly of accesses to uip_buf. Even if the future is supposed to bring support for multiple uip_bufs which would turn the uip_buf pointer from a mere workaround to an neceesary element on can still presume that there will be targets with resources limited in a way prohibiting the use of several uip_bufs. So at least for those targets will still be a usecase for a "plain", not indirected uip_buf.
Therefore it seems reasonable to allow to stay with the "plain" uip_buf at compile-time.
2010-05-08 07:23:55 +00:00
joxe
cd5dfa9692 added const for the uip_buf pointer for more efficient and smaller uip code and fixed same construct for the sicslowpan code 2010-05-05 13:07:45 +00:00
joxe
790819e701 allocate uip_buf as uint32_t to avoid risk for unaligned uip_buf on 32 or 16 bit architectures 2010-05-04 09:19:41 +00:00
nvt-se
75dd41601b Added a macro for checking if an address is link local. 2010-04-06 16:47:18 +00:00
joxe
b4adc6bcb5 added fallback interface and removed uip_router 2010-03-16 15:35:03 +00:00
joxe
fd3d6c44d0 integration of new uip6 code from Mathilde and Julien - adds routing and improved interface handling 2010-03-15 16:41:24 +00:00
joxe
4c2daf9886 started integration of Mathildes and Juliens new uip6 code + made some ND timers configurable 2010-03-12 16:19:19 +00:00
joxe
5b0b36c39e accept messages to all routers if UIP_CONF_ROUTER is set. 2009-11-12 14:05:42 +00:00
nvt-se
3b2ad9cfc4 added packet forwarding and replaceable routing modules. 2009-04-06 13:18:50 +00:00
nvt-se
41ca9516a7 fixed documentation typos. 2009-03-15 20:21:16 +00:00
c_oflynn
8516626703 Fixed documentation error (thanks to David Kopf) 2009-02-17 01:28:28 +00:00
c_oflynn
5ec6412fbc *Support for Atmel 'Router Under Mac' (RUM) in Jackdaw 2008-12-10 21:26:05 +00:00
adamdunkels
adc57729c3 struct uip_udp_conn should be declared even if UIP_UDP is zero (it does not add any extra code) 2008-10-15 08:56:44 +00:00
adamdunkels
647443cb9d Added payload field to ICMP v4 header that was inadvertedly removed during the uIPv6 commits; automatic whitespace removal at line ends 2008-10-15 07:55:00 +00:00
julienabeille
f95cdc5abb Main uIPv6 files addition 2008-10-14 09:40:56 +00:00
adamdunkels
436d1f25eb Added a configuration option for using u32 in the uip_ip4addr_t structure: UIP_CONF_UIP_IP4ADDR_T_WITH_U32 2008-02-24 21:04:15 +00:00
oliverschmidt
081d50b878 Reverted part of recent change. The 32-bit member causes 32-bit alignment on 32-bit machines - at least without specific compiler options. That 32-bit alignment causes padding i.e. the ARP structure breaking the existing code. 2008-02-09 16:22:22 +00:00
adamdunkels
2187212703 Name fix on uip_all_zeroes_addr 2008-02-07 01:35:00 +00:00
adamdunkels
6e89e545b3 Added optional transmission of ICMP destimation unreachable in response to incoming UDP packets with an destination port that is not open. This is needed for correct operation of traceroute 2008-01-24 23:08:58 +00:00
adamdunkels
3e35a97776 Exposed a few UDP declarations even when UIP_UDP == 0 to make uaodv.c compile 2007-11-28 12:52:12 +00:00
ksb
3337165590 Made it possible to override uip_ipaddr_copy .
Use uip_ipaddr_copy in some places where addresses are copied.
2007-08-22 10:45:42 +00:00
bg-
e5fa567869 * htonl and friends. 2007-04-04 11:37:20 +00:00
adamdunkels
3eb156019e Documentation fix 2007-03-25 17:15:43 +00:00
adamdunkels
2b119b054e const qualifiers 2007-03-15 19:41:29 +00:00
bg-
539ad552bd * Convince macro uip_ipaddr_to_quad. 2007-02-01 14:27:17 +00:00
adamdunkels
b9607d3be2 Fixed the order of the statistics fields, added UIP_APPDATA_PTR pointer that always points to the application data space in the uip_buf buffer, added the documentation for an uip_ipaddr_isbroadcast() function. 2006-09-26 21:02:35 +00:00
oliverschmidt
9e9677b4f0 Added the CCIF (Contiki Core InterFace) declarations necessary for a loadable ARP handler. 2006-09-23 20:10:08 +00:00
oliverschmidt
83561d8963 Added the CCIF (Contiki Core InterFace) declarations necessary for a loadable packet driver. 2006-09-09 23:24:39 +00:00
oliverschmidt
424fde144d Added the CCIF (Contiki Core InterFace) declarations used by the applications which are currently part of the Win32 build. 2006-08-26 23:54:00 +00:00
bg-
eb7fcb54b4 * Change uip_ipaddr_t to be initialized from bytes rather than 2006-08-14 13:58:28 +00:00
bg-
fb94d50410 Change typedef of uip_ipaddr_t from a vector type to a union.
typedef union uip_ip4addr_t {
  u16_t u16[2];
  u8_t  u8[4];
} uip_ip4addr_t;

typedef uip_ip4addr_t uip_ipaddr_t;

This implies that one must consistently pass pointers to
uip_ipaddr_t:s and not mix and match pointers with
uip_ipaddr_t:s as was done earlier.
2006-08-09 16:13:39 +00:00
adamdunkels
c9e808d638 Import of the contiki-2.x development code from the SICS internal CVS server 2006-06-17 22:41:10 +00:00