NUTSCAN_SCAN_IPMI(3)

✨ NUTSCAN_SCAN_IPMI ✨

okay bestie, buckle up, this one lives in section 3 of the NUT Manual β€” it's nutscan_scan_ipmi, and it's all about sniffing out IPMI devices πŸ’…


πŸŽ€ NAME πŸŽ€

nutscan_scan_ipmi β€” scan local IPMI devices, fr fr


🌸 SYNOPSIS 🌸

#include <nut-scan.h>

nutscan_device_t * nutscan_scan_ipmi(
        const char * startIP,
        const char * stopIP,
        nutscan_ipmi_t * sec);

nutscan_device_t * nutscan_scan_ip_range_ipmi(
        nutscan_ip_range_list_t * irl,
        nutscan_ipmi_t * sec);

πŸ¦‹ DESCRIPTION πŸ¦‹

So like, both nutscan_scan_ipmi() and nutscan_scan_ip_range_ipmi() are out here trying to detect IPMI manageable devices. That's their whole job. Their moment. Their era. ✨

Here's the tea on how they decide what to do: if start_ip (that's the first function's thing) or irl (that's the second one's thing) is NULL, then the function in question goes looking for a local PSU. Local. Right there. No network involved, it's giving staying-home energy. 🏠

But if it's not NULL? Then bestie is going remote β€” it searches for remote hosts that would serve IPMI protocols, and it'd try to authenticate using the data sitting in the sec structure. πŸ”

Now the difference between the two, because ikyk y'all are wondering:

  • The former β€” nutscan_scan_ipmi() β€” throws an IPMI request at every single IP ranging from startIP to stopIP. Here startIP is mandatory and stopIP is optional. And if stopIP is NULL? Just the one startIP address gets scanned. One and done. πŸ’«
  • The latter β€” nutscan_scan_ip_range_ipmi() β€” can walk several IP address ranges at once, all represented by a nutscan_ip_range_list_t structure. Multi-tasking queen. πŸ‘‘

Oh and those IP arguments? They may be either IPv4 or IPv6 addresses or host names. Flexible. We love that for them. 🌈

⚠️ You MUST call nutscan_init(3) before using this function. Not optional, not a suggestion, it's the vibe check you have to pass first. 🫢

πŸ’€ BUGS πŸ’€

ngl, the design or implementation of this function may be incomplete. Until recently this man page was out here stating that it was not implemented yet β€” the audacity. 😭 The source code is present, but some blocks are commented away or hidden with #if 0. So it's giving "we're working on it" energy.


⭐ RETURN VALUE ⭐

Real talk: the nutscan_scan_ipmi() function is not implemented yet. That's it, that's the return value section. πŸ’€


πŸ”₯ SEE ALSO πŸ”₯


and that's the whole page, bestie!! go read the source, call nutscan_init(3) first like the icon you are, and remember: this one's still cooking πŸ‘‘

mwah πŸ’– this has been Network UPS Tools 2.8.5, dated 10/07/2026, signing off πŸŽ€

πŸ“¦ where this page comes from