The Network UPS Tools (NUT) nutclient library provides a number of useful functions for programs to use when communicating with upsd(8). It provides high-level representation of NUT data through client connection, devices, variables and commands. Unlike upsclient(3), all low-level protocol details are hidden.
State is maintained across calls in an opaque structure called NUTCLIENT_t. Callers are expected to create one per client connection. These will be provided to most of the nutclient functions. The format of this structure is subject to change, and client programs must not reference elements within it directly.
NUTCLIENT_t represents the common connection information. Derived versions exist for each connection type (NUTCLIENT_TCP_t for TCP connection; actually the unique connection type, NUTCLIENT_TCP_t can be passed as NUTCLIENT_t parameter).
See the nutclient.h header for more information.