17c478bd9Sstevel@tonic-gate #ifndef _RESOLV_MT_H 27c478bd9Sstevel@tonic-gate #define _RESOLV_MT_H 37c478bd9Sstevel@tonic-gate 47c478bd9Sstevel@tonic-gate #include <sys/types.h> 57c478bd9Sstevel@tonic-gate #include <netinet/in.h> 67c478bd9Sstevel@tonic-gate #include <arpa/nameser.h> 77c478bd9Sstevel@tonic-gate #include <resolv.h> 87c478bd9Sstevel@tonic-gate 97c478bd9Sstevel@tonic-gate /* Access functions for the libresolv private interface */ 107c478bd9Sstevel@tonic-gate 117c478bd9Sstevel@tonic-gate int __res_enable_mt(void); 127c478bd9Sstevel@tonic-gate int __res_disable_mt(void); 137c478bd9Sstevel@tonic-gate 147c478bd9Sstevel@tonic-gate /* Per-thread context */ 157c478bd9Sstevel@tonic-gate 167c478bd9Sstevel@tonic-gate typedef struct { 177c478bd9Sstevel@tonic-gate int no_hosts_fallback_private; 187c478bd9Sstevel@tonic-gate int retry_save; 197c478bd9Sstevel@tonic-gate int retry_private; 207c478bd9Sstevel@tonic-gate char inet_nsap_ntoa_tmpbuf[255*3]; 217c478bd9Sstevel@tonic-gate char sym_ntos_unname[20]; 227c478bd9Sstevel@tonic-gate char sym_ntop_unname[20]; 237c478bd9Sstevel@tonic-gate char p_option_nbuf[40]; 247c478bd9Sstevel@tonic-gate char p_time_nbuf[40]; 257c478bd9Sstevel@tonic-gate char precsize_ntoa_retbuf[sizeof "90000000.00"]; 267c478bd9Sstevel@tonic-gate char loc_ntoa_tmpbuf[sizeof 277c478bd9Sstevel@tonic-gate "1000 60 60.000 N 1000 60 60.000 W -12345678.00m 90000000.00m 90000000.00m 90000000.00m"]; 287c478bd9Sstevel@tonic-gate char p_secstodate_output[15]; 297c478bd9Sstevel@tonic-gate } mtctxres_t; 307c478bd9Sstevel@tonic-gate 317c478bd9Sstevel@tonic-gate /* Thread-specific data (TSD) */ 327c478bd9Sstevel@tonic-gate 33*9525b14bSRao Shoaib mtctxres_t *___mtctxres(void); 347c478bd9Sstevel@tonic-gate #define mtctxres (___mtctxres()) 357c478bd9Sstevel@tonic-gate 367c478bd9Sstevel@tonic-gate /* Various static data that should be TSD */ 377c478bd9Sstevel@tonic-gate 387c478bd9Sstevel@tonic-gate #define sym_ntos_unname (mtctxres->sym_ntos_unname) 397c478bd9Sstevel@tonic-gate #define sym_ntop_unname (mtctxres->sym_ntop_unname) 407c478bd9Sstevel@tonic-gate #define inet_nsap_ntoa_tmpbuf (mtctxres->inet_nsap_ntoa_tmpbuf) 417c478bd9Sstevel@tonic-gate #define p_option_nbuf (mtctxres->p_option_nbuf) 427c478bd9Sstevel@tonic-gate #define p_time_nbuf (mtctxres->p_time_nbuf) 437c478bd9Sstevel@tonic-gate #define precsize_ntoa_retbuf (mtctxres->precsize_ntoa_retbuf) 447c478bd9Sstevel@tonic-gate #define loc_ntoa_tmpbuf (mtctxres->loc_ntoa_tmpbuf) 457c478bd9Sstevel@tonic-gate #define p_secstodate_output (mtctxres->p_secstodate_output) 467c478bd9Sstevel@tonic-gate 477c478bd9Sstevel@tonic-gate #endif /* _RESOLV_MT_H */ 48