mirror of https://github.com/GOSTSec/sgminer
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
153 lines
3.8 KiB
153 lines
3.8 KiB
#ifndef CONFIGURATION_H |
|
#define CONFIGURATION_H |
|
|
|
/* autoconf-generated definitions. */ |
|
#include "config.h" |
|
|
|
#include <ccan/opt/opt.h> |
|
#include <jansson.h> |
|
|
|
/* Configuration file buffer. */ |
|
char *cnfbuf = NULL; |
|
|
|
bool config_loaded; |
|
|
|
#define JSON_INCLUDE_CONF "include" |
|
#define JSON_LOAD_ERROR "JSON decode of file '%s' failed\n %s" |
|
#define JSON_LOAD_ERROR_LEN strlen(JSON_LOAD_ERROR) |
|
#define JSON_MAX_DEPTH 10 |
|
#define JSON_MAX_DEPTH_ERR "Too many levels of JSON includes (limit 10) or a loop" |
|
|
|
static char *temp_cutoff_str = NULL; |
|
|
|
static int fileconf_load; |
|
|
|
char *opt_api_allow = NULL; |
|
char *opt_api_groups; |
|
char *opt_api_description = PACKAGE_STRING; |
|
int opt_api_port = 4028; |
|
bool opt_api_listen; |
|
bool opt_api_mcast; |
|
char *opt_api_mcast_addr = API_MCAST_ADDR; |
|
char *opt_api_mcast_code = API_MCAST_CODE; |
|
char *opt_api_mcast_des = ""; |
|
int opt_api_mcast_port = 4028; |
|
bool opt_api_network; |
|
|
|
bool opt_autofan; |
|
bool opt_autoengine; |
|
bool opt_noadl; |
|
|
|
bool opt_quiet; |
|
bool opt_realquiet; |
|
#define QUIET (opt_quiet || opt_realquiet) |
|
bool opt_protocol; |
|
|
|
bool opt_compact; |
|
bool opt_incognito; |
|
|
|
int opt_dynamic_interval = 7; |
|
const int opt_cutofftemp = 95; |
|
|
|
int opt_log_interval = 5; |
|
int opt_queue = 1; |
|
int opt_scantime = 7; |
|
int opt_expiry = 28; |
|
|
|
static bool opt_submit_stale = true; |
|
|
|
bool opt_delaynet; |
|
bool opt_disable_pool; |
|
bool opt_disable_client_reconnect = false; |
|
|
|
struct schedtime { |
|
bool enable; |
|
struct tm tm; |
|
}; |
|
|
|
struct schedtime schedstart; |
|
struct schedtime schedstop; |
|
bool sched_paused; |
|
|
|
bool opt_fail_only; |
|
int opt_fail_switch_delay = 60; |
|
|
|
static bool opt_fix_protocol; |
|
static bool opt_lowmem; |
|
|
|
algorithm_t *opt_algorithm; |
|
|
|
static bool opt_removedisabled; |
|
|
|
char *opt_socks_proxy = NULL; |
|
|
|
char *opt_kernel_path; |
|
|
|
/* TODO: see which of these have to be exposed, remove others from header |
|
* and declare static in code. |
|
*/ |
|
|
|
char *load_config(const char *arg, void __maybe_unused *unused); |
|
char *parse_config(json_t *config, bool fileconf, int parent_iteration); |
|
void write_config(FILE *fcfg); |
|
|
|
char *set_default_config(const char *arg); |
|
|
|
void default_save_file(char *filename); |
|
|
|
void load_default_config(void); |
|
|
|
char *set_algo(const char *arg); |
|
char *set_nfactor(const char *arg); |
|
|
|
char *set_api_allow(const char *arg); |
|
char *set_api_groups(const char *arg); |
|
char *set_api_description(const char *arg); |
|
char *set_api_mcast_addr(const char *arg); |
|
char *set_api_mcast_addr(const char *arg); |
|
char *set_api_mcast_code(const char *arg); |
|
char *set_api_mcast_des(const char *arg); |
|
|
|
char *set_null(const char __maybe_unused *arg); |
|
|
|
char *set_temp_cutoff(char *arg); |
|
|
|
char* set_sharelog(char *arg); |
|
|
|
char *set_schedtime(const char *arg, struct schedtime *st); |
|
char *set_balance(enum pool_strategy *strategy); |
|
char *set_loadbalance(enum pool_strategy *strategy); |
|
char *set_rotate(const char *arg, int *i); |
|
char *set_rr(enum pool_strategy *strategy); |
|
|
|
char *set_int_range(const char *arg, int *i, int min, int max); |
|
void get_intrange(char *arg, int *val1, int *val2); |
|
char *set_int_0_to_9999(const char *arg, int *i); |
|
char *set_int_1_to_65535(const char *arg, int *i); |
|
char *set_int_0_to_10(const char *arg, int *i); |
|
char *set_int_1_to_10(const char *arg, int *i); |
|
|
|
char *set_devices(char *arg); |
|
|
|
/* Used in configuration parsing (get pool being set up). */ |
|
struct pool* get_current_pool(); |
|
|
|
char *set_pool_priority(char *arg); |
|
char *set_pool_description(char *arg); |
|
char *set_pool_state(char *arg); |
|
char *set_pool_name(char *arg); |
|
char *set_poolname_deprecated(char *arg); |
|
char *set_pool_algorithm(const char *arg); |
|
char *set_pool_nfactor(const char *arg); |
|
char *set_url(char *arg); |
|
char *set_user(const char *arg); |
|
char *set_pass(const char *arg); |
|
char *set_userpass(const char *arg); |
|
char *set_quota(char *arg); |
|
|
|
char *enable_debug(bool *flag); |
|
|
|
struct opt_table *opt_config_table; |
|
struct opt_table *opt_cmdline_table; |
|
|
|
#endif /* CONFIGURATION_H */
|
|
|