DragonFly On-Line Manual Pages
UDEV_ENUMERATE(3) DragonFly Library Functions Manual UDEV_ENUMERATE(3)
NAME
udev_enumerate_new, udev_enumerate_ref, udev_enumerate_unref,
udev_enumerate_get_udev, udev_enumerate_scan_devices,
udev_enumerate_get_array, udev_enumerate_get_list_entry,
udev_list_entry_get_next, udev_list_entry_foreach,
udev_list_entry_get_dictionary, udev_list_entry_get_device,
udev_enumerate_add_match_subsystem, udev_enumerate_add_nomatch_subsystem,
udev_enumerate_add_match_expr, udev_enumerate_add_match_property,
udev_enumerate_add_nomatch_expr, udev_enumerate_add_nomatch_property,
udev_enumerate_add_match_regex, udev_enumerate_add_nomatch_regex --
device listing functions
LIBRARY
Device attribute and event library (libdevattr, -ldevattr)
SYNOPSIS
#include <devattr.h>
struct udev_enumerate *
udev_enumerate_new(struct udev *udev_ctx);
struct udev_enumerate *
udev_enumerate_ref(struct udev_enumerate *udev_enum);
void
udev_enumerate_unref(struct udev_enumerate *udev_enum);
struct udev *
udev_enumerate_get_udev(struct udev_enumerate *udev_enum);
int
udev_enumerate_scan_devices(struct udev_enumerate *udev_enum);
prop_array_t
udev_enumerate_get_array(struct udev_enumerate *udev_enum);
struct udev_list_entry *
udev_enumerate_get_list_entry(struct udev_enumerate *udev_enum);
struct udev_list_entry *
udev_list_entry_get_next(struct udev_list_entry *list_entry);
udev_list_entry_foreach(struct udev_list_entry *list_entry,
struct udev_list_entry *first_entry);
prop_dictionary_t
udev_list_entry_get_dictionary(struct udev_list_entry *list_entry);
struct udev_device *
udev_list_entry_get_device(struct udev_list_entry *list_entry);
int
udev_enumerate_add_match_subsystem(struct udev_enumerate *udev_enum,
const char *subsystem);
int
udev_enumerate_add_nomatch_subsystem(struct udev_enumerate *udev_enum,
const char *subsystem);
int
udev_enumerate_add_match_expr(struct udev_enumerate *udev_enum,
const char *key, char *expr);
int
udev_enumerate_add_match_property(struct udev_enumerate *udev_enum,
const char *key, const char *property);
int
udev_enumerate_add_nomatch_expr(struct udev_enumerate *udev_enum,
const char *key, char *expr);
int
udev_enumerate_add_nomatch_property(struct udev_enumerate *udev_enum,
const char *key, const char *property);
int
udev_enumerate_add_match_regex(struct udev_enumerate *udev_enum,
const char *key, char *expr);
int
udev_enumerate_add_nomatch_regex(struct udev_enumerate *udev_enum,
const char *key, char *expr);
DESCRIPTION
The udev_enumerate_new() function creates a new udev_enumerate object in
the specified udev context udev_ctx. It returns NULL if no such object
could be created.
The udev_enumerate_ref() and udev_enumerate_unref() functions increase or
decrease the reference count on a udev_enumerate object respectively.
When the reference count drops to 0, the object is automatically
destroyed. The udev_enumerate_ref() function returns the same object
that was passed in.
The udev_enumerate_get_udev() function returns the udev context in which
the udev_enumerate object was created.
The udev_enumerate_scan_devices() function retrieves the set of devices
matching the set of expressions and properties specified with previous
calls to udev_enumerate_add_match_*() and udev_enumerate_add_nomatch_*().
This function returns -1 in case of failure.
The udev_enumerate_get_array() function returns the raw prop_array(3)
array containing the whole set of devices retrieved by
udev_enumerate_scan_devices().
The udev_enumerate_get_list_entry() function returns the first list entry
of the specified udev_enumerate context or NULL if the set is empty. The
udev_list_entry_get_next() returns the next list element after list_entry
or NULL if the current element was the last. The
udev_list_entry_foreach() is a convenient macro behaving as a for loop
that will iterate the whole set starting at the list element specified by
first_entry and setting list_entry to the current element.
The udev_list_entry_get_device() function returns the udev_device
associated to the current list entry or NULL if no device is associated.
The udev_list_entry_get_dictionary() function returns the raw
prop_dictionary(3) dictionary associated to the list entry or NULL if no
dictionary is associated.
The udev_enumerate_add_match_subsystem() and
udev_enumerate_add_nomatch_subsystem() functions add a filter to match or
not to match, respectively, devices with the specified subsystem. These
functions return a negative value if an error occurred and 0 if no error
occurred.
The udev_enumerate_add_match_expr(), udev_enumerate_add_match_property(),
udev_enumerate_add_nomatch_expr() and
udev_enumerate_add_nomatch_property() functions add a filter to match or
not to match, respectively, devices with the specified key and value
expr. The expr can contain wildcards. On error, these functions return
a negative value and 0 if no error occurred.
The udev_enumerate_add_match_regex(), and
udev_enumerate_add_nomatch_regex() functions add a filter to match or not
to match, respectively, devices with the specified key and value expr.
The expr can contain regular expressions according to regex(3). On
error, these functions return a negative value and 0 if no error
occurred.
SEE ALSO
devattr(3), udev(3), udev_device(3), udev_monitor(3), udevd(8)
DragonFly 5.5 July 11, 2010 DragonFly 5.5