SYNOPSIS
DESCRIPTION
The Network UPS Tools (NUT) upsclient library provides a number of use-
ful functions for programs to use when communicating with upsd(8).
Many of the low-level socket and protocol details are handled automati-
cally when using this interface.
State is maintained across calls in an opaque structure called UPSCONN.
Callers are expected to create one per connection. These will be pro-
vided to most of the upsclient functions. The format of this structure
is subject to change, and client programs must not reference elements
within it directly.
NETWORK FUNCTIONS
To create a new connection, use upscli_connect(3). This will also ini-
tialize the UPSCONN structure. To verify that a connection has been
established later, upscli_fd(3) can be used to return the file descrip-
tor. Clients wishing to check for the presence and operation of SSL on
a connection may call upscli_ssl(3).
The majority of clients will use upscli_get(3) to retrieve single items
from the server. To retrieve a list, use upscli_list_start(3) to get
it started, then call upscli_list_next(3) for each element.
Raw lines of text may be sent to upsd with upscli_sendline(3). Reading
raw lines is possible with upscli_readline(3). Client programs are
expected to format these lines according to the protocol, as no check-
ing will be performed before transmission.
At the end of a connection, you must call upsclient_disconnect(3) to
disconnect from upsd and release any dynamic memory associated with the
UPSCONN structure. Failure to call this function will result in memory
and file descriptor leaks in your program.
ERROR HANDLING
In the event of an error, upscli_strerror(3) will provide human-read-
able details on what happened. upscli_upserror(3) may also be used to
retrieve the error number. These numbers are defined in upsclient.h as
UPSCLI_ERR_*.
SEE ALSO
upscli_connect(3), upscli_disconnect(3), upscli_fd(3), upscli_get-
var(3), upscli_list_next(3), upscli_list_start(3), upscli_readline(3),
upscli_sendline(3), upscli_splitaddr(3), upscli_splitname(3),
upscli_ssl(3), upscli_strerror(3), upscli_upserror(3)
Mon Jan 22 2007 UPSCLIENT(3)
Man(1) output converted with
man2html