Usermode/libpsocket - Features used by irssi
[tpg/acess2.git] / Usermode / Libraries / libpsocket.so_src / include_exp / netdb.h
index e9cf788..95f6f2e 100644 (file)
@@ -3,10 +3,60 @@
 
 #include <sys/socket.h>
 
+struct hostent
+{
+       char    *h_name;
+       char    **h_aliases;
+        int    h_addrtype;
+        int    h_length;
+       char    **h_addr_list;
+};
+
+struct netent
+{
+       char    *n_name;
+       char    **n_aliases;
+       int     n_addrtype;
+       uint32_t        n_net;
+};
+
+struct protoent
+{
+       char    *p_name;
+       char    **p_aliases;
+        int    p_proto;
+};
+
+struct servent
+{
+       char    *s_name;
+       char    **s_aliases;
+       int     s_port;
+       char    *s_proto;
+};
+
 #define AI_PASSIVE     0x001
 #define AI_V4MAPPED    0x002
 #define AI_ADDRCONFIG  0x004
 #define AI_NUMERICHOST 0x008
+#define AI_NUMERICSERV 0x010
+
+#define NI_NAMEREQD    (1<<0)
+#define NI_DGRAM       (1<<1)
+#define NI_NOFQDN      (1<<2)
+#define        NI_NUMERICHOST  (1<<3)
+#define NI_NUMERICSERV (1<<4)
+
+#define NI_MAXHOST     1024    // may not be posix
+
+// Error values from gethostbyaddr/gethostbyname
+enum
+{
+       HOST_NOT_FOUND = 1,
+       NO_DATA,
+       NO_RECOVERY,
+       TRY_AGAIN,
+};
 
 enum
 {
@@ -22,7 +72,8 @@ enum
        EAI_NODATA,
        EAI_NONAME,
        EAI_SERVICE,
-       EAI_SYSTEM
+       EAI_SYSTEM,
+       EAI_OVERFLOW
 };
 
 struct addrinfo
@@ -37,10 +88,17 @@ struct addrinfo
        struct addrinfo *ai_next;
 };
 
+extern int     getnameinfo(const struct sockaddr *sa, socklen_t salen, char *host, size_t hostlen, char *serv, size_t servlen, int flags);
 extern int     getaddrinfo(const char *node, const char *service, const struct addrinfo *hints, struct addrinfo **res);
 extern void    freeaddrinfo(struct addrinfo *res);
 const char     *gai_strerror(int errorcode);
 
+extern struct servent  *getservbyname(const char *name, const char *proto);
+extern struct servent  *getservbyport(int port, const char *proto);
+
+extern void    setservent(int stayopen);
+extern struct servent  *getservent(void);
+extern void    enservent(void);
 
 #endif
 

UCC git Repository :: git.ucc.asn.au