Imported Debian patch 2.23.05-1
[hcoop/zz_old/debian/webalizer.git] / dns_resolv.h
1 #ifndef _DNS_RESOLV_H
2 #define _DNS_RESOLV_H
3
4 #ifdef USE_DNS /* skip whole file if not using DNS stuff... */
5
6 struct dnsRecord { time_t timeStamp; /* Timestamp of resolv data */
7 int numeric; /* 0: Name, 1: IP-address */
8 char hostName[1]; }; /* Hostname (var length) */
9
10 struct dns_child /* Defines the communication with a DNS child */
11 {
12 int inpipe[2]; /* Pipe Child -> Father */
13 int outpipe[2]; /* Pipe Father -> Child */
14 int pid; /* PID of Child */
15 int flags; /* see below */
16 struct dnode *cur; /* Currently processed node */
17 };
18
19 extern void resolve_dns(struct log_struct *);
20 extern DB *dns_db;
21 extern int dns_fd;
22 extern int dns_resolver(void *);
23 extern int open_cache();
24 extern int close_cache();
25
26 extern DB *geo_db;
27 extern DB *geodb_open(char *);
28 extern char *geodb_ver(DB *, char *);
29 extern char *geodb_get_cc(DB *, char *, char *);
30 extern void geodb_close(DB *);
31
32 #define DNS_CHILD_READY 0x1 /* Our child flags */
33 #define DNS_CHILD_RUNNING 0x2
34
35 #define MAXCHILD 100 /* Maximum number of DNS children */
36
37 #ifndef GEODB_LOC
38 #define GEODB_LOC "/usr/share/GeoDB"
39 #endif
40
41 #endif /* USE_DNS */
42 #endif /* _DNS_RESOLV_H */