Imported Upstream version 2.23.05
[hcoop/zz_old/debian/webalizer.git] / dns_resolv.h
CommitLineData
e015f748
CE
1#ifndef _DNS_RESOLV_H
2#define _DNS_RESOLV_H
3
4#ifdef USE_DNS /* skip whole file if not using DNS stuff... */
5
6struct dnsRecord { time_t timeStamp; /* Timestamp of resolv data */
7 int numeric; /* 0: Name, 1: IP-address */
8 char hostName[1]; }; /* Hostname (var length) */
9
10struct 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
19extern void resolve_dns(struct log_struct *);
20extern DB *dns_db;
21extern int dns_fd;
22extern int dns_resolver(void *);
23extern int open_cache();
24extern int close_cache();
25
26extern DB *geo_db;
27extern DB *geodb_open(char *);
28extern char *geodb_ver(DB *, char *);
29extern char *geodb_get_cc(DB *, char *, char *);
30extern 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 */