Changeset View
Changeset View
Standalone View
Standalone View
head/contrib/ntp/ntpq/libntpq.c
Show First 20 Lines • Show All 126 Lines • ▼ Show 20 Lines | ntpq_getvar( | ||||
const char * resultbuf, | const char * resultbuf, | ||||
size_t datalen, | size_t datalen, | ||||
const char * varname, | const char * varname, | ||||
char * varvalue, | char * varvalue, | ||||
size_t maxlen) | size_t maxlen) | ||||
{ | { | ||||
char * name; | char * name; | ||||
char * value; | char * value; | ||||
int idatalen; | size_t idatalen; | ||||
value = NULL; | value = NULL; | ||||
idatalen = (int)datalen; | idatalen = (int)datalen; | ||||
while (nextvar(&idatalen, &resultbuf, &name, &value)) { | while (nextvar(&idatalen, &resultbuf, &name, &value)) { | ||||
if (strcmp(varname, name) == 0) { | if (strcmp(varname, name) == 0) { | ||||
ntpq_stripquotes(varvalue, value, strlen(value), maxlen); | ntpq_stripquotes(varvalue, value, strlen(value), maxlen); | ||||
Show All 32 Lines | |||||
* 0 (zero) if no reply has been received or | * 0 (zero) if no reply has been received or | ||||
* another failure occured | * another failure occured | ||||
****************************************************************************/ | ****************************************************************************/ | ||||
int ntpq_queryhost(unsigned short VARSET, unsigned short association, char *resultbuf, int maxlen) | int ntpq_queryhost(unsigned short VARSET, unsigned short association, char *resultbuf, int maxlen) | ||||
{ | { | ||||
const char *datap; | const char *datap; | ||||
int res; | int res; | ||||
int dsize; | size_t dsize; | ||||
u_short rstatus; | u_short rstatus; | ||||
if ( numhosts > 0 ) | if ( numhosts > 0 ) | ||||
res = doquery(VARSET,association,0,0, (char *)0, &rstatus, &dsize, &datap); | res = doquery(VARSET,association,0,0, (char *)0, &rstatus, &dsize, &datap); | ||||
else | else | ||||
return 0; | return 0; | ||||
if ( ( res != 0) || ( dsize == 0 ) ) /* no data */ | if ( ( res != 0) || ( dsize == 0 ) ) /* no data */ | ||||
return 0; | return 0; | ||||
▲ Show 20 Lines • Show All 218 Lines • ▼ Show 20 Lines | |||||
ntpq_read_assoc_peervars( | ntpq_read_assoc_peervars( | ||||
associd_t associd, | associd_t associd, | ||||
char * resultbuf, | char * resultbuf, | ||||
int maxsize | int maxsize | ||||
) | ) | ||||
{ | { | ||||
const char * datap; | const char * datap; | ||||
int res; | int res; | ||||
int dsize; | size_t dsize; | ||||
u_short rstatus; | u_short rstatus; | ||||
res = doquery(CTL_OP_READVAR, associd, 0, 0, NULL, &rstatus, | res = doquery(CTL_OP_READVAR, associd, 0, 0, NULL, &rstatus, | ||||
&dsize, &datap); | &dsize, &datap); | ||||
if (res != 0) | if (res != 0) | ||||
return 0; | return 0; | ||||
if (dsize <= 0) { | if (dsize <= 0) { | ||||
if (numhosts > 1) | if (numhosts > 1) | ||||
Show All 40 Lines | |||||
size_t | size_t | ||||
ntpq_read_sysvars( | ntpq_read_sysvars( | ||||
char * resultbuf, | char * resultbuf, | ||||
size_t maxsize | size_t maxsize | ||||
) | ) | ||||
{ | { | ||||
const char * datap; | const char * datap; | ||||
int res; | int res; | ||||
int i_dsize; | |||||
size_t dsize; | size_t dsize; | ||||
u_short rstatus; | u_short rstatus; | ||||
res = doquery(CTL_OP_READVAR, 0, 0, 0, NULL, &rstatus, | res = doquery(CTL_OP_READVAR, 0, 0, 0, NULL, &rstatus, | ||||
&i_dsize, &datap); | &dsize, &datap); | ||||
if (res != 0) | if (res != 0) | ||||
return 0; | return 0; | ||||
if (i_dsize == 0) { | if (dsize == 0) { | ||||
if (numhosts > 1) | if (numhosts > 1) | ||||
fprintf(stderr, "server=%s ", currenthost); | fprintf(stderr, "server=%s ", currenthost); | ||||
fprintf(stderr, "***No sysvar information returned\n"); | fprintf(stderr, "***No sysvar information returned\n"); | ||||
return 0; | return 0; | ||||
} else { | } else { | ||||
dsize = max(0, i_dsize); | |||||
dsize = min(dsize, maxsize); | dsize = min(dsize, maxsize); | ||||
memcpy(resultbuf, datap, dsize); | memcpy(resultbuf, datap, dsize); | ||||
} | } | ||||
return dsize; | return dsize; | ||||
} | } | ||||
▲ Show 20 Lines • Show All 153 Lines • ▼ Show 20 Lines | |||||
ntpq_read_assoc_clockvars( | ntpq_read_assoc_clockvars( | ||||
associd_t associd, | associd_t associd, | ||||
char * resultbuf, | char * resultbuf, | ||||
int maxsize | int maxsize | ||||
) | ) | ||||
{ | { | ||||
const char *datap; | const char *datap; | ||||
int res; | int res; | ||||
int dsize; | size_t dsize; | ||||
u_short rstatus; | u_short rstatus; | ||||
res = ntpq_doquerylist(ntpq_varlist, CTL_OP_READCLOCK, associd, | res = ntpq_doquerylist(ntpq_varlist, CTL_OP_READCLOCK, associd, | ||||
0, &rstatus, &dsize, &datap); | 0, &rstatus, &dsize, &datap); | ||||
if (res != 0) | if (res != 0) | ||||
return 0; | return 0; | ||||
if (dsize == 0) { | if (dsize == 0) { | ||||
▲ Show 20 Lines • Show All 99 Lines • Show Last 20 Lines |