upscli_readline - Man Page

Read a single response from a UPS

Synopsis

        #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);

        int upscli_readline_timeout_may_disconnect(UPSCONN_t *ups,
                char *buf, size_t buflen, const time_t timeout,
                int may_disconnect);

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 three 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)​. Both of these disconnect upon errors​. The upscli_readline_timeout_may_disconnect() further allows to enable or disable such disconnections​.

Return Value

The upscli_readline() and upscli_readline_timeout() functions return 0 on success, or -1 if an error occurs​.

See Also

upscli_fd(3), upscli_get(3), upscli_readline(3), upscli_sendline(3), upscli_ssl(3), upscli_strerror(3), upscli_upserror(3)

Referenced By

nut(7), upsclient(3), upscli_list_start(3), upscli_sendline(3), upscli_splitaddr(3), upscli_splitname(3), upscli_ssl(3), upscli_strerror(3), upscli_upserror(3).

The man pages upscli_readline_timeout(3) and upscli_readline_timeout_may_disconnect(3) are aliases of upscli_readline(3).

08/25/2026 Network UPS Tools 2.8.5 NUT Manual