ctdb-daemon: Implement ctdb configuration file loading
[samba.git] / ctdb / server / ctdb_config.h
1 /*
2    CTDB daemon config handling
3
4    Copyright (C) Martin Schwenke  2018
5
6    This program is free software; you can redistribute it and/or modify
7    it under the terms of the GNU General Public License as published by
8    the Free Software Foundation; either version 3 of the License, or
9    (at your option) any later version.
10
11    This program is distributed in the hope that it will be useful,
12    but WITHOUT ANY WARRANTY; without even the implied warranty of
13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14    GNU General Public License for more details.
15
16    You should have received a copy of the GNU General Public License
17    along with this program; if not, see <http://www.gnu.org/licenses/>.
18 */
19
20 #ifndef __CTDB_CONFIG_H__
21 #define __CTDB_CONFIG_H__
22
23 #include "common/conf.h"
24
25 struct ctdb_config {
26         /* Cluster */
27         const char *transport;
28         const char *node_address;
29         const char *recovery_lock;
30
31         /* Database */
32         const char *dbdir_volatile;
33         const char *dbdir_persistent;
34         const char *dbdir_state;
35         const char *lock_debug_script;
36
37         /* Event */
38         const char *event_debug_script;
39
40         /* Legacy */
41         bool no_realtime;
42         bool recmaster_capability;
43         bool lmaster_capability;
44         bool start_as_stopped;
45         bool start_as_disabled;
46         const char *script_log_level;
47 };
48
49 extern struct ctdb_config ctdb_config;
50
51 int ctdbd_config_load(TALLOC_CTX *mem_ctx, struct conf_context **conf);
52
53 #endif /* __CTDB_CONFIG_H__ */