mirror of
https://github.com/GOSTSec/sgminer
synced 2025-08-26 13:52:02 +00:00
Merge pull request #209 from kanoi/977aecc4a60928d05719e3b0b534335b1f82effa
API save default config file if none specified
This commit is contained in:
commit
71378a4bd8
14
API-README
14
API-README
@ -200,6 +200,8 @@ The list of requests - a (*) means it requires privileged access - and replies a
|
|||||||
none There is no reply section just the STATUS section
|
none There is no reply section just the STATUS section
|
||||||
stating success or failure saving the cgminer config
|
stating success or failure saving the cgminer config
|
||||||
to filename
|
to filename
|
||||||
|
The filename is optional and will use the cgminer
|
||||||
|
default if not specified
|
||||||
|
|
||||||
quit (*) none There is no status section but just a single "BYE"
|
quit (*) none There is no status section but just a single "BYE"
|
||||||
reply before cgminer quits
|
reply before cgminer quits
|
||||||
@ -283,7 +285,17 @@ miner.php - an example web page to access the API
|
|||||||
Feature Changelog for external applications using the API:
|
Feature Changelog for external applications using the API:
|
||||||
|
|
||||||
|
|
||||||
API V1.10
|
API V1.11
|
||||||
|
|
||||||
|
Modified API commands:
|
||||||
|
'save' no longer requires a filename (use default if not specified)
|
||||||
|
|
||||||
|
'save' incorrectly returned status E (error) on success before.
|
||||||
|
It now correctly returns S (success)
|
||||||
|
|
||||||
|
----------
|
||||||
|
|
||||||
|
API V1.10 (cgminer v2.4.1)
|
||||||
|
|
||||||
Added API commands:
|
Added API commands:
|
||||||
'stats'
|
'stats'
|
||||||
|
9
api.c
9
api.c
@ -161,7 +161,7 @@ static const char SEPARATOR = '|';
|
|||||||
#define SEPSTR "|"
|
#define SEPSTR "|"
|
||||||
static const char GPUSEP = ',';
|
static const char GPUSEP = ',';
|
||||||
|
|
||||||
static const char *APIVERSION = "1.10";
|
static const char *APIVERSION = "1.11";
|
||||||
static const char *DEAD = "Dead";
|
static const char *DEAD = "Dead";
|
||||||
static const char *SICK = "Sick";
|
static const char *SICK = "Sick";
|
||||||
static const char *NOSTART = "NoStart";
|
static const char *NOSTART = "NoStart";
|
||||||
@ -465,7 +465,7 @@ struct CODES {
|
|||||||
{ SEVERITY_SUCC, MSG_GPUFAN, PARAM_BOTH, "Setting GPU %d fan to (%s) reported succeess" },
|
{ SEVERITY_SUCC, MSG_GPUFAN, PARAM_BOTH, "Setting GPU %d fan to (%s) reported succeess" },
|
||||||
{ SEVERITY_ERR, MSG_MISFN, PARAM_NONE, "Missing save filename parameter" },
|
{ SEVERITY_ERR, MSG_MISFN, PARAM_NONE, "Missing save filename parameter" },
|
||||||
{ SEVERITY_ERR, MSG_BADFN, PARAM_STR, "Can't open or create save file '%s'" },
|
{ SEVERITY_ERR, MSG_BADFN, PARAM_STR, "Can't open or create save file '%s'" },
|
||||||
{ SEVERITY_ERR, MSG_SAVED, PARAM_STR, "Configuration saved to file '%s'" },
|
{ SEVERITY_SUCC, MSG_SAVED, PARAM_STR, "Configuration saved to file '%s'" },
|
||||||
{ SEVERITY_ERR, MSG_ACCDENY, PARAM_STR, "Access denied to '%s' command" },
|
{ SEVERITY_ERR, MSG_ACCDENY, PARAM_STR, "Access denied to '%s' command" },
|
||||||
{ SEVERITY_SUCC, MSG_ACCOK, PARAM_NONE, "Privileged access OK" },
|
{ SEVERITY_SUCC, MSG_ACCOK, PARAM_NONE, "Privileged access OK" },
|
||||||
{ SEVERITY_SUCC, MSG_ENAPOOL, PARAM_POOL, "Enabling pool %d:'%s'" },
|
{ SEVERITY_SUCC, MSG_ENAPOOL, PARAM_POOL, "Enabling pool %d:'%s'" },
|
||||||
@ -1979,12 +1979,13 @@ static void devdetails(__maybe_unused SOCKETTYPE c, __maybe_unused char *param,
|
|||||||
|
|
||||||
void dosave(__maybe_unused SOCKETTYPE c, char *param, bool isjson)
|
void dosave(__maybe_unused SOCKETTYPE c, char *param, bool isjson)
|
||||||
{
|
{
|
||||||
|
char filename[PATH_MAX];
|
||||||
FILE *fcfg;
|
FILE *fcfg;
|
||||||
char *ptr;
|
char *ptr;
|
||||||
|
|
||||||
if (param == NULL || *param == '\0') {
|
if (param == NULL || *param == '\0') {
|
||||||
strcpy(io_buffer, message(MSG_MISFN, 0, NULL, isjson));
|
default_save_file(filename);
|
||||||
return;
|
param = filename;
|
||||||
}
|
}
|
||||||
|
|
||||||
fcfg = fopen(param, "w");
|
fcfg = fopen(param, "w");
|
||||||
|
31
cgminer.c
31
cgminer.c
@ -3006,6 +3006,23 @@ retry:
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
void default_save_file(char *filename)
|
||||||
|
{
|
||||||
|
#if defined(unix)
|
||||||
|
if (getenv("HOME") && *getenv("HOME")) {
|
||||||
|
strcpy(filename, getenv("HOME"));
|
||||||
|
strcat(filename, "/");
|
||||||
|
}
|
||||||
|
else
|
||||||
|
strcpy(filename, "");
|
||||||
|
strcat(filename, ".cgminer/");
|
||||||
|
mkdir(filename, 0777);
|
||||||
|
#else
|
||||||
|
strcpy(filename, "");
|
||||||
|
#endif
|
||||||
|
strcat(filename, def_conf);
|
||||||
|
}
|
||||||
|
|
||||||
#ifdef HAVE_CURSES
|
#ifdef HAVE_CURSES
|
||||||
static void set_options(void)
|
static void set_options(void)
|
||||||
{
|
{
|
||||||
@ -3066,19 +3083,7 @@ retry:
|
|||||||
FILE *fcfg;
|
FILE *fcfg;
|
||||||
char *str, filename[PATH_MAX], prompt[PATH_MAX + 50];
|
char *str, filename[PATH_MAX], prompt[PATH_MAX + 50];
|
||||||
|
|
||||||
#if defined(unix)
|
default_save_file(filename);
|
||||||
if (getenv("HOME") && *getenv("HOME")) {
|
|
||||||
strcpy(filename, getenv("HOME"));
|
|
||||||
strcat(filename, "/");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
strcpy(filename, "");
|
|
||||||
strcat(filename, ".cgminer/");
|
|
||||||
mkdir(filename, 0777);
|
|
||||||
#else
|
|
||||||
strcpy(filename, "");
|
|
||||||
#endif
|
|
||||||
strcat(filename, def_conf);
|
|
||||||
sprintf(prompt, "Config filename to write (Enter for default) [%s]", filename);
|
sprintf(prompt, "Config filename to write (Enter for default) [%s]", filename);
|
||||||
str = curses_input(prompt);
|
str = curses_input(prompt);
|
||||||
if (strcmp(str, "-1")) {
|
if (strcmp(str, "-1")) {
|
||||||
|
1
miner.h
1
miner.h
@ -742,6 +742,7 @@ extern void kill_work(void);
|
|||||||
extern void switch_pools(struct pool *selected);
|
extern void switch_pools(struct pool *selected);
|
||||||
extern void remove_pool(struct pool *pool);
|
extern void remove_pool(struct pool *pool);
|
||||||
extern void write_config(FILE *fcfg);
|
extern void write_config(FILE *fcfg);
|
||||||
|
extern void default_save_file(char *filename);
|
||||||
extern void log_curses(int prio, const char *f, va_list ap);
|
extern void log_curses(int prio, const char *f, va_list ap);
|
||||||
extern void clear_logwin(void);
|
extern void clear_logwin(void);
|
||||||
extern bool pool_tclear(struct pool *pool, bool *var);
|
extern bool pool_tclear(struct pool *pool, bool *var);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user