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