---
name: "udev_enumerate_scan_devices"
section: "3"
platform: "linux"
package: "systemd-libs"
version: "262.1-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/udev_enumerate_scan_devices"
---

# udev\_enumerate\_scan\_devices(3)

Query or modify a udev enumerate object

## NAME

udev\_enumerate\_scan\_devices, udev\_enumerate\_scan\_subsystems, udev\_enumerate\_get\_list\_entry, udev\_enumerate\_add\_syspath, udev\_enumerate\_get\_udev - Query or modify a udev enumerate object

## SYNOPSIS

```
#include <libudev.h>
```

**int udev\_enumerate\_scan\_devices(struct udev\_enumerate \****udev\_enumerate***);**

**int udev\_enumerate\_scan\_subsystems(struct udev\_enumerate \****udev\_enumerate***);**

**struct udev\_list\_entry \*udev\_enumerate\_get\_list\_entry(struct udev\_enumerate \****udev\_enumerate***);**

**int udev\_enumerate\_add\_syspath(struct udev\_enumerate \****udev\_enumerate***, const char \****syspath***);**

**struct udev \*udev\_enumerate\_get\_udev(struct udev\_enumerate \****udev\_enumerate***);**

## RETURN VALUE

On success, **udev\_enumerate\_scan\_devices()**, **udev\_enumerate\_scan\_subsystems()** and **udev\_enumerate\_add\_syspath()** return an integer greater than, or equal to, **0**.

On success, **udev\_enumerate\_get\_list\_entry()** returns a pointer to the first entry in the list of found devices. If the list is empty, or on failure, **NULL** is returned.

**udev\_enumerate\_get\_udev()** always returns a pointer to the udev context that this enumerated object is associated with.

## HISTORY

**udev\_enumerate\_scan\_devices()**, **udev\_enumerate\_scan\_subsystems()**, **udev\_enumerate\_get\_list\_entry()**, **udev\_enumerate\_add\_syspath()**, and **udev\_enumerate\_get\_udev()** were added in version 221.

## SEE ALSO

[**udev\_new**(3)](/udev_new/3.md), [**udev\_device\_new\_from\_syspath**(3)](/udev_device_new_from_syspath/3.md), [**udev\_enumerate\_new**(3)](/udev_enumerate_new/3.md), [**udev\_enumerate\_add\_match\_subsystem**(3)](/udev_enumerate_add_match_subsystem/3.md), [**udev\_monitor\_new\_from\_netlink**(3)](/udev_monitor_new_from_netlink/3.md), [**udev\_list\_entry**(3)](/udev_list_entry/3.md), [**systemd**(1)](/systemd/1.md)
