50 lines
1.4 KiB
C
50 lines
1.4 KiB
C
|
/* $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 */
|