# NUTSCAN(3)

## NAME

nutscan - Network UPS Tools (NUT) device discovery library

## DESCRIPTION

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).

## DISCOVERY FUNCTIONS

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).

## ERROR HANDLING

There is currently no specific mechanism for error handling.

## SEE ALSO

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_init_ip_ranges(3), nutscan_free_ip_ranges(3), nutscan_add_ip_range(3), nutscan_cidr_to_ip(3)

### Internet resources:

http://avahi.org/