123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- // SPDX-License-Identifier: GPL-3.0-or-later
- #ifndef NETDATA_MAIN_H
- #define NETDATA_MAIN_H 1
- #include "common.h"
- extern struct config netdata_config;
- /**
- * This struct contains information about command line options.
- */
- struct option_def {
- /** The option character */
- const char val;
- /** The name of the long option. */
- const char *description;
- /** Short description what the option does */
- /** Name of the argument displayed in SYNOPSIS */
- const char *arg_name;
- /** Default value if not set */
- const char *default_value;
- };
- void cancel_main_threads(void);
- int killpid(pid_t pid);
- void netdata_cleanup_and_exit(int ret) NORETURN;
- void send_statistics(const char *action, const char *action_result, const char *action_data);
- typedef enum {
- ABILITY_DATA_QUERIES = (1 << 0),
- ABILITY_WEB_REQUESTS = (1 << 1),
- ABILITY_STREAMING_CONNECTIONS = (1 << 2),
- SERVICE_MAINTENANCE = (1 << 3),
- SERVICE_COLLECTORS = (1 << 4),
- SERVICE_REPLICATION = (1 << 5),
- SERVICE_WEB_SERVER = (1 << 6),
- SERVICE_ACLK = (1 << 7),
- SERVICE_HEALTH = (1 << 8),
- SERVICE_STREAMING = (1 << 9),
- SERVICE_CONTEXT = (1 << 10),
- SERVICE_ANALYTICS = (1 << 11),
- SERVICE_EXPORTERS = (1 << 12),
- SERVICE_ACLKSYNC = (1 << 13)
- } SERVICE_TYPE;
- typedef enum {
- SERVICE_THREAD_TYPE_NETDATA,
- SERVICE_THREAD_TYPE_LIBUV,
- SERVICE_THREAD_TYPE_EVENT_LOOP,
- } SERVICE_THREAD_TYPE;
- typedef void (*force_quit_t)(void *data);
- typedef void (*request_quit_t)(void *data);
- void service_exits(void);
- bool service_running(SERVICE_TYPE service);
- struct service_thread *service_register(SERVICE_THREAD_TYPE thread_type, request_quit_t request_quit_callback, force_quit_t force_quit_callback, void *data, bool update __maybe_unused);
- #endif /* NETDATA_MAIN_H */
|