]>
Commit | Line | Data |
---|---|---|
5c2a0669 | 1 | #ifndef _NETDB_H |
3cf595e5 | 2 | #include <resolv/netdb.h> |
5c2a0669 | 3 | |
31341567 | 4 | #ifndef _ISOMAC |
17680430 | 5 | # include <stdint.h> |
c2afe833 | 6 | /* Macros for accessing h_errno from inside libc. */ |
4f41c682 | 7 | # if IS_IN_LIB |
903ae060 | 8 | # undef h_errno |
4f41c682 | 9 | # if IS_IN (libc) |
7f9d0034 | 10 | # define h_errno __libc_h_errno |
903ae060 | 11 | # else |
9acacaa0 | 12 | # define h_errno __h_errno |
7f9d0034 RM |
13 | # endif |
14 | extern __thread int h_errno attribute_tls_model_ie; | |
4f41c682 | 15 | # endif /* IS_IN_LIB */ |
d063d164 | 16 | # define __set_h_errno(x) (h_errno = (x)) |
c2afe833 | 17 | |
e2ec9b4d | 18 | libc_hidden_proto (hstrerror) |
a585ba22 RM |
19 | libc_hidden_proto (innetgr) |
20 | libc_hidden_proto (rcmd_af) | |
21 | libc_hidden_proto (rexec_af) | |
22 | libc_hidden_proto (rresvport_af) | |
23 | libc_hidden_proto (ruserok_af) | |
24 | ||
9b0b40d3 RM |
25 | libc_hidden_proto (getaddrinfo) |
26 | libc_hidden_proto (getnameinfo) | |
27 | libc_hidden_proto (freeaddrinfo) | |
7a8bdff0 | 28 | libc_hidden_proto (gai_strerror) |
a4baf360 | 29 | libc_hidden_proto (__h_errno_location) |
9b0b40d3 | 30 | |
5c2a0669 | 31 | /* Document internal interfaces. */ |
fe559c5e UD |
32 | extern int __gethostent_r (struct hostent *__restrict __result_buf, |
33 | char *__restrict __buf, size_t __buflen, | |
34 | struct hostent **__restrict __result, | |
dff07c4b | 35 | int *__restrict __h_errnop) attribute_hidden; |
c3301189 UD |
36 | extern int __old_gethostent_r (struct hostent *__restrict __result_buf, |
37 | char *__restrict __buf, size_t __buflen, | |
38 | struct hostent **__restrict __result, | |
39 | int *__restrict __h_errnop); | |
5c2a0669 | 40 | |
a784e502 | 41 | extern int __gethostbyaddr_r (const void *__restrict __addr, |
9d4d69b8 | 42 | socklen_t __len, int __type, |
fe559c5e UD |
43 | struct hostent *__restrict __result_buf, |
44 | char *__restrict __buf, size_t __buflen, | |
45 | struct hostent **__restrict __result, | |
9635ce69 L |
46 | int *__restrict __h_errnop) |
47 | attribute_hidden; | |
a784e502 | 48 | extern int __old_gethostbyaddr_r (const void *__restrict __addr, |
c3301189 UD |
49 | socklen_t __len, int __type, |
50 | struct hostent *__restrict __result_buf, | |
51 | char *__restrict __buf, size_t __buflen, | |
52 | struct hostent **__restrict __result, | |
53 | int *__restrict __h_errnop); | |
5c2a0669 | 54 | |
a784e502 | 55 | extern int __gethostbyaddr2_r (const void *__restrict __addr, |
53bab260 UD |
56 | socklen_t __len, int __type, |
57 | struct hostent *__restrict __result_buf, | |
58 | char *__restrict __buf, size_t __buflen, | |
59 | struct hostent **__restrict __result, | |
60 | int *__restrict __h_errnop, | |
61 | int32_t *ttlp); | |
62 | ||
a784e502 | 63 | extern int __gethostbyname_r (const char *__restrict __name, |
fe559c5e UD |
64 | struct hostent *__restrict __result_buf, |
65 | char *__restrict __buf, size_t __buflen, | |
66 | struct hostent **__restrict __result, | |
9635ce69 L |
67 | int *__restrict __h_errnop) |
68 | attribute_hidden; | |
a784e502 | 69 | extern int __old_gethostbyname_r (const char *__restrict __name, |
c3301189 UD |
70 | struct hostent *__restrict __result_buf, |
71 | char *__restrict __buf, size_t __buflen, | |
72 | struct hostent **__restrict __result, | |
73 | int *__restrict __h_errnop); | |
5c2a0669 | 74 | |
a784e502 | 75 | extern int __gethostbyname2_r (const char *__restrict __name, int __af, |
fe559c5e | 76 | struct hostent *__restrict __result_buf, |
5c2a0669 | 77 | char *__restrict __buf, size_t __buflen, |
fe559c5e | 78 | struct hostent **__restrict __result, |
9635ce69 L |
79 | int *__restrict __h_errnop) |
80 | attribute_hidden; | |
a784e502 | 81 | extern int __old_gethostbyname2_r (const char *__restrict __name, int __af, |
c3301189 UD |
82 | struct hostent *__restrict __result_buf, |
83 | char *__restrict __buf, size_t __buflen, | |
84 | struct hostent **__restrict __result, | |
85 | int *__restrict __h_errnop); | |
5c2a0669 | 86 | |
a784e502 | 87 | extern int __gethostbyname3_r (const char *__restrict __name, int __af, |
53bab260 UD |
88 | struct hostent *__restrict __result_buf, |
89 | char *__restrict __buf, size_t __buflen, | |
90 | struct hostent **__restrict __result, | |
91 | int *__restrict __h_errnop, | |
92 | int32_t *ttlp, char **canonp); | |
93 | ||
fe559c5e UD |
94 | extern int __getnetent_r (struct netent *__restrict __result_buf, |
95 | char *__restrict __buf, size_t __buflen, | |
96 | struct netent **__restrict __result, | |
dff07c4b | 97 | int *__restrict __h_errnop) attribute_hidden; |
c3301189 UD |
98 | extern int __old_getnetent_r (struct netent *__restrict __result_buf, |
99 | char *__restrict __buf, size_t __buflen, | |
100 | struct netent **__restrict __result, | |
101 | int *__restrict __h_errnop); | |
5c2a0669 | 102 | |
9b48fa9b | 103 | extern int __getnetbyaddr_r (uint32_t __net, int __type, |
fe559c5e UD |
104 | struct netent *__restrict __result_buf, |
105 | char *__restrict __buf, size_t __buflen, | |
106 | struct netent **__restrict __result, | |
9635ce69 L |
107 | int *__restrict __h_errnop) |
108 | attribute_hidden; | |
c3301189 UD |
109 | extern int __old_getnetbyaddr_r (uint32_t __net, int __type, |
110 | struct netent *__restrict __result_buf, | |
111 | char *__restrict __buf, size_t __buflen, | |
112 | struct netent **__restrict __result, | |
113 | int *__restrict __h_errnop); | |
5c2a0669 | 114 | |
a784e502 | 115 | extern int __getnetbyname_r (const char *__restrict __name, |
fe559c5e UD |
116 | struct netent *__restrict __result_buf, |
117 | char *__restrict __buf, size_t __buflen, | |
118 | struct netent **__restrict __result, | |
9635ce69 L |
119 | int *__restrict __h_errnop) |
120 | attribute_hidden; | |
a784e502 | 121 | extern int __old_getnetbyname_r (const char *__restrict __name, |
c3301189 UD |
122 | struct netent *__restrict __result_buf, |
123 | char *__restrict __buf, size_t __buflen, | |
124 | struct netent **__restrict __result, | |
125 | int *__restrict __h_errnop); | |
5c2a0669 | 126 | |
fe559c5e UD |
127 | extern int __getservent_r (struct servent *__restrict __result_buf, |
128 | char *__restrict __buf, size_t __buflen, | |
dff07c4b UD |
129 | struct servent **__restrict __result) |
130 | attribute_hidden; | |
c3301189 UD |
131 | extern int __old_getservent_r (struct servent *__restrict __result_buf, |
132 | char *__restrict __buf, size_t __buflen, | |
133 | struct servent **__restrict __result); | |
5c2a0669 | 134 | |
a784e502 UD |
135 | extern int __getservbyname_r (const char *__restrict __name, |
136 | const char *__restrict __proto, | |
fe559c5e UD |
137 | struct servent *__restrict __result_buf, |
138 | char *__restrict __buf, size_t __buflen, | |
9635ce69 L |
139 | struct servent **__restrict __result) |
140 | attribute_hidden; | |
a784e502 UD |
141 | extern int __old_getservbyname_r (const char *__restrict __name, |
142 | const char *__restrict __proto, | |
c3301189 UD |
143 | struct servent *__restrict __result_buf, |
144 | char *__restrict __buf, size_t __buflen, | |
145 | struct servent **__restrict __result); | |
5c2a0669 | 146 | |
fe559c5e | 147 | extern int __getservbyport_r (int __port, |
a784e502 | 148 | const char *__restrict __proto, |
fe559c5e UD |
149 | struct servent *__restrict __result_buf, |
150 | char *__restrict __buf, size_t __buflen, | |
9635ce69 L |
151 | struct servent **__restrict __result) |
152 | attribute_hidden; | |
c3301189 | 153 | extern int __old_getservbyport_r (int __port, |
a784e502 | 154 | const char *__restrict __proto, |
c3301189 UD |
155 | struct servent *__restrict __result_buf, |
156 | char *__restrict __buf, size_t __buflen, | |
157 | struct servent **__restrict __result); | |
5c2a0669 | 158 | |
fe559c5e UD |
159 | extern int __getprotoent_r (struct protoent *__restrict __result_buf, |
160 | char *__restrict __buf, size_t __buflen, | |
dff07c4b UD |
161 | struct protoent **__restrict __result) |
162 | attribute_hidden; | |
c3301189 UD |
163 | extern int __old_getprotoent_r (struct protoent *__restrict __result_buf, |
164 | char *__restrict __buf, size_t __buflen, | |
165 | struct protoent **__restrict __result); | |
5c2a0669 | 166 | |
a784e502 | 167 | extern int __getprotobyname_r (const char *__restrict __name, |
fe559c5e UD |
168 | struct protoent *__restrict __result_buf, |
169 | char *__restrict __buf, size_t __buflen, | |
9635ce69 L |
170 | struct protoent **__restrict __result) |
171 | attribute_hidden; | |
a784e502 | 172 | extern int __old_getprotobyname_r (const char *__restrict __name, |
c3301189 UD |
173 | struct protoent *__restrict __result_buf, |
174 | char *__restrict __buf, size_t __buflen, | |
175 | struct protoent **__restrict __result); | |
fe559c5e UD |
176 | |
177 | extern int __getprotobynumber_r (int __proto, | |
178 | struct protoent *__restrict __res_buf, | |
179 | char *__restrict __buf, size_t __buflen, | |
9635ce69 L |
180 | struct protoent **__restrict __result) |
181 | attribute_hidden; | |
c3301189 UD |
182 | extern int __old_getprotobynumber_r (int __proto, |
183 | struct protoent *__restrict __res_buf, | |
184 | char *__restrict __buf, size_t __buflen, | |
185 | struct protoent **__restrict __result); | |
5c2a0669 | 186 | |
fe559c5e UD |
187 | extern int __getnetgrent_r (char **__restrict __hostp, |
188 | char **__restrict __userp, | |
189 | char **__restrict __domainp, | |
9635ce69 L |
190 | char *__restrict __buffer, size_t __buflen) |
191 | attribute_hidden; | |
3846463e UD |
192 | |
193 | extern int ruserpass (const char *host, const char **aname, | |
194 | const char **apass); | |
e2ec9b4d | 195 | libc_hidden_proto (ruserpass) |
6eace24c | 196 | |
47f78f36 LM |
197 | # if __TIMESIZE == 64 |
198 | # define __gai_suspend_time64 __gai_suspend | |
199 | # else | |
200 | extern int __gai_suspend_time64 (const struct gaicb *const list[], int ent, | |
201 | const struct __timespec64 *timeout); | |
dbb949f5 FW |
202 | # if PTHREAD_IN_LIBC |
203 | libc_hidden_proto (__gai_suspend_time64) | |
204 | # else | |
47f78f36 | 205 | libanl_hidden_proto (__gai_suspend_time64) |
dbb949f5 | 206 | # endif |
47f78f36 | 207 | # endif |
6eace24c | 208 | |
925c3c5c UD |
209 | /* The following definition has been removed from the public header |
210 | since we don't want people to use them. */ | |
6eace24c | 211 | |
6eace24c UD |
212 | #define AI_DEFAULT (AI_V4MAPPED | AI_ADDRCONFIG) |
213 | ||
3f7c7ac8 | 214 | #include <nss/netgroup.h> |
51eecc4a | 215 | |
784d802e AJ |
216 | extern enum nss_status _nss_netgroup_parseline (char **cursor, |
217 | struct __netgrent *result, | |
218 | char *buffer, size_t buflen, | |
219 | int *errnop); | |
6212bb67 | 220 | libc_hidden_proto (_nss_netgroup_parseline) |
784d802e | 221 | |
23bab906 AJ |
222 | #define DECLARE_NSS_PROTOTYPES(service) \ |
223 | extern enum nss_status _nss_ ## service ## _setprotoent (int); \ | |
224 | extern enum nss_status _nss_ ## service ## _endprotoent (void); \ | |
225 | extern enum nss_status _nss_ ## service ## _getprotoent_r \ | |
226 | (struct protoent *proto, char *buffer, size_t buflen, \ | |
227 | int *errnop); \ | |
228 | extern enum nss_status _nss_ ## service ## _getprotobyname_r \ | |
229 | (const char *name, struct protoent *proto, \ | |
230 | char *buffer, size_t buflen, int *errnop); \ | |
231 | extern enum nss_status _nss_ ## service ## _getprotobynumber_r \ | |
232 | (int number, struct protoent *proto, \ | |
233 | char *buffer, size_t buflen, int *errnop); \ | |
234 | extern enum nss_status _nss_ ## service ## _sethostent (int); \ | |
235 | extern enum nss_status _nss_ ## service ## _endhostent (void); \ | |
236 | extern enum nss_status _nss_ ## service ## _gethostent_r \ | |
237 | (struct hostent *host, char *buffer, size_t buflen, \ | |
238 | int *errnop, int *h_errnop); \ | |
239 | extern enum nss_status _nss_ ## service ## _gethostbyname2_r \ | |
240 | (const char *name, int af, struct hostent *host, \ | |
241 | char *buffer, size_t buflen, int *errnop, \ | |
242 | int *h_errnop); \ | |
243 | extern enum nss_status _nss_ ## service ## _gethostbyname_r \ | |
244 | (const char *name, struct hostent *host, char *buffer, \ | |
245 | size_t buflen, int *errnop, int *h_errnop); \ | |
246 | extern enum nss_status _nss_ ## service ## _gethostbyaddr_r \ | |
247 | (const void *addr, socklen_t addrlen, int af, \ | |
248 | struct hostent *host, char *buffer, size_t buflen, \ | |
249 | int *errnop, int *h_errnop); \ | |
250 | extern enum nss_status _nss_ ## service ## _setservent (int); \ | |
251 | extern enum nss_status _nss_ ## service ## _endservent (void); \ | |
252 | extern enum nss_status _nss_ ## service ## _getservent_r \ | |
253 | (struct servent *serv, char *buffer, size_t buflen, \ | |
254 | int *errnop); \ | |
255 | extern enum nss_status _nss_ ## service ## _getservbyname_r \ | |
256 | (const char *name, const char *protocol, \ | |
257 | struct servent *serv, char *buffer, size_t buflen, \ | |
258 | int *errnop); \ | |
259 | extern enum nss_status _nss_ ## service ## _getservbyport_r \ | |
260 | (int port, const char *protocol, struct servent *serv, \ | |
261 | char *buffer, size_t buflen, int *errnop); \ | |
262 | extern enum nss_status _nss_ ## service ## _setnetgrent \ | |
263 | (const char *group, struct __netgrent *result); \ | |
264 | extern enum nss_status _nss_ ## service ## _endnetgrent \ | |
265 | (struct __netgrent *result); \ | |
266 | extern enum nss_status _nss_ ## service ## _getnetgrent_r \ | |
267 | (struct __netgrent *result, char *buffer, \ | |
268 | size_t buflen, int *errnop); \ | |
269 | extern enum nss_status _nss_ ## service ## _setnetent (int stayopen); \ | |
270 | extern enum nss_status _nss_ ## service ## _endnetent (void); \ | |
271 | extern enum nss_status _nss_ ## service ## _getnetent_r \ | |
272 | (struct netent *net, char *buffer, size_t buflen, \ | |
273 | int *errnop, int *herrnop); \ | |
274 | extern enum nss_status _nss_ ## service ## _getnetbyname_r \ | |
275 | (const char *name, struct netent *net, char *buffer, \ | |
276 | size_t buflen, int *errnop, int *herrnop); \ | |
277 | extern enum nss_status _nss_ ## service ## _getnetbyaddr_r \ | |
278 | (uint32_t addr, int type, struct netent *net, \ | |
279 | char *buffer, size_t buflen, int *errnop, \ | |
d423e170 FW |
280 | int *herrnop); \ |
281 | extern enum nss_status _nss_ ## service ## _endspent (void); | |
51eecc4a AJ |
282 | |
283 | DECLARE_NSS_PROTOTYPES (compat) | |
284 | DECLARE_NSS_PROTOTYPES (dns) | |
285 | DECLARE_NSS_PROTOTYPES (files) | |
286 | DECLARE_NSS_PROTOTYPES (hesiod) | |
51eecc4a AJ |
287 | |
288 | #undef DECLARE_NSS_PROTOTYPES | |
d423e170 | 289 | |
31341567 | 290 | #endif |
51eecc4a | 291 | |
5c2a0669 | 292 | #endif /* !_NETDB_H */ |