UPSCLI_SENDLINE(3)

NAME
upscli_sendline, upscli_sendline_timeout, upscli_sendline_timeout_may_disconnect - Send a single command to a UPS

SYNOPSIS

        #include <upsclient.h>
        #include <time.h> /* or <sys/time.h> on some platforms */
        int upscli_sendline(UPSCONN_t *ups, const char *buf, size_t buflen);
        int upscli_sendline_timeout(UPSCONN_t *ups, const char *buf, size_t buflen,
                const time_t timeout);
        int upscli_sendline_timeout_may_disconnect(UPSCONN_t *ups,
                const char *buf, size_t buflen, const time_t timeout,
                int may_disconnect);

DESCRIPTION

The upscli_sendline() and upscli_sendline_timeout() functions take the pointer ups to a UPSCONN_t state structure and transmit a buffer buf of size buflen to the server.

The data in buf must be a fully formatted protocol command as no parsing of the buffer occurs within this function.

The difference between the three functions is that upscli_sendline_timeout() lets the caller decide the amount of time (timeout seconds) after which it should give up and return, whereas upscli_sendline() does not offer this freedom, and uses an immediate timeout (0 second). Both of these disconnect upon errors. The upscli_sendline_timeout_may_disconnect() further allows to enable or disable such disconnections.

RETURN VALUE

The upscli_sendline() and upscli_sendline_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)