upscli_readline(3)

upscli_readline3

Read a single response from a ups

Usage

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

Overview

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.

Releases

12 releases since Debian 3.1 (Sarge); the text changed 7 times.

  1. 3.1–4.0
  2. 5.0–6.0
  3. 7
  4. 8
  5. 9–11
  6. 12
  7. 13
  8. Arch

From nut 2.8.5-2 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.