From b4c7c56fa79885965d488cf55d6a2aef8e111934 Mon Sep 17 00:00:00 2001 From: Kano Date: Mon, 27 Feb 2012 12:02:14 +1100 Subject: [PATCH 1/2] README/api.c add "When" the request was processed to STATUS --- README | 7 ++++++- api.c | 17 +++++++++++------ 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/README b/README index e327a5ee..1a3fa4c4 100644 --- a/README +++ b/README @@ -594,9 +594,11 @@ An example request in both formats to set GPU 0 fan to 80%: The format of each reply (unless stated otherwise) is a STATUS section followed by an optional detail section +For API version 1.3: + The STATUS section is: - STATUS=X,Code=N,Msg=string,Description=string| + STATUS=X,When=NNN,Code=N,Msg=string,Description=string| STATUS=X Where X is one of: W - Warning @@ -605,6 +607,9 @@ The STATUS section is: E - Error F - Fatal (code bug) + When=NNN + Standard long time of request in seconds + Code=N Each unique reply has a unigue Code (See api.c - #define MSG_NNNNNN) diff --git a/api.c b/api.c index 95282307..b54605c7 100644 --- a/api.c +++ b/api.c @@ -371,6 +371,8 @@ static int my_thr_id = 0; static int bye = 0; static bool ping = true; +static time_t when = 0; // when the request occurred + struct IP4ACCESS { in_addr_t ip; in_addr_t mask; @@ -411,9 +413,9 @@ static char *message(int messageid, int paramid, char *param2, bool isjson) } if (isjson) - sprintf(msg_buffer, JSON_START JSON_STATUS "{\"" _STATUS "\":\"%c\",\"Code\":%d,\"Msg\":\"", severity, messageid); + sprintf(msg_buffer, JSON_START JSON_STATUS "{\"" _STATUS "\":\"%c\",\"When\":%lu,\"Code\":%d,\"Msg\":\"", severity, (unsigned long)when, messageid); else - sprintf(msg_buffer, _STATUS "=%c,Code=%d,Msg=", severity, messageid); + sprintf(msg_buffer, _STATUS "=%c,When=%lu,Code=%d,Msg=", severity, (unsigned long)when, messageid); ptr = msg_buffer + strlen(msg_buffer); @@ -474,11 +476,11 @@ static char *message(int messageid, int paramid, char *param2, bool isjson) } if (isjson) - sprintf(msg_buffer, JSON_START JSON_STATUS "{\"" _STATUS "\":\"F\",\"Code\":-1,\"Msg\":\"%d\",\"Description\":\"%s\"}" JSON_CLOSE, - messageid, opt_api_description); + sprintf(msg_buffer, JSON_START JSON_STATUS "{\"" _STATUS "\":\"F\",\"When\":%lu,\"Code\":-1,\"Msg\":\"%d\",\"Description\":\"%s\"}" JSON_CLOSE, + (unsigned long)when, messageid, opt_api_description); else - sprintf(msg_buffer, _STATUS "=F,Code=-1,Msg=%d,Description=%s%c", - messageid, opt_api_description, SEPARATOR); + sprintf(msg_buffer, _STATUS "=F,When=%lu,Code=-1,Msg=%d,Description=%s%c", + (unsigned long)when, messageid, opt_api_description, SEPARATOR); return msg_buffer; } @@ -1668,6 +1670,9 @@ void api(int api_thr_id) } if (!SOCKETFAIL(n)) { + // the time of the request in now + when = time(NULL); + did = false; if (*buf != ISJSON) { From c9b7a223e586793a41d1185b6b7057f631f09a1a Mon Sep 17 00:00:00 2001 From: Kano Date: Mon, 27 Feb 2012 12:58:35 +1100 Subject: [PATCH 2/2] Next API version is 1.4 (1.3 is current) --- README | 4 ++-- api.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README b/README index 1a3fa4c4..ba9d86ad 100644 --- a/README +++ b/README @@ -594,7 +594,7 @@ An example request in both formats to set GPU 0 fan to 80%: The format of each reply (unless stated otherwise) is a STATUS section followed by an optional detail section -For API version 1.3: +For API version 1.4: The STATUS section is: @@ -620,7 +620,7 @@ The STATUS section is: This defaults to the cgminer version but is the value of --api-description if it was specified at runtime. -For API version 1.3: +For API version 1.4: The list of requests - a (*) means it requires privileged access - and replies are: diff --git a/api.c b/api.c index b54605c7..dd2af0b7 100644 --- a/api.c +++ b/api.c @@ -152,7 +152,7 @@ static const char *COMMA = ","; static const char SEPARATOR = '|'; static const char GPUSEP = ','; -static const char *APIVERSION = "1.3"; +static const char *APIVERSION = "1.4"; static const char *DEAD = "Dead"; static const char *SICK = "Sick"; static const char *NOSTART = "NoStart";