25 #ifndef INCL_UTIL_COMPAT_H
26 #define INCL_UTIL_COMPAT_H
42 # define AF_INET6 PF_INET6
45 #ifndef INET6_ADDRSTRLEN
46 # define INET6_ADDRSTRLEN 46
51 #ifndef IN6_IS_ADDR_V4MAPPED
53 #define IN6_IS_ADDR_V4MAPPED(a) \
54 ((*(const uint32_t *)(const void *)(&(a)->s6_addr[0]) == 0) && \
55 (*(const uint32_t *)(const void *)(&(a)->s6_addr[4]) == 0) && \
56 (*(const uint32_t *)(const void *)(&(a)->s6_addr[8]) == ntohl(0x0000ffff)))
59 #ifndef HAVE_SA_FAMILY_T
63 #ifndef HAVE_STRUCT_IN6_ADDR
73 #ifndef HAVE_STRUCT_SOCKADDR_IN6
90 #ifndef HAVE_STRUCT_SOCKADDR_STORAGE
96 #define _SS_PADSIZE (128-sizeof(sa_family_t))
103 #ifndef SSL_OP_NO_TICKET
104 #define SSL_OP_NO_TICKET 0x00004000L
uint8_t s6_addr[16]
IPv6 address.
char __ss_pad[_SS_PADSIZE]
padding to a size of 128 bytes
uint32_t sin6_flowinfo
IPv6 traffic class and flow info.
sa_family_t ss_family
address family
uint32_t sin6_scope_id
set of interfaces for a scope
structure that contains a plain IPv6 address (only defined if not contained in the libc ...
#define _SS_PADSIZE
container for sockaddr_in and sockaddr_in6 structures, handled like an object in jabberd2 code (this ...
structure that contains an IPv6 including some additional attributes (only defined if not contained i...
sa_family_t sin6_family
address family (AF_INET6)
unsigned short sa_family_t
in_port_t sin6_port
transport layer port #
struct in6_addr sin6_addr
IPv6 address.