2011-01-26 09:35:08 +00:00
|
|
|
UPSCLI_READLINE(3)
|
|
|
|
==================
|
|
|
|
|
|
|
|
NAME
|
|
|
|
----
|
|
|
|
|
2022-06-29 10:37:36 +00:00
|
|
|
upscli_readline, upscli_readline_timeout - read a single response from a UPS
|
2011-01-26 09:35:08 +00:00
|
|
|
|
|
|
|
SYNOPSIS
|
|
|
|
--------
|
|
|
|
|
|
|
|
#include <upsclient.h>
|
2022-06-29 10:37:36 +00:00
|
|
|
#include <time.h> /* or <sys/time.h> on some platforms */
|
2011-01-26 09:35:08 +00:00
|
|
|
|
|
|
|
int upscli_readline(UPSCONN_t *ups, char *buf, size_t buflen);
|
|
|
|
|
2022-06-29 10:37:36 +00:00
|
|
|
int upscli_readline_timeout(UPSCONN_t *ups, char *buf, size_t buflen,
|
|
|
|
const time_t timeout);
|
|
|
|
|
2011-01-26 09:35:08 +00:00
|
|
|
DESCRIPTION
|
|
|
|
-----------
|
2022-06-29 10:37:36 +00:00
|
|
|
|
|
|
|
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'.
|
2011-01-26 09:35:08 +00:00
|
|
|
|
|
|
|
Some parsing of the string occurs during reception. In particular,
|
|
|
|
ERR messages from linkman:upsd[8] are detected and will cause this
|
|
|
|
function to return -1.
|
|
|
|
|
2022-06-29 10:37:36 +00:00
|
|
|
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).
|
|
|
|
|
2011-01-26 09:35:08 +00:00
|
|
|
RETURN VALUE
|
|
|
|
------------
|
|
|
|
|
2022-06-29 10:37:36 +00:00
|
|
|
The *upscli_readline()* and *upscli_readline_timeout()* functions
|
|
|
|
return 0 on success, or -1 if an error occurs.
|
2011-01-26 09:35:08 +00:00
|
|
|
|
|
|
|
SEE ALSO
|
|
|
|
--------
|
|
|
|
|
|
|
|
linkman:upscli_fd[3], linkman:upscli_get[3],
|
|
|
|
linkman:upscli_readline[3], linkman:upscli_sendline[3],
|
|
|
|
linkman:upscli_ssl[3],
|
|
|
|
linkman:upscli_strerror[3], linkman:upscli_upserror[3]
|