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 linkman: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
--------

linkman:nutscan_init[3],
linkman:nutscan_scan_usb[3], linkman:nutscan_scan_xml_http_range[3],
linkman:nutscan_scan_snmp[3], linkman:nutscan_scan_avahi[3],
linkman:nutscan_scan_ipmi[3],
linkman:nutscan_display_sanity_check[3],
linkman:nutscan_display_sanity_check_serial[3],
linkman:nutscan_display_ups_conf_with_sanity_check[3],
linkman:nutscan_display_ups_conf[3],
linkman:nutscan_display_parsable[3], linkman:nutscan_new_device[3],
linkman:nutscan_free_device[3], linkman:nutscan_add_option_to_device[3],
linkman:nutscan_add_device_to_device[3], linkman:nutscan_scan_eaton_serial[3],
linkman:nutscan_init_ip_ranges[3],
linkman:nutscan_free_ip_ranges[3],
linkman:nutscan_add_ip_range[3],
linkman:nutscan_cidr_to_ip[3]
