af1eb7e2f5a895ec8eb3a99a532b2a89ce420fc5
[ossec-hids.git] / src / config / config.h
1 /* @(#) $Id$ */
2
3 /* Copyright (C) 2009 Trend Micro Inc.
4  * All rights reserved.
5  *
6  * This program is a free software; you can redistribute it
7  * and/or modify it under the terms of the GNU General Public
8  * License (version 2) as published by the FSF - Free Software
9  * Foundation
10  *
11  * License details at the LICENSE file included with OSSEC or
12  * online at: http://www.ossec.net/en/licensing.html
13  */
14
15  
16
17 #ifndef _HCONFIG__H
18 #define _HCONFIG__H
19
20 #define CGLOBAL       0000001
21 #define CRULES        0000002
22 #define CSYSCHECK     0000004
23 #define CROOTCHECK    0000010
24 #define CALERTS       0000020
25 #define CLOCALFILE    0000040
26 #define CREMOTE       0000100
27 #define CCLIENT       0000200
28 #define CMAIL         0000400
29 #define CAR           0001000
30 #define CDBD          0002000
31 #define CSYSLOGD      0004000
32 #define CAGENTLESS    0020000
33 #define CREPORTS      0040000 
34
35 #define CAGENT_CONFIG 0010000
36
37 #include "os_xml/os_xml.h"
38
39
40 /* Main function to read the config */
41 int ReadConfig(int modules, char *cfgfile, void *d1, void *d2);
42
43 int Read_Global(XML_NODE node, void *d1, void *d2);
44 int Read_GlobalSK(XML_NODE node, void *configp, void *mailp);
45 int Read_Rules(XML_NODE node, void *d1, void *d2);
46 int Read_Syscheck(XML_NODE node, void *d1, void *d2);
47 int Read_Rootcheck(XML_NODE node, void *d1, void *d2);
48 int Read_Alerts(XML_NODE node, void *d1, void *d2);
49 int Read_EmailAlerts(XML_NODE node, void *d1, void *d2);
50 int Read_DB(XML_NODE node, void *config1, void *config2);
51 int Read_CSyslog(XML_NODE node, void *config1, void *config2);
52 int Read_CAgentless(XML_NODE node, void *config1, void *config2);
53 int Read_Localfile(XML_NODE node, void *d1, void *d2);
54 int Read_Remote(XML_NODE node, void *d1, void *d2);
55 int Read_Client(XML_NODE node, void *d1, void *d2);
56 int ReadActiveResponses(XML_NODE node, void *d1, void *d2);
57 int ReadActiveCommands(XML_NODE node, void *d1, void *d2);
58 int Read_CReports(XML_NODE node, void *config1, void *config2);
59 void AssignIgnore_Global(char **ignores, void *configp);
60
61
62 /* General config, for passing blobs of data. */
63 typedef struct _GeneralConfig
64 {
65     void *data;
66 }GeneralConfig;
67
68
69 #endif