---
name: "nutscan_get_serial_ports_list"
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_get_serial_ports_list"
---

# nutscan\_get\_serial\_ports\_list(3)

Get a port list name from a range of port.

## NAME

nutscan\_get\_serial\_ports\_list - Get a port list name from a range of port.

## SYNOPSIS

```
        #include <nut-scan.h>
        char ** nutscan_get_serial_ports_list(const char *ports_range);
```

## DESCRIPTION

The **nutscan\_get\_serial\_ports\_list()** function returns a null terminated array of strings generated from a port range.

The *ports\_range* may be one of:

• a single character from 0 to 9 or a to z, representing a serial communication port depending on the operating system. For instance:

• 0 is converted to /dev/ttyS0 and /dev/ttyUSB0 on Linux;

• 1 is converted to COM1 on Windows;

• c is converted to /dev/ttyc on Solaris...

• a range of character in the form X-Y. For instance

• 0-1 will be converted to /dev/ttyS0, /dev/ttyS1, /dev/ttyUSB0 and /dev/ttyUSB1 on Linux;

• 1-3 will be converted to COM1, COM2 and COM3 on Windows;

• a-c will be converted to /dev/ttya, /dev/ttyb and /dev/ttyc on Solaris.

• a single port name (/dev/ttyS5, COM4...).

• a list of port names separated with commas: /dev/ttyS0,/dev/ttyS2,/dev/ttyS4 or COM1,COM3...

The returned array can be used in a call to **nutscan\_scan\_eaton\_serial** to get the serial-port device on a system.

## RETURN VALUE

The **nutscan\_get\_serial\_ports\_list()** function returns NULL if an error occurred (invalid port range) or a pointer to a NULL-terminated array of strings on success.

## NOTES

Technically, the function is currently defined in *nutscan-serial.h* file.

## SEE ALSO

[**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\_ipmi**(3)](/nutscan_scan_ipmi/3.md), [**nutscan\_scan\_snmp**(3)](/nutscan_scan_snmp/3.md), [**nutscan\_scan\_eaton\_serial**(3)](/nutscan_scan_eaton_serial/3.md), [**nutscan\_display\_ups\_conf\_with\_sanity\_check**(3)](/nutscan_display_ups_conf_with_sanity_check/3.md), [**nutscan\_display\_parsable**(3)](/nutscan_display_parsable/3.md), [**nutscan\_display\_ups\_conf**(3)](/nutscan_display_ups_conf/3.md)
