NAME¶
nutscan_scan_snmp - Scan network for SNMP devices.
SYNOPSIS¶
#include <nut-scan.h>
nutscan_device_t * nutscan_scan_snmp(const char * start_ip,const char * stop_ip,long timeout, nutscan_snmp_t * sec);
DESCRIPTION¶
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 may be either IPv4 or IPv6 addresses or host names.
You MUST call
nutscan_init(3) before using this function.
This function waits up to
timeout microseconds before considering an IP
address does not respond to SNMP queries.
A valid nutscan_snmp_t structure must be passed to this function.
The nutscan_snmp_t structure contains the following members which must be filled
as described below:
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.
If
community is NULL and
secLevel is NULL, SNMP v1 is selected and
community is set to "public".
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.
If
secLevel is set to SNMP_SEC_LEVEL_AUTHNOPRIV,
authPassword must
be non NULL.
If
secLevel is set to SNMP_SEC_LEVEL_AUTHPRIV,
authPassword and
privPassword must be non NULL.
If
authProtocol is NULL, MD5 protocol is used. Else you can set
authProtocol to either "MD5" or "SHA".
If
privProtocol is NULL, DES protocol is used. Else you can set
privProtocol to either "AES" or "DES".
peername and
handle are used internally and do not need any
initialization.
RETURN VALUE¶
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.
SEE ALSO¶
nutscan_init(3),
nutscan_scan_usb(3),
nutscan_scan_xml_http(3),
nutscan_scan_nut(3),
nutscan_scan_avahi(3),
nutscan_scan_ipmi(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_cidr_to_ip(3)