#ifndef CORE_CONFIG_H #define CORE_CONFIG_H #include #include #include typedef enum { RUN_TYPE_START, RUN_TYPE_INVALID, } run_type_t; typedef enum { LOG_LEVEL_TRACE = 5, LOG_LEVEL_DEBUG = 4, LOG_LEVEL_INFO = 3, LOG_LEVEL_WARN = 2, LOG_LEVEL_ERROR = 1, LOG_LEVEL_FATAL = 0, } log_level_t; typedef struct { char *file; char database[256]; char user[256]; char group[256]; log_level_t log_level; run_type_t run_type; uint16_t server_port; uint16_t discovery_port; uint16_t mqtt_port; char not_found_file[256]; char not_found_file_type[256]; char not_found_content[256]; char not_found_content_type[256]; struct mg_serve_http_opts http_server_opts; } config_t; extern config_t global_config; int config_load(IniDispatch *disp, void *config_void); #endif /* CORE_CONFIG_H */