UDEV\_ENUMERATE\_NEW(3) udev\_enumerate\_new UDEV\_ENUMERATE\_NEW(3)

.SH "NAME" udev\_enumerate\_new, udev\_enumerate\_ref, udev\_enumerate\_unref - Create, acquire and release a udev enumerate object

.SH "SYNOPSIS"

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

.HP 1008u **struct udev\_enumerate \*udev\_enumerate\_new(struct udev \*udev);**

.HP 1008u **struct udev\_enumerate \*udev\_enumerate\_ref(struct udev\_enumerate \*udev\_enumerate);**

.HP 1056u **struct udev\_enumerate \*udev\_enumerate\_unref(struct udev\_enumerate \*udev\_enumerate);**

.SH "DESCRIPTION"

.PP **udev\_enumerate\_new()** creates an enumeration context to scan /sys/.

.PP **udev\_enumerate\_ref()** takes a reference of an enumeration context.

.PP **udev\_enumerate\_unref()** drops a reference of an enumeration context. If the refcount reaches zero, all resources of the enumeration context will be released.

.SH "RETURN VALUE"

.PP On success, **udev\_enumerate\_new()** returns a pointer to the allocated enumeration object. On failure, **NULL** is returned. **udev\_enumerate\_ref()** returns the argument that it was passed, unmodified. **udev\_enumerate\_unref()** always returns **NULL**.

.SH "HISTORY"

.PP **udev\_enumerate\_new()**, **udev\_enumerate\_ref()**, and **udev\_enumerate\_unref()** were added in version 221.

.SH "SEE ALSO"

.PP [**udev\_new**(3)](/man/os/systemd/udev_new.3), [**udev\_device\_new\_from\_syspath**(3)](/man/os/systemd/udev_device_new_from_syspath.3), [**udev\_enumerate\_add\_match\_subsystem**(3)](/man/os/systemd/udev_enumerate_add_match_subsystem.3), [**udev\_enumerate\_scan\_devices**(3)](/man/os/systemd/udev_enumerate_scan_devices.3), [**udev\_monitor\_new\_from\_netlink**(3)](/man/os/systemd/udev_monitor_new_from_netlink.3), [**udev\_list\_entry**(3)](/man/os/systemd/udev_list_entry.3), [**systemd**(1)](/man/os/systemd/systemd.1)

systemd 262.2

---

Document: udev_enumerate_new(3) from systemd 262.2-r1 (Chainguard OS)
Source: https://github.com/systemd/systemd
