| /* $NetBSD: resolv_mt.h,v 1.1.1.3 2009/04/12 16:35:44 christos Exp $ */ |
| |
| #ifndef _RESOLV_MT_H |
| #define _RESOLV_MT_H |
| |
| #include <sys/types.h> |
| #include <netinet/in.h> |
| #include <arpa/nameser.h> |
| #include <resolv.h> |
| |
| /* Access functions for the libresolv private interface */ |
| |
| int __res_enable_mt(void); |
| int __res_disable_mt(void); |
| |
| /* Per-thread context */ |
| |
| typedef struct { |
| int no_hosts_fallback_private; |
| int retry_save; |
| int retry_private; |
| char inet_nsap_ntoa_tmpbuf[255*3]; |
| char sym_ntos_unname[20]; |
| char sym_ntop_unname[20]; |
| char p_option_nbuf[40]; |
| char p_time_nbuf[40]; |
| char precsize_ntoa_retbuf[sizeof "90000000.00"]; |
| char loc_ntoa_tmpbuf[sizeof |
| "1000 60 60.000 N 1000 60 60.000 W -12345678.00m 90000000.00m 90000000.00m 90000000.00m"]; |
| char p_secstodate_output[15]; |
| } mtctxres_t; |
| |
| /* Thread-specific data (TSD) */ |
| |
| mtctxres_t *___mtctxres(void); |
| #define mtctxres (___mtctxres()) |
| |
| /* Various static data that should be TSD */ |
| |
| #define sym_ntos_unname (mtctxres->sym_ntos_unname) |
| #define sym_ntop_unname (mtctxres->sym_ntop_unname) |
| #define inet_nsap_ntoa_tmpbuf (mtctxres->inet_nsap_ntoa_tmpbuf) |
| #define p_option_nbuf (mtctxres->p_option_nbuf) |
| #define p_time_nbuf (mtctxres->p_time_nbuf) |
| #define precsize_ntoa_retbuf (mtctxres->precsize_ntoa_retbuf) |
| #define loc_ntoa_tmpbuf (mtctxres->loc_ntoa_tmpbuf) |
| #define p_secstodate_output (mtctxres->p_secstodate_output) |
| |
| #endif /* _RESOLV_MT_H */ |