ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid-8/include/irc_res.h
Revision: 1028
Committed: Sun Nov 8 13:03:38 2009 UTC (15 years, 9 months ago) by michael
Content type: text/x-chdr
Original Path: ircd-hybrid/include/irc_res.h
File size: 2601 byte(s)
Log Message:
- move ircd-hybrid-7.2 to trunk

File Contents

# User Rev Content
1 adx 30 /*
2     * include/irc_res.h for referencing functions in src/irc_res.c
3     *
4 knight 31 * $Id$
5 adx 30 */
6    
7     #ifndef INCLUDED_irc_res_h
8     #define INCLUDED_irc_res_h
9    
10 michael 912 #include "config.h"
11 adx 30
12 michael 1011 struct Client; /* XXX */
13    
14 adx 30 /* Here we define some values lifted from nameser.h */
15     #define NS_NOTIFY_OP 4
16     #define NS_INT16SZ 2
17     #define NS_IN6ADDRSZ 16
18     #define NS_INADDRSZ 4
19     #define NS_INT32SZ 4
20     #define NS_CMPRSFLGS 0xc0
21     #define NS_MAXCDNAME 255
22     #define QUERY 0
23     #define IQUERY 1
24     #define NO_ERRORS 0
25     #define SERVFAIL 2
26 db 447 #define NXDOMAIN 3
27 adx 30 #define T_A 1
28     #define T_AAAA 28
29     #define T_PTR 12
30     #define T_CNAME 5
31     #define T_NULL 10
32     #define C_IN 1
33     #define QFIXEDSZ 4
34     #define RRFIXEDSZ 10
35     #define HFIXEDSZ 12
36    
37    
38    
39     typedef struct
40     {
41     unsigned id :16; /* query identification number */
42     #ifdef WORDS_BIGENDIAN
43     /* fields in third byte */
44     unsigned qr: 1; /* response flag */
45     unsigned opcode: 4; /* purpose of message */
46     unsigned aa: 1; /* authoritive answer */
47     unsigned tc: 1; /* truncated message */
48     unsigned rd: 1; /* recursion desired */
49     /* fields in fourth byte */
50     unsigned ra: 1; /* recursion available */
51     unsigned unused :1; /* unused bits (MBZ as of 4.9.3a3) */
52     unsigned ad: 1; /* authentic data from named */
53     unsigned cd: 1; /* checking disabled by resolver */
54     unsigned rcode :4; /* response code */
55     #else
56     /* fields in third byte */
57     unsigned rd :1; /* recursion desired */
58     unsigned tc :1; /* truncated message */
59     unsigned aa :1; /* authoritive answer */
60     unsigned opcode :4; /* purpose of message */
61     unsigned qr :1; /* response flag */
62     /* fields in fourth byte */
63     unsigned rcode :4; /* response code */
64     unsigned cd: 1; /* checking disabled by resolver */
65     unsigned ad: 1; /* authentic data from named */
66     unsigned unused :1; /* unused bits (MBZ as of 4.9.3a3) */
67     unsigned ra :1; /* recursion available */
68     #endif
69     /* remaining bytes */
70     unsigned qdcount :16; /* number of question entries */
71     unsigned ancount :16; /* number of answer entries */
72     unsigned nscount :16; /* number of authority entries */
73     unsigned arcount :16; /* number of resource entries */
74     } HEADER;
75    
76 michael 992 typedef void (*dns_callback_fnc)(void *, const struct irc_ssaddr *, const char *);
77    
78 adx 30 extern void init_resolver(void);
79     extern void restart_resolver(void);
80 michael 992 extern void delete_resolver_queries(const void *);
81 adx 30 extern void report_dns_servers(struct Client *);
82 michael 992 extern void gethost_byname_type(dns_callback_fnc , void *, const char *, int);
83     extern void gethost_byname(dns_callback_fnc, void *, const char *);
84     extern void gethost_byaddr(dns_callback_fnc, void *, const struct irc_ssaddr *);
85 adx 30 extern void add_local_domain(char *, size_t);
86    
87     #endif

Properties

Name Value
svn:eol-style native
svn:keywords Id Revision