NUTSCAN_SCAN_USB(3)

✨ NUTSCAN_SCAN_USB πŸ’–

okay bestie, welcome to the NUT Manual page for nutscan_scan_usb(3) β€” yes it's a manual page, yes it's about scanning USB devices, and yes we're gonna make it cute. sit down, grab a strawberry πŸ“, let's go.


πŸŽ€ NAME πŸŽ€

nutscan_scan_usb β€” Scan NUT compatible USB devices.

like, it goes and finds your UPS-flavored USB things. that's the whole vibe. πŸ’…


✨ SYNOPSIS ✨

#include <nut-scan.h>

nutscan_device_t * nutscan_scan_usb(nutscan_usb_t * scanopts);
Note 🫢 Before libnutscan version 2.5.0 there was no argument, it was just: c 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. iykyk β€” NULL = the old behavior, no cap.

πŸ’œ DESCRIPTION πŸ’œ

The nutscan_scan_usb() function tries to detect NUT compatible USB devices. it's giving detective energy πŸ”βœ¨

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) β€” so like, these are the messy flaky details, not the stable ones, bestie. 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. like, mandatory. non-negotiable. main character rule #1. πŸ‘‘


🌈 RETURN VALUE 🌈

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. so if you get NULL, it's either a whoopsie or a whole lotta nothing 😭


πŸ¦‹ SEE ALSO πŸ¦‹


and that's the whole page, bestie 🫢 this lil masterpiece comes to you from Network UPS Tools 2.8.5, dated 10/07/2026 β€” go forth and scan those USB devices, you absolute icon πŸ’–βœ¨πŸ‘‘

πŸ“¦ where this page comes from