'\" t
.\" Title: nutscan
.\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
.\" Generator: DocBook XSL Stylesheets v1.75.2
.\" Date: 05/22/2012
.\" Manual: NUT Manual
.\" Source: Network UPS Tools
.\" Language: English
.\"
.TH "NUTSCAN" "3" "05/22/2012" "Network UPS Tools" "NUT Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.\" http://bugs.debian.org/507673
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.\" -----------------------------------------------------------------
.\" * set default formatting
.\" -----------------------------------------------------------------
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.ad l
.\" -----------------------------------------------------------------
.\" * MAIN CONTENT STARTS HERE *
.\" -----------------------------------------------------------------
.SH "NAME"
nutscan \- Network UPS Tools (NUT) device discovery library
.SH "DESCRIPTION"
.sp
The Network UPS Tools (NUT) \fBnutscan\fR library provides the same discovery related features that are also offered by \fBnut-scanner\fR(8)\&.
.sp
It allows to discover supported NUT devices (USB, SNMP, Eaton XML/HTTP and IPMI) and NUT servers (using Avahi or the classic connection method)\&.
.SH "DISCOVERY FUNCTIONS"
.sp
First, include the needed header file:
.sp
.if n \{\
.RS 4
.\}
.nf
#include
.fi
.if n \{\
.RE
.\}
.sp
Then, to discover new devices, use the appropriate function:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBnutscan_scan_usb\fR(3)
for supported USB devices,
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBnutscan_scan_snmp\fR(3)
for supported SNMP agents,
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBnutscan_scan_xml_http\fR(3)
for Eaton Network Management Card,
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBnutscan_scan_nut\fR(3)
for NUT servers (upsd), using the classic method,
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBnutscan_scan_avahi\fR(3)
for NUT servers (upsd), using the mDNS (Avahi) method,
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBnutscan_scan_ipmi\fR(3)
for supported IPMI PSU\&.
.RE
.sp
All these functions return a list of devices found, using the nutscan_device_t structure\&. This one is described in \fBnutscan_add_device_to_device\fR(3)\&.
.sp
Helper functions are also provided to output data using standard format:
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBnutscan_display_parsable\fR(3)
for parsable output,
.RE
.sp
.RS 4
.ie n \{\
\h'-04'\(bu\h'+03'\c
.\}
.el \{\
.sp -1
.IP \(bu 2.3
.\}
\fBnutscan_display_ups_conf\fR(3)
for ups\&.conf style\&.
.RE
.SH "ERROR HANDLING"
.sp
There is currently no specific mechanism around error handling\&.
.SH "SEE ALSO"
.sp
\fBnut-scanner\fR(8), \fBnutscan_scan_usb\fR(3), \fBnutscan_scan_snmp\fR(3) \fBnutscan_scan_xml_http\fR(3), \fBnutscan_scan_nut\fR(3) \fBnutscan_scan_avahi\fR(3), \fBnutscan_scan_ipmi\fR(3) \fBnutscan_display_parsable\fR(3), \fBnutscan_display_ups_conf\fR(3) \fBnutscan_new_device\fR(3), \fBnutscan_free_device\fR(3) \fBnutscan_add_device_to_device\fR(3), \fBnutscan_add_option_to_device\fR(3) \fBnutscan_cidr_to_ip\fR(3)