Synchronise HEAD with CABAL branch.
[tinc] / lib / fake-getaddrinfo.h
1 /* $Id: fake-getaddrinfo.h,v 1.2 2003/08/24 20:38:20 guus Exp $ */
2
3 #ifndef _FAKE_GETADDRINFO_H
4 #define _FAKE_GETADDRINFO_H
5
6 #include "fake-gai-errnos.h"
7
8 #ifndef AI_PASSIVE
9 # define AI_PASSIVE        1
10 # define AI_CANONNAME      2
11 #endif
12
13 #ifndef NI_NUMERICHOST
14 # define NI_NUMERICHOST    2
15 # define NI_NAMEREQD       4
16 # define NI_NUMERICSERV    8
17 #endif
18
19 #ifndef AI_NUMERICHOST
20 #define AI_NUMERICHOST 4
21 #endif
22
23 #ifndef HAVE_STRUCT_ADDRINFO
24 struct addrinfo {
25         int     ai_flags;       /* AI_PASSIVE, AI_CANONNAME */
26         int     ai_family;      /* PF_xxx */
27         int     ai_socktype;    /* SOCK_xxx */
28         int     ai_protocol;    /* 0 or IPPROTO_xxx for IPv4 and IPv6 */
29         size_t  ai_addrlen;     /* length of ai_addr */
30         char    *ai_canonname;  /* canonical name for hostname */
31         struct sockaddr *ai_addr;       /* binary address */
32         struct addrinfo *ai_next;       /* next structure in linked list */
33 };
34 #endif /* !HAVE_STRUCT_ADDRINFO */
35
36 #ifndef HAVE_GETADDRINFO
37 int getaddrinfo(const char *hostname, const char *servname, 
38                 const struct addrinfo *hints, struct addrinfo **res);
39 #endif /* !HAVE_GETADDRINFO */
40
41 #ifndef HAVE_GAI_STRERROR
42 char *gai_strerror(int ecode);
43 #endif /* !HAVE_GAI_STRERROR */
44
45 #ifndef HAVE_FREEADDRINFO
46 void freeaddrinfo(struct addrinfo *ai);
47 #endif /* !HAVE_FREEADDRINFO */
48
49 #endif /* _FAKE_GETADDRINFO_H */