vcpe/srcs/libs/include/config.h

121 lines
3.8 KiB
C

//
// Created by xajhu on 2021/7/1 0001.
//
#include "zvector/zvector.h"
#ifndef DAEMON_AGENT_INCLUDE_CONFIG_H
#define DAEMON_AGENT_INCLUDE_CONFIG_H
#ifdef __cplusplus
extern "C" {
#endif
#define DEFAULT_INTEGRAL_ERR_VALUE (0x0AFFFFAA)
typedef struct {
char rangAddr[256];
char subnet[20];
char dnsSvr[256];
char gateway[20];
unsigned int lease;
} OBJ_DHCP_RNG, *POBJ_DHCP_RNG;
typedef enum {
VALUE_TYPE_INTEGRAL = 0,
VALUE_TYPE_FLOAT = 1,
VALUE_TYPE_STRING = 2,
VALUE_TYPE_BOOL = 3,
VALUE_TYPE_ARRAY_STR = 4,
VALUE_TYPE_ARRAY_OBJ = 5,
} CONFIG_VALUE_TYPE;
typedef enum {
CFG_DIRECTORY = 0,
CFG_CURL_CA_PATH = 1,
CFG_BANNER_SHOW = 2,
CFG_HARDWARE_WATCH = 3,
CFG_HARDWARE_REFRESH = 4,
CFG_WATCH_CPU = 5,
CFG_WATCH_MEMORY = 6,
CFG_WATCH_DISK = 7,
CFG_WATCH_SENSOR = 8,
CFG_CPU_REFRESH = 9,
CFG_MEM_REFRESH = 10,
CFG_DISK_REFRESH = 11,
CFG_SENSOR_REFRESH = 12,
CFG_DB_REDIS_SERVER = 13,
CFG_DB_REDIS_PORT = 14,
CFG_DB_REDIS_PASSWD = 15,
CFG_DB_MYSQL_SERVER = 16,
CFG_DB_MYSQL_PORT = 17,
CFG_DB_MYSQL_USER = 18,
CFG_DB_MYSQL_PASSWD = 19,
CFG_DB_MYSQL_DB_NAME = 20,
CFG_MQ_SVR_PORT = 21,
CFG_MQ_DATA_PATH = 22,
CFG_VXLAN_NIC_NAME = 23,
CFG_VXLAN_SUPPORT = 24,
CFG_VXLAN_PEER_IP = 25,
CFG_VXLAN_PEER_MAC = 26,
CFG_VXLAN_PKG_FILTER = 27,
CFG_HTTP_SVR_ADDR = 29,
CFG_HTTP_SVR_PORT = 30,
CFG_HTTP_SVR_TCP_NODELAY = 31,
CFG_DHCP_LISTEN_ON = 32,
CFG_DHCP_HTTP_CLIENT = 33,
CFG_DHCP_RANGE_SET = 34,
CONFIG_ITEM_ID_MAX
} CONFIG_ITEM_ID;
const char *get_cur_process_dir();
const char *get_cur_process_name();
const char *config_get_ssl_ca_path();
const char *cfg_get_config_directory();
int cfg_get_banner_enable();
int cfg_get_hardware_watch_enable();
unsigned int cfg_get_hardware_refresh_period();
int cfg_get_watch_cpu();
int cfg_get_watch_memory();
int cfg_get_watch_disk();
int cfg_get_watch_sensor();
unsigned int cfg_get_cpu_refresh_period();
unsigned int cfg_get_mem_refresh_period();
unsigned int cfg_get_disk_refresh_period();
unsigned int cfg_get_sensor_refresh_period();
const char *cfg_get_redis_server();
int cfg_get_redis_port();
const char *cfg_get_redis_passwd();
const char *cfg_get_mysql_server();
int cfg_get_mysql_port();
const char *cfg_get_mysql_user();
const char *cfg_get_mysql_passwd();
const char *cfg_get_mysql_database();
int cfg_get_zero_mq_port();
const char *cfg_get_zero_mq_data_path();
const char *cfg_get_string_value(CONFIG_ITEM_ID id);
const vector cfg_get_vector(CONFIG_ITEM_ID id);
long double cfg_get_float_value(CONFIG_ITEM_ID id);
int cfg_get_bool_value(CONFIG_ITEM_ID id);
long long cfg_get_integral_value(CONFIG_ITEM_ID id);
int init_config_system(const char *pCfgFile, const char *pKey);
void uninit_config_system();
void config_item_dump(const char *titleMessage);
const char *config_item_dump_fmt(const char *titleMessage);
const char *get_config_key(const char *pKeygen);
const char *get_config_keygen();
int cfg_get_support_vxlan();
const char *config_get_vxlan_nic_name();
const char *config_get_vxlan_peer_mac();
const char *config_get_vxlan_peer_ip();
const char *config_get_vxlan_pkg_filter();
const char *config_get_http_server_addr();
unsigned int config_get_http_server_port();
int config_get_http_server_tcp_nodelay();
const vector config_get_dhcp_server_range_set();
#ifdef __cplusplus
}
#endif
#endif//DAEMON_AGENT_INCLUDE_CONFIG_H