]>
Commit | Line | Data |
---|---|---|
ed62c46b AC |
1 | /* |
2 | * res.h for referencing functions in res.c, reslib.c | |
3 | * | |
ed62c46b AC |
4 | */ |
5 | ||
6 | #ifndef _CHARYBDIS_RES_H | |
7 | #define _CHARYBDIS_RES_H | |
8 | ||
9 | /* Maximum number of nameservers in /etc/resolv.conf we care about | |
10 | * In hybrid, this was 2 -- but in Charybdis, we want to track | |
11 | * a few more than that ;) --nenolod | |
12 | */ | |
13 | #define IRCD_MAXNS 10 | |
14 | #define RESOLVER_HOSTLEN 255 | |
15 | ||
16 | struct DNSReply | |
17 | { | |
18 | char *h_name; | |
19 | struct rb_sockaddr_storage addr; | |
20 | }; | |
21 | ||
22 | struct DNSQuery | |
23 | { | |
24 | void *ptr; /* pointer used by callback to identify request */ | |
25 | void (*callback)(void* vptr, struct DNSReply *reply); /* callback to call */ | |
26 | }; | |
27 | ||
28 | extern struct rb_sockaddr_storage irc_nsaddr_list[]; | |
29 | extern int irc_nscount; | |
30 | ||
31 | extern void init_resolver(void); | |
32 | extern void restart_resolver(void); | |
33 | extern void gethost_byname_type(const char *, struct DNSQuery *, int); | |
34 | extern void gethost_byaddr(const struct rb_sockaddr_storage *, struct DNSQuery *); | |
8ed8e5ca | 35 | extern void build_rdns(char *, size_t, const struct rb_sockaddr_storage *, const char *); |
ed62c46b AC |
36 | |
37 | #endif |