39#ifndef _FAKE_RFC2553_H
40#define _FAKE_RFC2553_H
44#include <sys/socket.h>
51#ifndef HAVE_STRUCT_SOCKADDR_STORAGE
52# define _SS_MAXSIZE 128
53# define _SS_PADSIZE (_SS_MAXSIZE - sizeof (struct sockaddr))
58# define ss_family ss_sa.sa_family
61#ifndef IN6_IS_ADDR_LOOPBACK
62# define IN6_IS_ADDR_LOOPBACK(a) \
63 (((uint32_t *)(a))[0] == 0 && ((uint32_t *)(a))[1] == 0 && \
64 ((uint32_t *)(a))[2] == 0 && ((uint32_t *)(a))[3] == htonl(1))
67#ifndef HAVE_STRUCT_IN6_ADDR
73#ifndef HAVE_STRUCT_SOCKADDR_IN6
84#define AF_INET6 AF_MAX
92# define NI_NUMERICHOST (1)
95# define NI_NAMEREQD (1<<1)
98# define NI_NUMERICSERV (1<<2)
102# define AI_PASSIVE (1)
105# define AI_CANONNAME (1<<1)
107#ifndef AI_NUMERICHOST
108# define AI_NUMERICHOST (1<<2)
112# define NI_MAXSERV 32
115# define NI_MAXHOST 1025
119#define INT_MAX 0xffffffff
123# define EAI_NODATA (INT_MAX - 1)
126# define EAI_MEMORY (INT_MAX - 2)
129# define EAI_NONAME (INT_MAX - 3)
132# define EAI_SYSTEM (INT_MAX - 4)
135#ifndef HAVE_STRUCT_ADDRINFO
148#ifndef HAVE_GETADDRINFO
152#define getaddrinfo(a,b,c,d) (getaddrinfo_unbound(a,b,c,d))
157#if !defined(HAVE_GAI_STRERROR) && !defined(HAVE_CONST_GAI_STRERROR_PROTO)
158#define gai_strerror(a) (gai_strerror_unbound(a))
162#ifndef HAVE_FREEADDRINFO
163#define freeaddrinfo(a) (freeaddrinfo_unbound(a))
167#ifndef HAVE_GETNAMEINFO
168#define getnameinfo(a,b,c,d,e,f,g) (getnameinfo_unbound(a,b,c,d,e,f,g))
170 char *,
size_t,
int);
#define getaddrinfo(a, b, c, d)
#define getnameinfo(a, b, c, d, e, f, g)
struct sockaddr * ai_addr
struct addrinfo * ai_next
struct in6_addr sin6_addr
unsigned short sin6_family
char __ss_pad2[_SS_PADSIZE]