UDEV_ENUMERATE_NEW(3)

πŸ’– udev_enumerate_new, udev_enumerate_ref, udev_enumerate_unref πŸ’–

okay bestie, welcome to UDEV_ENUMERATE_NEW(3), aka the little libudev trio that handles making, holding, and yeeting an enumerate object. it’s giving β€œreference counting but make it cute” ✨


🌸 NAME 🌸

  • udev_enumerate_new, udev_enumerate_ref, udev_enumerate_unref β€” create, acquire and release a udev enumerate object 🫢

✨ SYNOPSIS ✨

#include <libudev.h>

struct udev_enumerate *udev_enumerate_new(struct udev *udev);

struct udev_enumerate *udev_enumerate_ref(struct udev_enumerate *udev_enumerate);

struct udev_enumerate *udev_enumerate_unref(struct udev_enumerate *udev_enumerate);

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so udev_enumerate_new() creates an enumeration context to scan /sys/. that’s literally its whole job, and it ate πŸ’…

udev_enumerate_ref() takes a reference of an enumeration context. yup, it’s just out here acquiring a reference, main character behavior πŸ‘‘

udev_enumerate_unref() drops a reference of an enumeration context. if the refcount reaches zero, all resources of the enumeration context will be released. poof, gone, resources freed, no cap πŸ’€


πŸŽ€ RETURN VALUE πŸŽ€

  • On success, udev_enumerate_new() returns a pointer to the allocated enumeration object. slay ✨
  • On failure, NULL is returned. sad girl hours 😭
  • udev_enumerate_ref() returns the argument that it was passed, unmodified. it’s not changing a thing, just returning the vibe 🫢
  • udev_enumerate_unref() always returns NULL. always. every time. periodt πŸ’…

πŸ‘‘ HISTORY πŸ‘‘

udev_enumerate_new(), udev_enumerate_ref(), and udev_enumerate_unref() were added in version 221. iconic from the start, fr fr 🌟


🌈 SEE ALSO 🌈


signed, sealed, and delivered by systemd 261.3 β€” and the date? this page doesn’t print one, bestie, so the vibe is timeless πŸ’–βœ¨πŸ¦‹

πŸ“¦ where this page comes from