1*65e96449SHajimu UMEMOTO #ifndef _RESOLV_MT_H 2*65e96449SHajimu UMEMOTO #define _RESOLV_MT_H 3*65e96449SHajimu UMEMOTO 4*65e96449SHajimu UMEMOTO #include <sys/types.h> 5*65e96449SHajimu UMEMOTO #include <netinet/in.h> 6*65e96449SHajimu UMEMOTO #include <arpa/nameser.h> 7*65e96449SHajimu UMEMOTO #include <resolv.h> 8*65e96449SHajimu UMEMOTO 9*65e96449SHajimu UMEMOTO /* Access functions for the libresolv private interface */ 10*65e96449SHajimu UMEMOTO 11*65e96449SHajimu UMEMOTO int __res_enable_mt(void); 12*65e96449SHajimu UMEMOTO int __res_disable_mt(void); 13*65e96449SHajimu UMEMOTO 14*65e96449SHajimu UMEMOTO /* Per-thread context */ 15*65e96449SHajimu UMEMOTO 16*65e96449SHajimu UMEMOTO typedef struct { 17*65e96449SHajimu UMEMOTO int no_hosts_fallback_private; 18*65e96449SHajimu UMEMOTO int retry_save; 19*65e96449SHajimu UMEMOTO int retry_private; 20*65e96449SHajimu UMEMOTO char inet_nsap_ntoa_tmpbuf[255*3]; 21*65e96449SHajimu UMEMOTO char sym_ntos_unname[20]; 22*65e96449SHajimu UMEMOTO char sym_ntop_unname[20]; 23*65e96449SHajimu UMEMOTO char p_option_nbuf[40]; 24*65e96449SHajimu UMEMOTO char p_time_nbuf[40]; 25*65e96449SHajimu UMEMOTO char precsize_ntoa_retbuf[sizeof "90000000.00"]; 26*65e96449SHajimu UMEMOTO char loc_ntoa_tmpbuf[sizeof 27*65e96449SHajimu UMEMOTO "1000 60 60.000 N 1000 60 60.000 W -12345678.00m 90000000.00m 90000000.00m 90000000.00m"]; 28*65e96449SHajimu UMEMOTO char p_secstodate_output[15]; 29*65e96449SHajimu UMEMOTO } mtctxres_t; 30*65e96449SHajimu UMEMOTO 31*65e96449SHajimu UMEMOTO /* Thread-specific data (TSD) */ 32*65e96449SHajimu UMEMOTO 33*65e96449SHajimu UMEMOTO mtctxres_t *___mtctxres(void); 34*65e96449SHajimu UMEMOTO #define mtctxres (___mtctxres()) 35*65e96449SHajimu UMEMOTO 36*65e96449SHajimu UMEMOTO /* Various static data that should be TSD */ 37*65e96449SHajimu UMEMOTO 38*65e96449SHajimu UMEMOTO #define sym_ntos_unname (mtctxres->sym_ntos_unname) 39*65e96449SHajimu UMEMOTO #define sym_ntop_unname (mtctxres->sym_ntop_unname) 40*65e96449SHajimu UMEMOTO #define inet_nsap_ntoa_tmpbuf (mtctxres->inet_nsap_ntoa_tmpbuf) 41*65e96449SHajimu UMEMOTO #define p_option_nbuf (mtctxres->p_option_nbuf) 42*65e96449SHajimu UMEMOTO #define p_time_nbuf (mtctxres->p_time_nbuf) 43*65e96449SHajimu UMEMOTO #define precsize_ntoa_retbuf (mtctxres->precsize_ntoa_retbuf) 44*65e96449SHajimu UMEMOTO #define loc_ntoa_tmpbuf (mtctxres->loc_ntoa_tmpbuf) 45*65e96449SHajimu UMEMOTO #define p_secstodate_output (mtctxres->p_secstodate_output) 46*65e96449SHajimu UMEMOTO 47*65e96449SHajimu UMEMOTO #endif /* _RESOLV_MT_H */ 48