# NUTSCAN_SCAN_NUT(3)

## NAME

nutscan_scan_nut - Scan network for available NUT services.

## SYNOPSIS

            #include <nut-scan.h>
            #include <unistd.h> /* useconds_t */

            nutscan_device_t * nutscan_scan_nut(
                    const char * startIP,
                    const char * stopIP,
                    const char * port,
                    useconds_t usec_timeout);

            nutscan_device_t * nutscan_scan_ip_range_nut(
                    nutscan_ip_range_list_t * irl,
                    const char * port,
                    useconds_t usec_timeout);

## DESCRIPTION

The nutscan_scan_nut() and nutscan_scan_ip_range_nut() functions try to detect available NUT services and their associated devices. The former issues a NUT request on every IP ranging from startIP to stopIP, where startIP is mandatory and stopIP is optional (one startIP address is scanned if stopIP is NULL); while the latter can walk several IP address ranges represented by a `nutscan_ip_range_list_t` structure.

Those IP arguments may be either IPv4 or IPv6 addresses or host names.

You MUST call nutscan_init(3) before using this function.

A specific port number may be passed, or NULL to use the default NUT port.

This function waits up to usec_timeout microseconds before considering an IP address does not respond to NUT queries.

## RETURN VALUE

The nutscan_scan_nut() function returns a pointer to a `nutscan_device_t` structure containing all found devices or NULL if an error occurs or no device is found.

## SEE ALSO

nutscan_init(3), nutscan_scan_usb(3), nutscan_scan_xml_http_range(3), nutscan_scan_snmp(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_ups_conf(3), nutscan_display_parsable(3), nutscan_new_device(3), nutscan_free_device(3), nutscan_add_option_to_device(3), nutscan_add_device_to_device(3), nutscan_scan_eaton_serial(3), nutscan_init_ip_ranges(3), nutscan_free_ip_ranges(3), nutscan_add_ip_range(3), nutscan_cidr_to_ip(3)