1 /*
2 * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
3 * Use is subject to license terms.
4 */
5
6
7 #ifndef _PORT_NETDB_H
8 #define _PORT_NETDB_H
9
10 #ifdef __cplusplus
11 extern "C" {
12 #endif
13
14 /* EAI_OVERFLOW was removed from ISC */
15 #define EAI_BADHINTS 12
16
17 /*
18 * these are libresolv2 functions that were renamed in previous versions to
19 * res_* because they conflict with libnsl or libsocket
20 */
21
22 #define endhostent res_endhostent /* libnsl */
23 void endhostent __P((void));
24 #define endnetent res_endnetent /* libsocket */
25 void endnetent __P((void));
26 #define freeaddrinfo res_freeaddrinfo /* libsocket */
27 void freeaddrinfo __P((struct addrinfo *));
28 #define freehostent res_freehostent /* libsocket and libnsl */
29 void freehostent __P((struct hostent *));
30 #define getaddrinfo res_getaddrinfo /* libsocket */
31 int getaddrinfo __P((const char *, const char *,
32 const struct addrinfo *, struct addrinfo **));
33 #define gethostbyaddr res_gethostbyaddr /* libnsl */
34 struct hostent *gethostbyaddr __P((const char *, int, int));
35 #define gethostbyname res_gethostbyname /* libnsl */
36 struct hostent *gethostbyname __P((const char *));
37 #define gethostbyname2 res_gethostbyname2 /* lib/nsswitch/dns */
38 struct hostent *gethostbyname2 __P((const char *, int));
39 #define gethostent res_gethostent /* libnsl */
40 struct hostent *gethostent __P((void));
41 #define getipnodebyaddr res_getipnodebyaddr /* libnsl and libsocket */
42 struct hostent *getipnodebyaddr __P((const void *, size_t, int, int *));
43 #define getipnodebyname res_getipnodebyname /* libnsl and libsocket */
44 struct hostent *getipnodebyname __P((const char *, int, int, int *));
45
46 #define getnetbyaddr res_getnetbyaddr /* libsocket */
47 struct netent *getnetbyaddr __P((unsigned long, int));
48 #define getnetbyname res_getnetbyname /* libsocket */
49 struct netent *getnetbyname __P((const char *));
50 #define getnetent res_getnetent /* libsocket */
51 struct netent *getnetent __P((void));
52 #define sethostent res_sethostent /* libnsl */
53 void sethostent __P((int));
54 #define setnetent res_setnetent /* libsocket */
55 void setnetent __P((int));
56
57 /*
58 * these are other irs functions now included in libresolv.so.2. We rename the
59 * ones that overlap with libsocket or libnsl
60 */
61
62 /* endprotoent is in libsocket.so.1 */
63 #define endprotoent res_endprotoent
64 void endprotoent __P((void));
65
66 /* endservent is in libsocket.so.1 */
67 #define endservent res_endservent
68 void endservent __P((void));
69
70 /* note: the next two symbols are variables, not functions */
71
72 /* gai_errlist is in libsocket.so.1 */
73 #define gai_errlist res_gai_errlist
74
75 /* gai_nerr is in libsocket.so.1 */
76 #define gai_nerr res_gai_nerr
77
78 /* gai_strerror is in libsocket.so.1 */
79 #define gai_strerror res_gai_strerror
80 const char *gai_strerror __P((int ecode));
81
82 /* gethostbyaddr_r is in libnsl.so.1 */
83 #define gethostbyaddr_r res_gethostbyaddr_r
84 struct hostent *gethostbyaddr_r __P((const char *addr, int len, int type,
85 struct hostent *hptr, char *buf,
86 int buflen, int *h_errnop));
87
88 /* gethostbyname_r is in libnsl.so.1 */
89 #define gethostbyname_r res_gethostbyname_r
90 struct hostent *gethostbyname_r __P((const char *name, struct hostent *hptr,
91 char *buf, int buflen, int *h_errnop));
92
93 /* gethostent_r is in libnsl.so.1 */
94 #define gethostent_r res_gethostent_r
95 struct hostent *gethostent_r __P((struct hostent *hptr, char *buf, int buflen,
96 int *h_errnop));
97
98 /* getnameinfo is in libsocket.so.1 */
99 #define getnameinfo res_getnameinfo
100 int getnameinfo __P((const struct sockaddr *, size_t, char *,
101 size_t, char *, size_t, int));
102
103 /* getnetbyaddr_r is in libsocket.so.1 */
104 #define getnetbyaddr_r res_getnetbyaddr_r
105 struct netent *getnetbyaddr_r __P((long, int, struct netent *, char *, int));
106
107 /* getnetbyname_r is in libsocket.so.1 */
108 #define getnetbyname_r res_getnetbyname_r
109 struct netent *getnetbyname_r __P((const char *, struct netent *, char *, int));
110
111 /* getnetent_r is in libsocket.so.1 */
112 #define getnetent_r res_getnetent_r
113 struct netent *getnetent_r __P((struct netent *, char *, int));
114
115 /* getprotobyname is in libsocket.so.1 */
116 #define getprotobyname res_getprotobyname
117 struct protoent *getprotobyname __P((const char *));
118
119 /* getprotobyname_r is in libsocket.so.1 */
120 #define getprotobyname_r res_getprotobyname_r
121 struct protoent *getprotobyname_r __P((const char *, struct protoent *,
122 char *, int));
123
124 /* getprotobynumber is in libsocket.so.1 */
125 #define getprotobynumber res_getprotobynumber
126 struct protoent *getprotobynumber __P((int));
127
128 /* getprotobynumber_r is in libsocket.so.1 */
129 #define getprotobynumber_r res_getprotobynumber_r
130 struct protoent *getprotobynumber_r __P((int,
131 struct protoent *, char *, int));
132
133 /* getprotoent is in libsocket.so.1 */
134 #define getprotoent res_getprotoent
135 struct protoent *getprotoent __P((void));
136
137 /* getprotoent_r is in libsocket.so.1 */
138 #define getprotoent_r res_getprotoent_r
139 struct protoent *getprotoent_r __P((struct protoent *, char *, int));
140
141 /* getservbyname is in libsocket.so.1 and libnsl.so.1 */
142 #define getservbyname res_getservbyname
143 struct servent *getservbyname __P((const char *, const char *));
144
145 /* getservbyname_r is in libsocket.so.1 and libnsl.so.1 */
146 #define getservbyname_r res_getservbyname_r
147 struct servent *getservbyname_r __P((const char *name, const char *,
148 struct servent *, char *, int));
149
150 /* getservbyport is in libsocket.so.1 and libnsl.so.1 */
151 #define getservbyport res_getservbyport
152 struct servent *getservbyport __P((int, const char *));
153
154 /* getservbyport_r is in libsocket.so.1 and libnsl.so.1 */
155 #define getservbyport_r res_getservbyport_r
156 struct servent *getservbyport_r __P((int port, const char *,
157 struct servent *, char *, int));
158
159 /* getservent is in libsocket.so.1 */
160 #define getservent res_getservent
161 struct servent *getservent __P((void));
162
163 /* getservent_r is in libsocket.so.1 */
164 #define getservent_r res_getservent_r
165 struct servent *getservent_r __P((struct servent *, char *, int));
166
167 /* innetgr is in libsocket.so.1 */
168 #define innetgr res_innetgr
169 int innetgr __P((const char *, const char *, const char *, const char *));
170
171 /* setprotoent is in libsocket.so.1 */
172 #define setprotoent res_setprotoent
173 void setprotoent __P((int));
174
175 /* setservent is in libsocket.so.1 */
176 #define setservent res_setservent
177 void setservent __P((int));
178
179
180
181 #ifdef __cplusplus
182 }
183 #endif
184
185 #endif /* _PORT_NETDB_H */