2 * irc2.7.2/ircd/res.h (C)opyright 1992 Darren Reed.
9 #ifndef INCLUDED_sys_types_h
10 #include <sys/types.h> /* time_t */
11 #define INCLUDED_sys_types_h
18 struct hostent* hp; /* hostent struct */
19 int ref_count; /* reference count */
23 void* vptr; /* pointer used by callback to identify request */
24 void (*callback)(void* vptr, struct DNSReply* reply); /* callback to call */
27 extern int ResolverFileDescriptor; /* GLOBAL - file descriptor (s_bsd.c) */
29 extern void get_res(void);
30 extern struct DNSReply* gethost_byname(const char* name,
31 const struct DNSQuery* req);
32 extern struct DNSReply* gethost_byaddr(const char* name,
33 const struct DNSQuery* req);
34 extern int init_resolver(void);
35 extern void restart_resolver(void);
36 extern time_t timeout_resolver(time_t now);
38 * delete_resolver_queries - delete all outstanding queries for the
39 * pointer arg, DO NOT call this from a resolver callback function the
40 * resolver will delete the query itself for the affected client.
42 extern void delete_resolver_queries(const void* vptr);
43 extern size_t cres_mem(struct Client* cptr);
44 extern int m_dns(struct Client* cptr, struct Client* sptr,
45 int parc, char* parv[]);
46 extern int resolver_read(void);
47 extern void resolver_read_multiple(int count);
48 extern void flush_resolver_cache(void);
50 #endif /* INCLUDED_res_h */