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 (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(3) for Eaton Network Management Card,
nutscan_scan_nut(3) for NUT servers (upsd), using the classic method,
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.
There is currently no specific mechanism for error handling.
nut-scanner(8), nutscan_scan_usb(3), nutscan_scan_snmp(3), nutscan_scan_xml_http(3), nutscan_scan_nut(3), nutscan_scan_avahi(3), nutscan_scan_ipmi(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), http://avahi.org/