#endif
#include <features.h>
+#include <netinet/in.h>
#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
#define __NEED_size_t
-#endif
-
-#define __NEED_socklen_t
-#define __NEED_uint32_t
-
#include <bits/alltypes.h>
+#endif
-struct addrinfo
-{
+struct addrinfo {
int ai_flags;
int ai_family;
int ai_socktype;
struct addrinfo *ai_next;
};
-#define IPPORT_RESERVED 1024
-
#define AI_PASSIVE 0x01
#define AI_CANONNAME 0x02
#define AI_NUMERICHOST 0x04
#define NI_NOFQDN 0x04
#define NI_NAMEREQD 0x08
#define NI_DGRAM 0x10
-/*#define NI_NUMERICSCOPE */
+#define NI_NUMERICSCOPE 0x100
#define EAI_BADFLAGS -1
#define EAI_NONAME -2
/* Legacy functions follow (marked OBsolete in SUS) */
-struct netent
-{
+struct netent {
char *n_name;
char **n_aliases;
int n_addrtype;
uint32_t n_net;
};
-struct hostent
-{
+struct hostent {
char *h_name;
char **h_aliases;
int h_addrtype;
};
#define h_addr h_addr_list[0]
-struct servent
-{
+struct servent {
char *s_name;
char **s_aliases;
int s_port;
char *s_proto;
};
-struct protoent
-{
+struct protoent {
char *p_name;
char **p_aliases;
int p_proto;
#define TRY_AGAIN 2
#define NO_RECOVERY 3
#define NO_DATA 4
+#define NO_ADDRESS NO_DATA
#endif
#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
+void herror(const char *);
const char *hstrerror(int);
int gethostbyname_r(const char *, struct hostent *, char *, size_t, struct hostent **, int *);
int gethostbyname2_r(const char *, int, struct hostent *, char *, size_t, struct hostent **, int *);