1 #ifndef _LIBPSOCKET__NETDB_H_
2 #define _LIBPSOCKET__NETDB_H_
4 #include <sys/socket.h>
38 #define AI_PASSIVE 0x001
39 #define AI_V4MAPPED 0x002
40 #define AI_ADDRCONFIG 0x004
41 #define AI_NUMERICHOST 0x008
42 #define AI_NUMERICSERV 0x010
44 #define NI_NAMEREQD (1<<0)
45 #define NI_DGRAM (1<<1)
46 #define NI_NOFQDN (1<<2)
47 #define NI_NUMERICHOST (1<<3)
48 #define NI_NUMERICSERV (1<<4)
50 #define NI_MAXHOST 1024 // may not be posix
52 // Error values from gethostbyaddr/gethostbyname
86 struct sockaddr *ai_addr;
88 struct addrinfo *ai_next;
91 extern int getnameinfo(const struct sockaddr *sa, socklen_t salen, char *host, size_t hostlen, char *serv, size_t servlen, int flags);
92 extern int getaddrinfo(const char *node, const char *service, const struct addrinfo *hints, struct addrinfo **res);
93 extern void freeaddrinfo(struct addrinfo *res);
94 const char *gai_strerror(int errorcode);
96 extern struct servent *getservbyname(const char *name, const char *proto);
97 extern struct servent *getservbyport(int port, const char *proto);
99 extern void setservent(int stayopen);
100 extern struct servent *getservent(void);
101 extern void enservent(void);