NAME
upscli_readline, upscli_readline_timeout - read a single response from a UPS
SYNOPSIS
Note
|
Two NUT websites
This version of the page reflects NUT release v2.8.1 with codebase commited 4ba352d8f at 2023-10-31T21:46:20+01:00 Options, features and capabilities in current development (and future releases) are detailed on the main site and may differ from ones described here. |
#include <upsclient.h>
#include <time.h> /* or <sys/time.h> on some platforms */
int upscli_readline(UPSCONN_t *ups, char *buf, size_t buflen);
int upscli_readline_timeout(UPSCONN_t *ups, char *buf, size_t buflen,
const time_t timeout);
DESCRIPTION
The upscli_readline() and upscli_readline_timeout() functions take
the pointer ups to a UPSCONN_t
state structure, receive a single
line from the server, and copy up to buflen bytes of the response
into the buffer buf.
Some parsing of the string occurs during reception. In particular, ERR messages from upsd(8) are detected and will cause this function to return -1.
The difference between the two functions is that upscli_readline_timeout() lets the caller decide the amount of time (timeout seconds) after which it should give up and return, whereas upscli_readline() does not offer this freedom, and uses NUT default network timeout (5 seconds).
RETURN VALUE
The upscli_readline() and upscli_readline_timeout() functions return 0 on success, or -1 if an error occurs.