| 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 |