mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-28 00:21:52 +03:00
resolv: Introduce struct resolv_context [BZ #21668]
struct resolv_context objects provide a temporary resolver context which does not change during a name lookup operation. Only when the outmost context is created, the stub resolver configuration is verified to be current (at present, only against previous res_init calls). Subsequent attempts to obtain the context will reuse the result of the initial verification operation. struct resolv_context can also be extended in the future to store data which needs to be deallocated during thread cancellation.
This commit is contained in:
@ -24,7 +24,6 @@ extern __thread struct __res_state *__resp attribute_tls_model_ie;
|
||||
|
||||
/* Now define the internal interfaces. */
|
||||
extern int __res_vinit (res_state, int) attribute_hidden;
|
||||
extern int __res_maybe_init (res_state, int);
|
||||
extern void _sethtent (int);
|
||||
extern struct hostent *_gethtent (void);
|
||||
extern struct hostent *_gethtbyname (const char *__name);
|
||||
@ -36,24 +35,11 @@ extern int res_ourserver_p (const res_state __statp,
|
||||
const struct sockaddr_in6 *__inp);
|
||||
extern void __res_iclose (res_state statp, bool free_addr);
|
||||
libc_hidden_proto (__res_ninit)
|
||||
libc_hidden_proto (__res_maybe_init)
|
||||
libc_hidden_proto (__res_nclose)
|
||||
libc_hidden_proto (__res_iclose)
|
||||
libc_hidden_proto (__res_randomid)
|
||||
libc_hidden_proto (__res_state)
|
||||
|
||||
int __libc_res_nquery (res_state, const char *, int, int,
|
||||
unsigned char *, int, unsigned char **,
|
||||
unsigned char **, int *, int *, int *);
|
||||
int __libc_res_nsearch (res_state, const char *, int, int,
|
||||
unsigned char *, int, unsigned char **,
|
||||
unsigned char **, int *, int *, int *);
|
||||
int __libc_res_nsend (res_state, const unsigned char *, int,
|
||||
const unsigned char *, int, unsigned char *,
|
||||
int, unsigned char **, unsigned char **,
|
||||
int *, int *, int *)
|
||||
attribute_hidden;
|
||||
|
||||
libresolv_hidden_proto (_sethtent)
|
||||
libresolv_hidden_proto (_gethtent)
|
||||
libresolv_hidden_proto (_gethtbyaddr)
|
||||
@ -75,17 +61,8 @@ libresolv_hidden_proto (__p_type)
|
||||
libresolv_hidden_proto (__loc_ntoa)
|
||||
libresolv_hidden_proto (__fp_nquery)
|
||||
libresolv_hidden_proto (__fp_query)
|
||||
libresolv_hidden_proto (__hostalias)
|
||||
libresolv_hidden_proto (__res_nmkquery)
|
||||
libresolv_hidden_proto (__libc_res_nquery)
|
||||
libresolv_hidden_proto (__res_nquery)
|
||||
libresolv_hidden_proto (__res_nquerydomain)
|
||||
libresolv_hidden_proto (__res_hostalias)
|
||||
libresolv_hidden_proto (__libc_res_nsearch)
|
||||
libresolv_hidden_proto (__res_nsearch)
|
||||
libresolv_hidden_proto (__res_nameinquery)
|
||||
libresolv_hidden_proto (__res_queriesmatch)
|
||||
libresolv_hidden_proto (__res_nsend)
|
||||
libresolv_hidden_proto (__b64_ntop)
|
||||
libresolv_hidden_proto (__dn_count_labels)
|
||||
libresolv_hidden_proto (__p_secstodate)
|
||||
|
Reference in New Issue
Block a user