blob: 7da87142ddf2f6c29f637facfa37405f5a66f2aa [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
Damien Miller8f926492000-01-16 18:19:25 +110010# define AI_CANONNAME 2
Damien Miller34132e52000-01-14 15:45:46 +110011#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 HAVE_STRUCT_ADDRINFO
20struct addrinfo {
21 int ai_flags; /* AI_PASSIVE, AI_CANONNAME */
22 int ai_family; /* PF_xxx */
23 int ai_socktype; /* SOCK_xxx */
24 int ai_protocol; /* 0 or IPPROTO_xxx for IPv4 and IPv6 */
25 size_t ai_addrlen; /* length of ai_addr */
26 char *ai_canonname; /* canonical name for hostname */
27 struct sockaddr *ai_addr; /* binary address */
28 struct addrinfo *ai_next; /* next structure in linked list */
Damien Miller8f926492000-01-16 18:19:25 +110029};
Damien Miller34132e52000-01-14 15:45:46 +110030#endif /* !HAVE_STRUCT_ADDRINFO */
31
32#ifndef HAVE_GETADDRINFO
33int getaddrinfo(const char *hostname, const char *servname,
34 const struct addrinfo *hints, struct addrinfo **res);
35#endif /* !HAVE_GETADDRINFO */
36
37#ifndef HAVE_GAI_STRERROR
38char *gai_strerror(int ecode);
39#endif /* !HAVE_GAI_STRERROR */
40
41#ifndef HAVE_FREEADDRINFO
42void freeaddrinfo(struct addrinfo *ai);
43#endif /* !HAVE_FREEADDRINFO */
44
45#endif /* _FAKE_GETADDRINFO_H */