---
name: "nutscan_scan_ipmi"
section: "3"
platform: "linux"
package: "nut"
version: "2.8.5-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/nutscan_scan_ipmi"
---

# nutscan\_scan\_ipmi(3)

Scan local IPMI devices.

## NAME

nutscan\_scan\_ipmi - Scan local IPMI devices.

## 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

The **nutscan\_scan\_ipmi()** and **nutscan\_scan\_ip\_range\_ipmi()** functions try to detect IPMI manageable devices.

If *start\_ip* for the former or *irl* for the latter are NULL, the respective function searches for a local PSU.

Otherwise, it searches for remote hosts that would serve IPMI protocols, and would try to authenticate using the data in *sec* structure.

The former issues an IPMI request on every IP ranging from *startIP* to *stopIP*, where *startIP* is mandatory and *stopIP* is optional (one *startIP* address is scanned if *stopIP* is NULL); while the latter can walk several IP address ranges represented by a nutscan\_ip\_range\_list\_t structure.

Those IP arguments may be either IPv4 or IPv6 addresses or host names.

You MUST call [**nutscan\_init**(3)](/nutscan_init/3.md) before using this function.

## BUGS

Design or implementation of this function may be incomplete: until recently, this man page stated that it was not implemented yet. Source code is present, although some blocks are commented away or hidden with #if 0.

## RETURN VALUE

The **nutscan\_scan\_ipmi()** function is not implemented yet.

## SEE ALSO

[**nutscan\_init**(3)](/nutscan_init/3.md), [**nutscan\_scan\_usb**(3)](/nutscan_scan_usb/3.md), [**nutscan\_scan\_xml\_http\_range**(3)](/nutscan_scan_xml_http_range/3.md), [**nutscan\_scan\_nut**(3)](/nutscan_scan_nut/3.md), [**nutscan\_scan\_avahi**(3)](/nutscan_scan_avahi/3.md), [**nutscan\_scan\_snmp**(3)](/nutscan_scan_snmp/3.md), [**nutscan\_display\_sanity\_check**(3)](/nutscan_display_sanity_check/3.md), [**nutscan\_display\_sanity\_check\_serial**(3)](/nutscan_display_sanity_check_serial/3.md), [**nutscan\_display\_ups\_conf\_with\_sanity\_check**(3)](/nutscan_display_ups_conf_with_sanity_check/3.md), [**nutscan\_display\_ups\_conf**(3)](/nutscan_display_ups_conf/3.md), [**nutscan\_display\_parsable**(3)](/nutscan_display_parsable/3.md), [**nutscan\_new\_device**(3)](/nutscan_new_device/3.md), [**nutscan\_free\_device**(3)](/nutscan_free_device/3.md), [**nutscan\_add\_option\_to\_device**(3)](/nutscan_add_option_to_device/3.md), [**nutscan\_init\_ip\_ranges**(3)](/nutscan_init_ip_ranges/3.md), [**nutscan\_free\_ip\_ranges**(3)](/nutscan_free_ip_ranges/3.md), [**nutscan\_add\_ip\_range**(3)](/nutscan_add_ip_range/3.md), [**nutscan\_cidr\_to\_ip**(3)](/nutscan_cidr_to_ip/3.md)
