⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.19
Server IP:
178.33.27.10
Server:
Linux cpanel.dev-unit.com 3.10.0-1160.108.1.el7.x86_64 #1 SMP Thu Jan 25 16:17:31 UTC 2024 x86_64
Server Software:
Apache/2.4.57 (Unix) OpenSSL/1.0.2k-fips
PHP Version:
8.2.11
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
proc
/
self
/
root
/
usr
/
local
/
src
/
netdata
/
daemon
/
View File Name :
commands.h
// SPDX-License-Identifier: GPL-3.0-or-later #ifndef NETDATA_COMMANDS_H #define NETDATA_COMMANDS_H 1 #define MAX_COMMAND_LENGTH 4096 #define MAX_EXIT_STATUS_LENGTH 23 /* Can't ever be bigger than "X-18446744073709551616" */ typedef enum cmd { CMD_HELP = 0, CMD_RELOAD_HEALTH, CMD_REOPEN_LOGS, CMD_EXIT, CMD_FATAL, CMD_RELOAD_CLAIMING_STATE, CMD_RELOAD_LABELS, CMD_READ_CONFIG, CMD_WRITE_CONFIG, CMD_PING, CMD_ACLK_STATE, CMD_VERSION, CMD_DUMPCONFIG, CMD_TOTAL_COMMANDS } cmd_t; typedef enum cmd_status { CMD_STATUS_SUCCESS = 0, CMD_STATUS_FAILURE, CMD_STATUS_BUSY } cmd_status_t; #define CMD_PREFIX_INFO 'O' /* Following string should go to cli stdout */ #define CMD_PREFIX_ERROR 'E' /* Following string should go to cli stderr */ #define CMD_PREFIX_EXIT_CODE 'X' /* Following string is cli integer exit code */ typedef enum cmd_type { /* * No other command is allowed to run at the same time (except for CMD_TYPE_HIGH_PRIORITY). */ CMD_TYPE_EXCLUSIVE = 0, /* * Other commands are allowed to run concurrently (except for CMD_TYPE_EXCLUSIVE) but calls to this command are * serialized. */ CMD_TYPE_ORTHOGONAL, /* * Other commands are allowed to run concurrently (except for CMD_TYPE_EXCLUSIVE) as are calls to this command. */ CMD_TYPE_CONCURRENT, /* * Those commands are always allowed to run. */ CMD_TYPE_HIGH_PRIORITY } cmd_type_t; /** * Executes a command and returns the status. * * @param args a string that may contain additional parameters to be parsed * @param message allocate and return a message if need be (up to MAX_COMMAND_LENGTH bytes) * @return CMD_FAILURE or CMD_SUCCESS */ typedef cmd_status_t (command_action_t) (char *args, char **message); typedef struct command_info { char *cmd_str; // the command string command_action_t *func; // the function that executes the command cmd_type_t type; // Concurrency control information for the command } command_info_t; typedef void (command_lock_t) (unsigned index); cmd_status_t execute_command(cmd_t idx, char *args, char **message); void commands_init(void); void commands_exit(void); #endif //NETDATA_COMMANDS_H