1 /* @(#) $Id: config.h,v 1.14 2009/06/24 17:06:25 dcid Exp $ */
3 /* Copyright (C) 2009 Trend Micro Inc.
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 3) as published by the FSF - Free Software
11 * License details at the LICENSE file included with OSSEC or
12 * online at: http://www.ossec.net/en/licensing.html
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
31 #define CSYSLOGD 0004000
32 #define CAGENTLESS 0020000
34 #define CAGENT_CONFIG 0010000
36 #include "os_xml/os_xml.h"
39 /* Main function to read the config */
40 int ReadConfig(int modules, char *cfgfile, void *d1, void *d2);
42 int Read_Global(XML_NODE node, void *d1, void *d2);
43 int Read_GlobalSK(XML_NODE node, void *configp, void *mailp);
44 int Read_Rules(XML_NODE node, void *d1, void *d2);
45 int Read_Syscheck(XML_NODE node, void *d1, void *d2);
46 int Read_Rootcheck(XML_NODE node, void *d1, void *d2);
47 int Read_Alerts(XML_NODE node, void *d1, void *d2);
48 int Read_EmailAlerts(XML_NODE node, void *d1, void *d2);
49 int Read_DB(XML_NODE node, void *config1, void *config2);
50 int Read_CSyslog(XML_NODE node, void *config1, void *config2);
51 int Read_CAgentless(XML_NODE node, void *config1, void *config2);
52 int Read_Localfile(XML_NODE node, void *d1, void *d2);
53 int Read_Remote(XML_NODE node, void *d1, void *d2);
54 int Read_Client(XML_NODE node, void *d1, void *d2);
55 int ReadActiveResponses(XML_NODE node, void *d1, void *d2);
56 int ReadActiveCommands(XML_NODE node, void *d1, void *d2);
57 void AssignIgnore_Global(char **ignores, void *configp);
60 /* General config, for passing blobs of data. */
61 typedef struct _GeneralConfig