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
linkman:upsd[8]. It provides high-level representation of NUT data
through client connection, devices, variables and commands.
Unlike linkman: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
--------

linkman:libnutclient_devices[3]
linkman:libnutclient_commands[3]
linkman:libnutclient_general[3]
linkman:libnutclient_misc[3]
linkman:libnutclient_tcp[3]
linkman:libnutclient_variables[3]

