# LIBNUTCLIENT(3)

## NAME

libnutclient - Network UPS Tools high-level client access library

## SYNOPSIS

            #include <nutclient.h>

Refer to this file for more information.

## DESCRIPTION

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) (also known as "upscli" API), here 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.

## ERROR HANDLING

There is currently no specific mechanism around error handling.

## SEE ALSO

libnutclient_devices(3) libnutclient_commands(3) libnutclient_general(3) libnutclient_misc(3) libnutclient_tcp(3) libnutclient_variables(3)