2011-09-29 18:14:46 +00:00
|
|
|
NUTSCAN_SCAN_SNMP(3)
|
|
|
|
====================
|
|
|
|
|
|
|
|
NAME
|
|
|
|
----
|
|
|
|
|
|
|
|
nutscan_scan_snmp - Scan network for SNMP devices.
|
|
|
|
|
|
|
|
SYNOPSIS
|
|
|
|
--------
|
|
|
|
|
|
|
|
#include <nut-scan.h>
|
2022-06-29 10:37:36 +00:00
|
|
|
#include <unistd.h> /* useconds_t */
|
2011-09-29 18:14:46 +00:00
|
|
|
|
2022-06-29 10:37:36 +00:00
|
|
|
nutscan_device_t * nutscan_scan_snmp(
|
|
|
|
const char * start_ip,
|
|
|
|
const char * stop_ip,
|
|
|
|
useconds_t timeout,
|
|
|
|
nutscan_snmp_t * sec);
|
2011-09-29 18:14:46 +00:00
|
|
|
|
|
|
|
DESCRIPTION
|
|
|
|
-----------
|
|
|
|
|
2022-06-29 10:37:36 +00:00
|
|
|
The *nutscan_scan_snmp()* function try to detect NUT compatible SNMP
|
|
|
|
devices. It tries SNMP queries on every IP ranging from 'start_ip' to
|
|
|
|
'stop_ip'. Those IP arguments may be either IPv4 or IPv6 addresses or
|
|
|
|
host names.
|
2011-09-29 18:14:46 +00:00
|
|
|
|
2012-01-24 10:22:33 +00:00
|
|
|
You MUST call linkman:nutscan_init[3] before using this function.
|
|
|
|
|
2022-06-29 10:37:36 +00:00
|
|
|
This function waits up to 'timeout' microseconds before considering
|
|
|
|
an IP address does not respond to SNMP queries.
|
2011-09-29 18:14:46 +00:00
|
|
|
|
|
|
|
A valid `nutscan_snmp_t` structure must be passed to this function.
|
|
|
|
|
2022-06-29 10:37:36 +00:00
|
|
|
The `nutscan_snmp_t` structure contains the following members which
|
|
|
|
must be filled as described below:
|
2011-09-29 18:14:46 +00:00
|
|
|
|
|
|
|
char * 'community';
|
|
|
|
char * 'secLevel';
|
|
|
|
char * 'secName';
|
|
|
|
char * 'authPassword';
|
|
|
|
char * 'privPassword';
|
|
|
|
char * 'authProtocol';
|
|
|
|
char * 'privProtocol';
|
|
|
|
|
|
|
|
If 'community' is not NULL, SNMP v1 request are sent using this 'community'.
|
|
|
|
|
2022-06-29 10:37:36 +00:00
|
|
|
If 'community' is NULL and 'secLevel' is NULL, SNMP v1 is selected
|
|
|
|
and 'community' is set to "public".
|
2011-09-29 18:14:46 +00:00
|
|
|
|
2022-06-29 10:37:36 +00:00
|
|
|
In the other cases, SNMP v3 is used. 'secLevel' may be one
|
|
|
|
of `SNMP_SEC_LEVEL_NOAUTH`, `SNMP_SEC_LEVEL_AUTHNOPRIV`
|
|
|
|
or `SNMP_SEC_LEVEL_AUTHPRIV`.
|
|
|
|
'secName' is the security name and must be non NULL.
|
2011-09-29 18:14:46 +00:00
|
|
|
|
2022-06-29 10:37:36 +00:00
|
|
|
If 'secLevel' is set to `SNMP_SEC_LEVEL_AUTHNOPRIV`, 'authPassword'
|
|
|
|
must be non NULL.
|
2011-09-29 18:14:46 +00:00
|
|
|
|
2022-06-29 10:37:36 +00:00
|
|
|
If 'secLevel' is set to `SNMP_SEC_LEVEL_AUTHPRIV`, 'authPassword'
|
|
|
|
and 'privPassword' must be non NULL.
|
2011-09-29 18:14:46 +00:00
|
|
|
|
2022-06-29 10:37:36 +00:00
|
|
|
If 'authProtocol' is NULL, MD5 protocol is used.
|
|
|
|
Else you can set 'authProtocol' to either "MD5" or "SHA".
|
2011-09-29 18:14:46 +00:00
|
|
|
|
2022-06-29 10:37:36 +00:00
|
|
|
If 'privProtocol' is NULL, DES protocol is used.
|
|
|
|
Else you can set 'privProtocol' to either "AES" or "DES".
|
2011-09-29 18:14:46 +00:00
|
|
|
|
2022-06-29 10:37:36 +00:00
|
|
|
'peername' and 'handle' are used internally and do not need any
|
|
|
|
initialization.
|
2011-09-29 18:14:46 +00:00
|
|
|
|
|
|
|
RETURN VALUE
|
|
|
|
------------
|
|
|
|
|
2022-06-29 10:37:36 +00:00
|
|
|
The *nutscan_scan_snmp()* 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.
|
2011-09-29 18:14:46 +00:00
|
|
|
|
|
|
|
SEE ALSO
|
|
|
|
--------
|
2022-06-29 10:37:36 +00:00
|
|
|
|
2012-01-24 10:22:33 +00:00
|
|
|
linkman:nutscan_init[3],
|
2022-06-29 10:37:36 +00:00
|
|
|
linkman:nutscan_scan_usb[3], linkman:nutscan_scan_xml_http_range[3],
|
|
|
|
linkman:nutscan_scan_nut[3], linkman:nutscan_scan_avahi[3],
|
|
|
|
linkman:nutscan_scan_ipmi[3], linkman:nutscan_display_ups_conf[3],
|
2011-09-29 18:14:46 +00:00
|
|
|
linkman:nutscan_display_parsable[3], linkman:nutscan_new_device[3],
|
|
|
|
linkman:nutscan_free_device[3], linkman:nutscan_add_option_to_device[3],
|
2013-11-24 15:00:12 +00:00
|
|
|
linkman:nutscan_add_device_to_device[3], linkman:nutscan_scan_eaton_serial[3],
|
|
|
|
linkman:nutscan_cidr_to_ip[3]
|