diff options
Diffstat (limited to 'defines.h')
-rw-r--r-- | defines.h | 11 |
1 files changed, 10 insertions, 1 deletions
@@ -3,9 +3,12 @@ /* Necessary headers */ -#include <sys/types.h> +#include <sys/types.h> /* For [u]intxx_t */ + #include <sys/socket.h> /* For SHUT_XXXX */ +#include <netinet/in.h> /* For IPv6 macros */ + #ifdef HAVE_SYS_BITYPES_H # include <sys/bitypes.h> /* For u_intXX_t */ #endif @@ -234,6 +237,12 @@ typedef unsigned int size_t; # define __P(x) x #endif +#if !defined(IN6_IS_ADDR_V4MAPPED) +# define IN6_IS_ADDR_V4MAPPED(a) \ + ((((uint32_t *) (a))[0] == 0) && (((uint32_t *) (a))[1] == 0) && \ + (((uint32_t *) (a))[2] == htonl (0xffff))) +#endif /* !defined(IN6_IS_ADDR_V4MAPPED) */ + #if !defined(__GNUC__) || (__GNUC__ < 2) # define __attribute__(x) #endif /* !defined(__GNUC__) || (__GNUC__ < 2) */ |