diff options
author | Christian Mauderer <Christian.Mauderer@embedded-brains.de> | 2016-06-24 08:52:48 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-06-28 13:10:01 +0200 |
commit | 4c02385d8fa3110e4208e2cb8cb2d04d630cf85e (patch) | |
tree | b25d3f48b8f34ff627b9d156c9c10e9391a46f3c /cpukit/libnetworking | |
parent | libnetworking: Import current <netinet/in.h> (diff) | |
download | rtems-4c02385d8fa3110e4208e2cb8cb2d04d630cf85e.tar.bz2 |
libnetworking: Import current <arpa/inet.h>
Import the <arpa/inet.h> from current FreeBSD. Necessary due to changes
in <netinet/in.h>. Remove BSD hack from <arpa/inet.h>.
Clean up problems with htonl(). These functions are defined in
<arpa/inet.h>. This lead to some problems because they are defined in
<rtems/endian.h> too. Add NTOHL, ... to
<rtems/rtems_bsdnet_internal.h>.
Diffstat (limited to 'cpukit/libnetworking')
-rw-r--r-- | cpukit/libnetworking/arpa/inet.h | 71 | ||||
-rw-r--r-- | cpukit/libnetworking/arpa/nameser_compat.h | 2 | ||||
-rw-r--r-- | cpukit/libnetworking/rtems/mkrootfs.c | 2 | ||||
-rw-r--r-- | cpukit/libnetworking/rtems/mkrootfs.h | 2 | ||||
-rw-r--r-- | cpukit/libnetworking/rtems/rtems_bsdnet_internal.h | 26 | ||||
-rw-r--r-- | cpukit/libnetworking/rtems/rtems_dhcp_failsafe.c | 2 | ||||
-rw-r--r-- | cpukit/libnetworking/rtems/rtems_glue.c | 3 | ||||
-rw-r--r-- | cpukit/libnetworking/rtems/rtems_showifstat.c | 1 | ||||
-rw-r--r-- | cpukit/libnetworking/rtems/rtems_showroute.c | 2 |
9 files changed, 73 insertions, 38 deletions
diff --git a/cpukit/libnetworking/arpa/inet.h b/cpukit/libnetworking/arpa/inet.h index 6ea7e7063f..91e3a828ab 100644 --- a/cpukit/libnetworking/arpa/inet.h +++ b/cpukit/libnetworking/arpa/inet.h @@ -51,24 +51,34 @@ /*% * @(#)inet.h 8.1 (Berkeley) 6/2/93 - * $FreeBSD: src/include/arpa/inet.h,v 1.33 2010/07/06 03:48:46 maxim Exp $ + * $Id: inet.h,v 1.3 2005/04/27 04:56:16 sra Exp $ + * $FreeBSD: head/include/arpa/inet.h 269867 2014-08-12 12:36:06Z ume $ */ - #ifndef _ARPA_INET_H_ #define _ARPA_INET_H_ /* External definitions for functions in inet(3). */ #include <sys/cdefs.h> -#include <rtems/bsdnet/_types.h> +#include <sys/_types.h> /* Required for byteorder(3) functions. */ -#include <rtems/endian.h> +#include <machine/endian.h> #define INET_ADDRSTRLEN 16 #define INET6_ADDRSTRLEN 46 +#ifndef _UINT16_T_DECLARED +typedef __uint16_t uint16_t; +#define _UINT16_T_DECLARED +#endif + +#ifndef _UINT32_T_DECLARED +typedef __uint32_t uint32_t; +#define _UINT32_T_DECLARED +#endif + #ifndef _IN_ADDR_T_DECLARED typedef uint32_t in_addr_t; #define _IN_ADDR_T_DECLARED @@ -79,6 +89,13 @@ typedef uint16_t in_port_t; #define _IN_PORT_T_DECLARED #endif +#if __BSD_VISIBLE +#ifndef _SIZE_T_DECLARED +typedef __size_t size_t; +#define _SIZE_T_DECLARED +#endif +#endif + /* * XXX socklen_t is used by a POSIX.1-2001 interface, but not required by * POSIX.1-2001. @@ -95,32 +112,17 @@ struct in_addr { #define _STRUCT_IN_ADDR_DECLARED #endif -#if !defined(__rtems__) /* RTEMS -- Why rename these? */ -/* XXX all new diversions!! argh!! */ -#if __BSD_VISIBLE -#define inet_addr __inet_addr -#define inet_aton __inet_aton -#define inet_lnaof __inet_lnaof -#define inet_makeaddr __inet_makeaddr -#define inet_neta __inet_neta -#define inet_netof __inet_netof -#define inet_network __inet_network -#define inet_net_ntop __inet_net_ntop -#define inet_net_pton __inet_net_pton -#define inet_cidr_ntop __inet_cidr_ntop -#define inet_cidr_pton __inet_cidr_pton -#define inet_ntoa __inet_ntoa -#define inet_ntoa_r __inet_ntoa_r -#define inet_pton __inet_pton -#define inet_ntop __inet_ntop -#define inet_nsap_addr __inet_nsap_addr -#define inet_nsap_ntoa __inet_nsap_ntoa -#endif /* __BSD_VISIBLE */ -#endif /* __rtems__ */ - __BEGIN_DECLS +#ifndef _BYTEORDER_PROTOTYPED +#define _BYTEORDER_PROTOTYPED +uint32_t htonl(uint32_t); +uint16_t htons(uint16_t); +uint32_t ntohl(uint32_t); +uint16_t ntohs(uint16_t); +#endif + in_addr_t inet_addr(const char *); -char *inet_ntoa(struct in_addr); +/*const*/ char *inet_ntoa(struct in_addr); const char *inet_ntop(int, const void * __restrict, char * __restrict, socklen_t); int inet_pton(int, const char * __restrict, void * __restrict); @@ -134,9 +136,22 @@ in_addr_t inet_netof(struct in_addr); in_addr_t inet_network(const char *); char *inet_net_ntop(int, const void *, int, char *, size_t); int inet_net_pton(int, const char *, void *, size_t); +char *inet_ntoa_r(struct in_addr, char *buf, socklen_t size); +char *inet_cidr_ntop(int, const void *, int, char *, size_t); +int inet_cidr_pton(int, const char *, void *, int *); unsigned inet_nsap_addr(const char *, unsigned char *, int); char *inet_nsap_ntoa(int, const unsigned char *, char *); #endif /* __BSD_VISIBLE */ __END_DECLS +#ifndef _BYTEORDER_FUNC_DEFINED +#define _BYTEORDER_FUNC_DEFINED +#define htonl(x) __htonl(x) +#define htons(x) __htons(x) +#define ntohl(x) __ntohl(x) +#define ntohs(x) __ntohs(x) +#endif + #endif /* !_ARPA_INET_H_ */ + +/*! \file */ diff --git a/cpukit/libnetworking/arpa/nameser_compat.h b/cpukit/libnetworking/arpa/nameser_compat.h index b38e42a1e7..8fcceaa6c1 100644 --- a/cpukit/libnetworking/arpa/nameser_compat.h +++ b/cpukit/libnetworking/arpa/nameser_compat.h @@ -40,7 +40,7 @@ #define __BIND 19950621 /* (DEAD) interface version stamp. */ -#include <rtems/endian.h> +#include <sys/endian.h> #if !defined(BYTE_ORDER) || \ (BYTE_ORDER != BIG_ENDIAN && BYTE_ORDER != LITTLE_ENDIAN && \ diff --git a/cpukit/libnetworking/rtems/mkrootfs.c b/cpukit/libnetworking/rtems/mkrootfs.c index ccdebaf452..aaf670b6b1 100644 --- a/cpukit/libnetworking/rtems/mkrootfs.c +++ b/cpukit/libnetworking/rtems/mkrootfs.c @@ -36,10 +36,10 @@ #include <unistd.h> #include <sys/socket.h> #include <netinet/in.h> -#include <arpa/inet.h> #include <rtems/mkrootfs.h> #include <rtems/libio.h> +#include <rtems/endian.h> /* * A table a list of names and their modes. diff --git a/cpukit/libnetworking/rtems/mkrootfs.h b/cpukit/libnetworking/rtems/mkrootfs.h index 648b71197b..8bd443693b 100644 --- a/cpukit/libnetworking/rtems/mkrootfs.h +++ b/cpukit/libnetworking/rtems/mkrootfs.h @@ -21,7 +21,7 @@ #ifndef _RTEMS_MKROOTFS_H #define _RTEMS_MKROOTFS_H -#include <arpa/inet.h> /* in_addr_t */ +#include <sys/types.h> /* in_addr_t */ #include <rtems.h> diff --git a/cpukit/libnetworking/rtems/rtems_bsdnet_internal.h b/cpukit/libnetworking/rtems/rtems_bsdnet_internal.h index 7ede2c6121..10a1f62442 100644 --- a/cpukit/libnetworking/rtems/rtems_bsdnet_internal.h +++ b/cpukit/libnetworking/rtems/rtems_bsdnet_internal.h @@ -31,6 +31,7 @@ typedef __uintptr_t vm_size_t; /* make sure we get the network versions of these */ #include <machine/types.h> #include <machine/param.h> +#include <machine/endian.h> #include <sys/cdefs.h> #include <sys/time.h> @@ -105,7 +106,30 @@ typedef int boolean_t; #define makedev(x,y) ((dev_t)(((x) << 8) | (y))) /* create dev_t */ #endif -#include <rtems/endian.h> +#ifndef _BYTEORDER_PROTOTYPED +#define _BYTEORDER_PROTOTYPED +__BEGIN_DECLS +__uint32_t htonl(__uint32_t); +__uint16_t htons(__uint16_t); +__uint32_t ntohl(__uint32_t); +__uint16_t ntohs(__uint16_t); +__END_DECLS +#endif + +#ifndef _BYTEORDER_FUNC_DEFINED +#define _BYTEORDER_FUNC_DEFINED +#define htonl(x) __htonl(x) +#define htons(x) __htons(x) +#define ntohl(x) __ntohl(x) +#define ntohs(x) __ntohs(x) +#endif /* !_BYTEORDER_FUNC_DEFINED */ + +#define NTOHS(x) (x) = ntohs(x) +#define HTONS(x) (x) = htons(x) +#define NTOHL(x) (x) = ntohl(x) +#define HTONL(x) (x) = htonl(x) + +in_addr_t inet_addr(const char *); typedef quad_t rlim_t; /* resource limit */ typedef u_int32_t fixpt_t; /* fixed point number */ diff --git a/cpukit/libnetworking/rtems/rtems_dhcp_failsafe.c b/cpukit/libnetworking/rtems/rtems_dhcp_failsafe.c index c491ad9655..46a411bc55 100644 --- a/cpukit/libnetworking/rtems/rtems_dhcp_failsafe.c +++ b/cpukit/libnetworking/rtems/rtems_dhcp_failsafe.c @@ -71,8 +71,6 @@ struct proc; /* Unused parameter of some functions. */ #include <net/if_var.h> /* for in_var.h */ #include <netinet/in_var.h> /* for in_aliasreq */ #include <sys/sockio.h> /* for ioctl definitions */ -#include <arpa/inet.h> /* for inet_addr, inet_ntop */ - static int network_fail_timeout = RTEMS_DHCP_FAILSAFE_NETWORK_FAIL_TIMEOUT; static int network_down_time = RTEMS_DHCP_FAILSAFE_NETWORK_DOWN_TIME; diff --git a/cpukit/libnetworking/rtems/rtems_glue.c b/cpukit/libnetworking/rtems/rtems_glue.c index e9b371f700..4081be85c6 100644 --- a/cpukit/libnetworking/rtems/rtems_glue.c +++ b/cpukit/libnetworking/rtems/rtems_glue.c @@ -30,7 +30,6 @@ #include <net/route.h> #include <netinet/in.h> #include <vm/vm.h> -#include <arpa/inet.h> #include <net/netisr.h> #include <net/route.h> @@ -830,6 +829,8 @@ rtems_bsdnet_log (int priority, const char *fmt, ...) * IP header checksum routine for processors which don't have an inline version */ +struct ip; + u_int in_cksum_hdr(const struct ip *); u_int diff --git a/cpukit/libnetworking/rtems/rtems_showifstat.c b/cpukit/libnetworking/rtems/rtems_showifstat.c index 50be6c8eff..2e06a8ce5c 100644 --- a/cpukit/libnetworking/rtems/rtems_showifstat.c +++ b/cpukit/libnetworking/rtems/rtems_showifstat.c @@ -15,7 +15,6 @@ #include <net/if_dl.h> #include <net/if_types.h> #include <netinet/in.h> -#include <arpa/inet.h> #include <rtems/rtems_bsdnet.h> diff --git a/cpukit/libnetworking/rtems/rtems_showroute.c b/cpukit/libnetworking/rtems/rtems_showroute.c index 44b4c3bd28..30545d26d1 100644 --- a/cpukit/libnetworking/rtems/rtems_showroute.c +++ b/cpukit/libnetworking/rtems/rtems_showroute.c @@ -19,8 +19,6 @@ #include <netinet/in.h> -#include <arpa/inet.h> - /* * We'll use the application versions of realloc and free. */ |