Merge remote branch 'origin/master' into fedora/master
[glibc.git] / include / resolv.h
blob7ab7f8779d6f8f29abc18e5824b1d28646e8b2aa
1 #ifndef _RESOLV_H_
3 #define RES_SET_H_ERRNO(r,x) \
4 do \
5 { \
6 (r)->res_h_errno = x; \
7 __set_h_errno(x); \
8 } \
9 while (0)
11 #include <stdbool.h>
12 #include <resolv/resolv.h>
14 #ifdef _RESOLV_H_
16 # ifdef _LIBC_REENTRANT
17 # include <tls.h>
18 # if USE___THREAD
19 # undef _res
20 # ifndef NOT_IN_libc
21 # define __resp __libc_resp
22 # endif
23 # define _res (*__resp)
24 extern __thread struct __res_state *__resp attribute_tls_model_ie;
25 # endif
26 # else
27 # ifndef __BIND_NOSTATIC
28 # undef _res
29 extern struct __res_state _res;
30 # endif
31 # endif
33 /* Now define the internal interfaces. */
34 extern int __res_vinit (res_state, int);
35 extern int __res_maybe_init (res_state, int);
36 extern void _sethtent (int);
37 extern void _endhtent (void);
38 extern struct hostent *_gethtent (void);
39 extern struct hostent *_gethtbyname (const char *__name);
40 extern struct hostent *_gethtbyname2 (const char *__name, int __af);
41 struct hostent *_gethtbyaddr (const char *addr, size_t __len, int __af);
42 extern u_int32_t _getlong (const u_char *__src);
43 extern u_int16_t _getshort (const u_char *__src);
44 extern void res_pquery (const res_state __statp, const u_char *__msg,
45 int __len, FILE *__file);
46 extern void res_send_setqhook (res_send_qhook __hook);
47 extern void res_send_setrhook (res_send_rhook __hook);
48 extern int res_ourserver_p (const res_state __statp,
49 const struct sockaddr_in6 *__inp);
50 extern void __res_iclose (res_state statp, bool free_addr);
51 extern int __res_nopt(res_state statp, int n0, u_char *buf, int buflen,
52 int anslen);
53 libc_hidden_proto (__res_ninit)
54 libc_hidden_proto (__res_maybe_init)
55 libc_hidden_proto (__res_nclose)
56 libc_hidden_proto (__res_iclose)
57 libc_hidden_proto (__res_randomid)
58 libc_hidden_proto (__res_state)
60 int __libc_res_nquery (res_state, const char *, int, int, u_char *, int,
61 u_char **, u_char **, int *, int *);
62 int __libc_res_nsearch (res_state, const char *, int, int, u_char *, int,
63 u_char **, u_char **, int *, int *);
64 int __libc_res_nsend (res_state, const u_char *, int, const u_char *, int,
65 u_char *, int, u_char **, u_char **, int *, int *)
66 attribute_hidden;
68 libresolv_hidden_proto (_sethtent)
69 libresolv_hidden_proto (_gethtent)
70 libresolv_hidden_proto (_gethtbyaddr)
71 libresolv_hidden_proto (_gethtbyname2)
72 libresolv_hidden_proto (__dn_expand)
73 libresolv_hidden_proto (__dn_comp)
74 libresolv_hidden_proto (__dn_skipname)
75 libresolv_hidden_proto (__res_hnok)
76 libresolv_hidden_proto (__res_dnok)
77 libresolv_hidden_proto (__putlong)
78 libresolv_hidden_proto (__putshort)
79 libresolv_hidden_proto (__p_cdnname)
80 libresolv_hidden_proto (__p_fqnname)
81 libresolv_hidden_proto (__p_option)
82 libresolv_hidden_proto (__sym_ntos)
83 libresolv_hidden_proto (__p_rcode)
84 libresolv_hidden_proto (__p_class)
85 libresolv_hidden_proto (__p_type)
86 libresolv_hidden_proto (__loc_ntoa)
87 libresolv_hidden_proto (__fp_nquery)
88 libresolv_hidden_proto (__fp_query)
89 libresolv_hidden_proto (__hostalias)
90 libresolv_hidden_proto (__res_nmkquery)
91 libresolv_hidden_proto (__libc_res_nquery)
92 libresolv_hidden_proto (__res_nquery)
93 libresolv_hidden_proto (__res_nquerydomain)
94 libresolv_hidden_proto (__res_hostalias)
95 libresolv_hidden_proto (__libc_res_nsearch)
96 libresolv_hidden_proto (__res_nsearch)
97 libresolv_hidden_proto (__res_nameinquery)
98 libresolv_hidden_proto (__res_queriesmatch)
99 libresolv_hidden_proto (__res_nsend)
100 libresolv_hidden_proto (__b64_ntop)
101 libresolv_hidden_proto (__res_nopt)
102 libresolv_hidden_proto (__dn_count_labels)
103 libresolv_hidden_proto (__p_secstodate)
105 extern const char *_res_opcodes[];
106 libresolv_hidden_proto (_res_opcodes)
108 #endif
110 #endif