ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/branches/ircd-hybrid-20121027/include/irc_res.h
Revision: 1587
Committed: Sat Oct 27 20:46:16 2012 UTC (11 years, 5 months ago) by michael
Content type: text/x-chdr
File size: 2601 byte(s)
Log Message:
- Moving directories

File Contents

# Content
1 /*
2 * include/irc_res.h for referencing functions in src/irc_res.c
3 *
4 * $Id$
5 */
6
7 #ifndef INCLUDED_irc_res_h
8 #define INCLUDED_irc_res_h
9
10 #include "config.h"
11
12 struct Client; /* XXX */
13
14 /* 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 #define NXDOMAIN 3
27 #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 typedef void (*dns_callback_fnc)(void *, const struct irc_ssaddr *, const char *);
77
78 extern void init_resolver(void);
79 extern void restart_resolver(void);
80 extern void delete_resolver_queries(const void *);
81 extern void report_dns_servers(struct Client *);
82 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 extern void add_local_domain(char *, size_t);
86
87 #endif

Properties

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