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.
*** This change breaks all platforms calling tcpip_set_forwarding() ! These calls were intentionally not removed as they need to be replaced by setting the new compiletime option UIP_CONF_TCP_FORWARD - which should be done by the platform owners. ***
Now tcpip_output() is a function pointer that is supposed to be set via the macro tcpip_set_outputfunc(). Packet drivers do so on process startup.
Thus if there are several packet drivers in a Contiki system the one started last is the one actually used. This behaviour is especially useful for the 'IP forwarding' "meta" packet driver.
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.