---
name: "libnutclient"
section: "3"
platform: "linux"
package: "nut"
version: "2.8.5-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/libnutclient"
---

# libnutclient(3)

Network UPS Tools high-level client access library

## 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)](/upsd/8.md). It provides high-level representation of NUT data through client connection, devices, variables and commands. Unlike [**upsclient**(3)](/upsclient/3.md) (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_devices/3.md) [**libnutclient\_commands**(3)](/libnutclient_commands/3.md) [**libnutclient\_general**(3)](/libnutclient_general/3.md) [**libnutclient\_misc**(3)](/libnutclient_misc/3.md) [**libnutclient\_tcp**(3)](/libnutclient_tcp/3.md) [**libnutclient\_variables**(3)](/libnutclient_variables/3.md)
