nutscan_scan_usb - Scan NUT compatible USB devices.

#include <nut-scan.h>
nutscan_device_t * nutscan_scan_usb(nutscan_usb_t * scanopts);

Before libnutscan version 2.5.0 there was no argument:

nutscan_device_t * nutscan_scan_usb(void);

After the API update to have an argument, equivalent default activity can be achieved by passing NULL value for the argument.

The nutscan_scan_usb() function tries to detect NUT compatible USB devices.

The scanopts argument contains toggles about values that would be reported into the generated device section. Currently they regard physical link details which can change over time (e.g. USB re-enumeration due to software or hardware re-connections); see nut-scan.h for current details:

/* USB scan options structure */
typedef struct nutscan_usb {
    /* Hardware link related values below are not reliable for run-time
     * matching (they can change over time) but can be useful if e.g.
     * "serial" is not available or unique */
    int report_bus;
    int report_busport;
    int report_device;
    /* The value is not currently used for device matching, but might be
     * used later, and it is available from discovery */
    int report_bcdDevice;
} nutscan_usb_t;

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

The nutscan_scan_usb() 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.

nutscan_init(3), nutscan_scan_snmp(3), nutscan_scan_xml_http_range(3), nutscan_scan_nut(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)

05/20/2024 Network UPS Tools 2.8.2