master
h 38 lines 1.59 KB
Raw
1 // SPDX-License-Identifier: GPL-3.0-or-later
2
3 #ifndef NETDATA_DYNCFG_H
4 #define NETDATA_DYNCFG_H
5
6 #include "../common.h"
7 #include "database/rrd.h"
8 #include "database/rrdfunctions.h"
9
10 #define DYNCFG_FUNCTIONS_VERSION 0
11
12 void dyncfg_add_streaming(BUFFER *wb);
13 bool dyncfg_available_for_rrdhost(RRDHOST *host);
14 void dyncfg_host_init(RRDHOST *host);
15
16 // low-level API used by plugins.d and high-level API
17 bool dyncfg_add_low_level(RRDHOST *host, const char *id, const char *path, DYNCFG_STATUS status, DYNCFG_TYPE type,
18 DYNCFG_SOURCE_TYPE source_type, const char *source, DYNCFG_CMDS cmds,
19 usec_t created_ut, usec_t modified_ut, bool sync,
20 HTTP_ACCESS view_access, HTTP_ACCESS edit_access,
21 rrd_function_execute_cb_t execute_cb, void *execute_cb_data);
22 void dyncfg_del_low_level(RRDHOST *host, const char *id);
23 void dyncfg_status_low_level(RRDHOST *host, const char *id, DYNCFG_STATUS status);
24 void dyncfg_init_low_level(bool load_saved);
25 void dyncfg_shutdown_low_level(void);
26
27 // high-level API for internal modules
28 bool dyncfg_add(RRDHOST *host, const char *id, const char *path, DYNCFG_STATUS status, DYNCFG_TYPE type,
29 DYNCFG_SOURCE_TYPE source_type, const char *source, DYNCFG_CMDS cmds,
30 HTTP_ACCESS view_access, HTTP_ACCESS edit_access,
31 dyncfg_cb_t cb, void *data);
32 void dyncfg_del(RRDHOST *host, const char *id);
33 void dyncfg_status(RRDHOST *host, const char *id, DYNCFG_STATUS status);
34
35 void dyncfg_init(bool load_saved);
36 void dyncfg_shutdown(void);
37
38 #endif //NETDATA_DYNCFG_H