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