OpenCL GPU miner
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.

154 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 */