evdev - Change default mask to fix duplicate mouse movement events in X
[dragonfly.git] / lib / libc / include / resolv_mt.h
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 */