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