Usermode/libpsocket - Add MSG_* values for send/recv
[tpg/acess2.git] / Usermode / Libraries / libpsocket.so_src / include_exp / netdb.h
1 #ifndef _LIBPSOCKET__NETDB_H_
2 #define _LIBPSOCKET__NETDB_H_
3
4 #include <sys/socket.h>
5
6 struct hostent
7 {
8         char    *h_name;
9         char    **h_aliases;
10          int    h_addrtype;
11          int    h_length;
12         char    **h_addr_list;
13 };
14
15 struct netent
16 {
17         char    *n_name;
18         char    **n_aliases;
19         int     n_addrtype;
20         uint32_t        n_net;
21 };
22
23 struct protoent
24 {
25         char    *p_name;
26         char    **p_aliases;
27          int    p_proto;
28 };
29
30 struct servent
31 {
32         char    *s_name;
33         char    **s_aliases;
34         int     s_port;
35         char    *s_proto;
36 };
37
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
43
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)
49
50 #define NI_MAXHOST      1024    // may not be posix
51
52 // Error values from gethostbyaddr/gethostbyname
53 enum
54 {
55         HOST_NOT_FOUND = 1,
56         NO_DATA,
57         NO_RECOVERY,
58         TRY_AGAIN,
59 };
60
61 enum
62 {
63         EAI_SUCCESS,
64         EAI_AGAIN,
65         EAI_BADFLAGS,
66         EAI_FAMILY,
67         EAI_SOCKTTPE,
68         
69         EAI_ADDRFAMILY,
70         EAI_FAIL,
71         EAI_MEMORY,
72         EAI_NODATA,
73         EAI_NONAME,
74         EAI_SERVICE,
75         EAI_SYSTEM,
76         EAI_OVERFLOW
77 };
78
79 struct addrinfo
80 {
81         int     ai_flags;
82         int     ai_family;
83         int     ai_socktype;
84         int     ai_protocol;
85         socklen_t       ai_addrlen;
86         struct sockaddr *ai_addr;
87         char    *ai_canonname;
88         struct addrinfo *ai_next;
89 };
90
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);
95
96 extern struct servent   *getservbyname(const char *name, const char *proto);
97 extern struct servent   *getservbyport(int port, const char *proto);
98
99 extern void     setservent(int stayopen);
100 extern struct servent   *getservent(void);
101 extern void     enservent(void);
102
103 #endif
104

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