nutscan - Network UPS Tools (NUT) device discovery library

The Network UPS Tools (NUT) nutscan library provides the same discovery related features that are also offered by nut-scanner(8).

It enables the discovery of supported NUT devices (USB, SNMP, Eaton XML/HTTP and IPMI) and NUT servers (either using Avahi, or the classic connection method).

First, include the required header file:

#include <nut-scan.h>

Then, to discover new devices, use the appropriate function:

nutscan_scan_usb(3) for supported USB devices,
nutscan_scan_snmp(3) for supported SNMP agents,
nutscan_scan_xml_http_range(3) for Eaton Network Management Card,
nutscan_scan_nut(3) for NUT servers (upsd), using the classic method (search for port),
nutscan_scan_avahi(3) for NUT servers (upsd), using the mDNS (Avahi) method,
nutscan_scan_ipmi(3) for supported IPMI PSU.

All of these functions return a list of devices found, using the nutscan_device_t structure. This structure is described in nutscan_add_device_to_device(3).

Helper functions are also provided to output data using standard formats:

nutscan_display_parsable(3) for parsable output,
nutscan_display_ups_conf(3) for ups.conf style,
nutscan_display_ups_conf_with_sanity_check(3) for ups.conf style with comments for warnings about possible configuration problems (if any).

There is currently no specific mechanism for error handling.

nut-scanner(8), nutscan_scan_usb(3), nutscan_scan_snmp(3), nutscan_scan_xml_http_range(3), nutscan_scan_nut(3), nutscan_scan_avahi(3), nutscan_scan_ipmi(3), nutscan_display_sanity_check(3), nutscan_display_sanity_check_serial(3), nutscan_display_ups_conf_with_sanity_check(3), nutscan_display_parsable(3), nutscan_display_ups_conf(3), nutscan_new_device(3), nutscan_free_device(3), nutscan_add_device_to_device(3), nutscan_add_option_to_device(3), nutscan_cidr_to_ip(3)

05/20/2024 Network UPS Tools 2.8.2