ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/hopm/trunk/src/config.h
Revision: 5052
Committed: Mon Dec 22 11:56:03 2014 UTC (11 years, 7 months ago) by michael
Content type: text/x-chdr
File size: 1926 byte(s)
Log Message:
- Initial import of bopm 3.1.3

File Contents

# User Rev Content
1 michael 5052 #ifndef CONFIG_H
2     #define CONFIG_H
3    
4     #include <stdio.h>
5     #include "list.h"
6     #include "libopm/src/opm_types.h"
7    
8     int yylex(void);
9    
10     extern char linebuf[512];
11     extern int linenum;
12    
13     extern void yyerror(const char *);
14     extern void config_load(const char *);
15    
16    
17     /* structs to hold data */
18    
19     struct IRCConf
20     {
21     char *nick;
22     char *username;
23     char *realname;
24    
25     char *server;
26     int port;
27     char *password;
28    
29     char *vhost;
30    
31     char *nickserv;
32     char *oper;
33     char *mode;
34     char *away;
35    
36     char *connregex;
37     char *kline;
38    
39     list_t *channels; /* List of ChannelConf */
40     list_t *performs; /* List of char * */
41     };
42    
43     struct ChannelConf
44     {
45     char *name;
46     char *key;
47     char *invite;
48     };
49    
50     struct OptionsConf
51     {
52     int negcache;
53     unsigned int dns_fdlimit;
54     char *pidfile;
55     char *scanlog;
56     };
57    
58     struct UserConf
59     {
60     list_t *masks; /* List of char * */
61     list_t *scanners; /* List of char * */
62     };
63    
64     struct ScannerConf
65     {
66     char *name;
67    
68     list_t *protocols;
69     char *vhost;
70    
71     int fd;
72    
73     char *target_ip;
74     int target_port;
75    
76     int timeout;
77     int max_read;
78    
79     list_t *target_string;
80     int target_string_created;
81     };
82    
83     struct ProtocolConf
84     {
85     int type;
86     unsigned int port;
87     };
88    
89     struct OpmConf
90     {
91     list_t *blacklists;
92     char *dnsbl_from;
93     char *dnsbl_to;
94     char *sendmail;
95     };
96    
97     enum BlacklistType {
98     A_BITMASK = 1,
99     A_REPLY
100     };
101    
102     struct BlacklistConf
103     {
104     char *name;
105     char *kline;
106     enum BlacklistType type;
107     int ban_unknown;
108     list_t *reply;
109     unsigned int stats_recv;
110     };
111    
112     struct BlacklistReplyConf
113     {
114     char number;
115     char *type;
116     };
117    
118     struct ExemptConf
119     {
120     list_t *masks;
121     };
122    
123    
124     /* Extern to actual config data declared in config.c */
125     extern struct IRCConf *IRCItem;
126     extern struct OptionsConf *OptionsItem;
127     extern struct OpmConf *OpmItem;
128     extern struct ExemptConf *ExemptItem;
129     extern list_t *UserItemList;
130     extern list_t *ScannerItemList;
131    
132     #endif /* CONFIG_H */