|
|
@ -142,6 +142,9 @@ |
|
|
|
// Current code assumes it can socket send this size also
|
|
|
|
// Current code assumes it can socket send this size also
|
|
|
|
#define MYBUFSIZ 65432 // TODO: intercept before it's exceeded
|
|
|
|
#define MYBUFSIZ 65432 // TODO: intercept before it's exceeded
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// BUFSIZ varies on Windows and Linux
|
|
|
|
|
|
|
|
#define TMPBUFSIZ 8192 |
|
|
|
|
|
|
|
|
|
|
|
// Number of requests to queue - normally would be small
|
|
|
|
// Number of requests to queue - normally would be small
|
|
|
|
// However lots of PGA's may mean more
|
|
|
|
// However lots of PGA's may mean more
|
|
|
|
#define QUEUE 100 |
|
|
|
#define QUEUE 100 |
|
|
@ -763,7 +766,7 @@ static void apiversion(__maybe_unused SOCKETTYPE c, __maybe_unused char *param, |
|
|
|
|
|
|
|
|
|
|
|
static void minerconfig(__maybe_unused SOCKETTYPE c, __maybe_unused char *param, bool isjson) |
|
|
|
static void minerconfig(__maybe_unused SOCKETTYPE c, __maybe_unused char *param, bool isjson) |
|
|
|
{ |
|
|
|
{ |
|
|
|
char buf[BUFSIZ]; |
|
|
|
char buf[TMPBUFSIZ]; |
|
|
|
int pgacount = 0; |
|
|
|
int pgacount = 0; |
|
|
|
int cpucount = 0; |
|
|
|
int cpucount = 0; |
|
|
|
char *adlinuse = (char *)NO; |
|
|
|
char *adlinuse = (char *)NO; |
|
|
@ -804,7 +807,7 @@ static void minerconfig(__maybe_unused SOCKETTYPE c, __maybe_unused char *param, |
|
|
|
static void gpustatus(int gpu, bool isjson) |
|
|
|
static void gpustatus(int gpu, bool isjson) |
|
|
|
{ |
|
|
|
{ |
|
|
|
char intensity[20]; |
|
|
|
char intensity[20]; |
|
|
|
char buf[BUFSIZ]; |
|
|
|
char buf[TMPBUFSIZ]; |
|
|
|
char *enabled; |
|
|
|
char *enabled; |
|
|
|
char *status; |
|
|
|
char *status; |
|
|
|
float gt, gv; |
|
|
|
float gt, gv; |
|
|
@ -856,7 +859,7 @@ static void gpustatus(int gpu, bool isjson) |
|
|
|
#if defined(USE_BITFORCE) || defined(USE_ICARUS) || defined(USE_ZTEX) |
|
|
|
#if defined(USE_BITFORCE) || defined(USE_ICARUS) || defined(USE_ZTEX) |
|
|
|
static void pgastatus(int pga, bool isjson) |
|
|
|
static void pgastatus(int pga, bool isjson) |
|
|
|
{ |
|
|
|
{ |
|
|
|
char buf[BUFSIZ]; |
|
|
|
char buf[TMPBUFSIZ]; |
|
|
|
char *enabled; |
|
|
|
char *enabled; |
|
|
|
char *status; |
|
|
|
char *status; |
|
|
|
int numpga = numpgas(); |
|
|
|
int numpga = numpgas(); |
|
|
@ -908,7 +911,7 @@ static void pgastatus(int pga, bool isjson) |
|
|
|
#ifdef WANT_CPUMINE |
|
|
|
#ifdef WANT_CPUMINE |
|
|
|
static void cpustatus(int cpu, bool isjson) |
|
|
|
static void cpustatus(int cpu, bool isjson) |
|
|
|
{ |
|
|
|
{ |
|
|
|
char buf[BUFSIZ]; |
|
|
|
char buf[TMPBUFSIZ]; |
|
|
|
|
|
|
|
|
|
|
|
if (opt_n_threads > 0 && cpu >= 0 && cpu < num_processors) { |
|
|
|
if (opt_n_threads > 0 && cpu >= 0 && cpu < num_processors) { |
|
|
|
struct cgpu_info *cgpu = &cpus[cpu]; |
|
|
|
struct cgpu_info *cgpu = &cpus[cpu]; |
|
|
@ -1188,7 +1191,7 @@ static void cpudev(__maybe_unused SOCKETTYPE c, char *param, bool isjson) |
|
|
|
|
|
|
|
|
|
|
|
static void poolstatus(__maybe_unused SOCKETTYPE c, __maybe_unused char *param, bool isjson) |
|
|
|
static void poolstatus(__maybe_unused SOCKETTYPE c, __maybe_unused char *param, bool isjson) |
|
|
|
{ |
|
|
|
{ |
|
|
|
char buf[BUFSIZ]; |
|
|
|
char buf[TMPBUFSIZ]; |
|
|
|
char *status, *lp; |
|
|
|
char *status, *lp; |
|
|
|
char *rpc_url; |
|
|
|
char *rpc_url; |
|
|
|
char *rpc_user; |
|
|
|
char *rpc_user; |
|
|
@ -1400,7 +1403,7 @@ static void gpurestart(__maybe_unused SOCKETTYPE c, char *param, bool isjson) |
|
|
|
|
|
|
|
|
|
|
|
static void gpucount(__maybe_unused SOCKETTYPE c, __maybe_unused char *param, bool isjson) |
|
|
|
static void gpucount(__maybe_unused SOCKETTYPE c, __maybe_unused char *param, bool isjson) |
|
|
|
{ |
|
|
|
{ |
|
|
|
char buf[BUFSIZ]; |
|
|
|
char buf[TMPBUFSIZ]; |
|
|
|
|
|
|
|
|
|
|
|
strcpy(io_buffer, message(MSG_NUMGPU, 0, NULL, isjson)); |
|
|
|
strcpy(io_buffer, message(MSG_NUMGPU, 0, NULL, isjson)); |
|
|
|
|
|
|
|
|
|
|
@ -1414,7 +1417,7 @@ static void gpucount(__maybe_unused SOCKETTYPE c, __maybe_unused char *param, bo |
|
|
|
|
|
|
|
|
|
|
|
static void pgacount(__maybe_unused SOCKETTYPE c, __maybe_unused char *param, bool isjson) |
|
|
|
static void pgacount(__maybe_unused SOCKETTYPE c, __maybe_unused char *param, bool isjson) |
|
|
|
{ |
|
|
|
{ |
|
|
|
char buf[BUFSIZ]; |
|
|
|
char buf[TMPBUFSIZ]; |
|
|
|
int count = 0; |
|
|
|
int count = 0; |
|
|
|
|
|
|
|
|
|
|
|
#if defined(USE_BITFORCE) || defined(USE_ICARUS) || defined(USE_ZTEX) |
|
|
|
#if defined(USE_BITFORCE) || defined(USE_ICARUS) || defined(USE_ZTEX) |
|
|
@ -1433,7 +1436,7 @@ static void pgacount(__maybe_unused SOCKETTYPE c, __maybe_unused char *param, bo |
|
|
|
|
|
|
|
|
|
|
|
static void cpucount(__maybe_unused SOCKETTYPE c, __maybe_unused char *param, bool isjson) |
|
|
|
static void cpucount(__maybe_unused SOCKETTYPE c, __maybe_unused char *param, bool isjson) |
|
|
|
{ |
|
|
|
{ |
|
|
|
char buf[BUFSIZ]; |
|
|
|
char buf[TMPBUFSIZ]; |
|
|
|
int count = 0; |
|
|
|
int count = 0; |
|
|
|
|
|
|
|
|
|
|
|
#ifdef WANT_CPUMINE |
|
|
|
#ifdef WANT_CPUMINE |
|
|
@ -1863,7 +1866,7 @@ void privileged(__maybe_unused SOCKETTYPE c, __maybe_unused char *param, bool is |
|
|
|
|
|
|
|
|
|
|
|
void notifystatus(int device, struct cgpu_info *cgpu, bool isjson) |
|
|
|
void notifystatus(int device, struct cgpu_info *cgpu, bool isjson) |
|
|
|
{ |
|
|
|
{ |
|
|
|
char buf[BUFSIZ]; |
|
|
|
char buf[TMPBUFSIZ]; |
|
|
|
char *reason; |
|
|
|
char *reason; |
|
|
|
|
|
|
|
|
|
|
|
if (cgpu->device_last_not_well == 0) |
|
|
|
if (cgpu->device_last_not_well == 0) |
|
|
@ -1940,7 +1943,7 @@ static void notify(__maybe_unused SOCKETTYPE c, __maybe_unused char *param, bool |
|
|
|
|
|
|
|
|
|
|
|
static void devdetails(__maybe_unused SOCKETTYPE c, __maybe_unused char *param, bool isjson) |
|
|
|
static void devdetails(__maybe_unused SOCKETTYPE c, __maybe_unused char *param, bool isjson) |
|
|
|
{ |
|
|
|
{ |
|
|
|
char buf[BUFSIZ]; |
|
|
|
char buf[TMPBUFSIZ]; |
|
|
|
struct cgpu_info *cgpu; |
|
|
|
struct cgpu_info *cgpu; |
|
|
|
int i; |
|
|
|
int i; |
|
|
|
|
|
|
|
|
|
|
@ -2006,7 +2009,7 @@ void dosave(__maybe_unused SOCKETTYPE c, char *param, bool isjson) |
|
|
|
|
|
|
|
|
|
|
|
static int itemstats(int i, char *id, struct cgminer_stats *stats, char *extra, bool isjson) |
|
|
|
static int itemstats(int i, char *id, struct cgminer_stats *stats, char *extra, bool isjson) |
|
|
|
{ |
|
|
|
{ |
|
|
|
char buf[BUFSIZ]; |
|
|
|
char buf[TMPBUFSIZ]; |
|
|
|
|
|
|
|
|
|
|
|
if (stats->getwork_calls || (extra != NULL && *extra)) |
|
|
|
if (stats->getwork_calls || (extra != NULL && *extra)) |
|
|
|
{ |
|
|
|
{ |
|
|
@ -2032,7 +2035,7 @@ static int itemstats(int i, char *id, struct cgminer_stats *stats, char *extra, |
|
|
|
} |
|
|
|
} |
|
|
|
static void minerstats(__maybe_unused SOCKETTYPE c, __maybe_unused char *param, bool isjson) |
|
|
|
static void minerstats(__maybe_unused SOCKETTYPE c, __maybe_unused char *param, bool isjson) |
|
|
|
{ |
|
|
|
{ |
|
|
|
char extra[BUFSIZ]; |
|
|
|
char extra[TMPBUFSIZ]; |
|
|
|
char id[20]; |
|
|
|
char id[20]; |
|
|
|
int i, j; |
|
|
|
int i, j; |
|
|
|
|
|
|
|
|
|
|
@ -2300,8 +2303,8 @@ static void *restart_thread(__maybe_unused void *userdata) |
|
|
|
void api(int api_thr_id) |
|
|
|
void api(int api_thr_id) |
|
|
|
{ |
|
|
|
{ |
|
|
|
struct thr_info bye_thr; |
|
|
|
struct thr_info bye_thr; |
|
|
|
char buf[BUFSIZ]; |
|
|
|
char buf[TMPBUFSIZ]; |
|
|
|
char param_buf[BUFSIZ]; |
|
|
|
char param_buf[TMPBUFSIZ]; |
|
|
|
const char *localaddr = "127.0.0.1"; |
|
|
|
const char *localaddr = "127.0.0.1"; |
|
|
|
SOCKETTYPE c; |
|
|
|
SOCKETTYPE c; |
|
|
|
int n, bound; |
|
|
|
int n, bound; |
|
|
@ -2434,7 +2437,7 @@ void api(int api_thr_id) |
|
|
|
applog(LOG_DEBUG, "API: connection from %s - %s", connectaddr, addrok ? "Accepted" : "Ignored"); |
|
|
|
applog(LOG_DEBUG, "API: connection from %s - %s", connectaddr, addrok ? "Accepted" : "Ignored"); |
|
|
|
|
|
|
|
|
|
|
|
if (addrok) { |
|
|
|
if (addrok) { |
|
|
|
n = recv(c, &buf[0], BUFSIZ-1, 0); |
|
|
|
n = recv(c, &buf[0], TMPBUFSIZ-1, 0); |
|
|
|
if (SOCKETFAIL(n)) |
|
|
|
if (SOCKETFAIL(n)) |
|
|
|
buf[0] = '\0'; |
|
|
|
buf[0] = '\0'; |
|
|
|
else |
|
|
|
else |
|
|
|