DragonFly On-Line Manual Pages

Search: Section:  


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

Search: Section: