NAME
udev_monitor_new
,
udev_monitor_ref
,
udev_monitor_unref
,
udev_monitor_get_udev
,
udev_monitor_get_fd
,
udev_monitor_receive_device
,
udev_monitor_enable_receiving
,
udev_monitor_filter_add_match_subsystem_devtype
,
udev_monitor_filter_add_match_expr
,
udev_monitor_filter_add_match_property
,
udev_monitor_filter_add_nomatch_expr
,
udev_monitor_filter_add_nomatch_property
,
udev_monitor_filter_add_match_regex
,
udev_monitor_filter_add_nomatch_regex
—
device event monitor
functions
LIBRARY
library “libdevattr”
SYNOPSIS
#include
<devattr.h>
struct udev_monitor *
udev_monitor_new
(struct
udev *udev_ctx);
struct udev_monitor *
udev_monitor_ref
(struct
udev_monitor *udev_monitor);
void
udev_monitor_unref
(struct
udev_monitor *udev_monitor);
struct udev *
udev_monitor_get_udev
(struct
udev_monitor *udev_monitor);
int
udev_monitor_get_fd
(struct
udev_monitor *udev_monitor);
struct udev_device *
udev_monitor_receive_device
(struct
udev_monitor *udev_monitor);
int
udev_monitor_enable_receiving
(struct
udev_monitor *udev_monitor);
int
udev_monitor_filter_add_match_subsystem_devtype
(struct
udev_monitor *udev_monitor,
const char *subsystem,
const char *devtype);
int
udev_monitor_filter_add_match_expr
(struct
udev_monitor *udev_monitor,
const char *key,
char *expr);
int
udev_monitor_filter_add_match_property
(struct
udev_monitor *udev_monitor,
const char *key,
const char *expr);
int
udev_monitor_filter_add_nomatch_expr
(struct
udev_monitor *udev_monitor,
const char *key,
char *expr);
int
udev_monitor_filter_add_nomatch_property
(struct
udev_monitor *udev_monitor,
const char *key,
const char *expr);
int
udev_monitor_filter_add_match_regex
(struct
udev_monitor *udev_monitor,
const char *key,
char *expr);
int
udev_monitor_filter_add_nomatch_regex
(struct
udev_monitor *udev_monitor,
const char *key,
char *expr);
DESCRIPTION
Theudev_monitor_new
()
function creates a new udev_monitor object in the specified udev context
udev_ctx. It returns NULL
if no
such object could be created.
The
udev_monitor_ref
()
and
udev_monitor_unref
()
functions increase or decrease the reference count on a
udev_monitor object respectively. When the reference
count drops to 0, the object is automatically destroyed and any remaining
event socket closed. The udev_monitor_ref
() function
returns the same object that was passed in.
The
udev_monitor_get_udev
()
function returns the udev context in which the
udev_monitor object was created.
The
udev_monitor_enable_receiving
()
function enables receiving event notifications matching the filters added by
previous calls to
udev_monitor_filter_*
().
The function returns -1 if an error occurs.
The
udev_monitor_receive_device
()
function reads a udev_device, once the monitor has been enabled for
receiving. This call will block until a device is available. It returns
NULL
if a read error occurs.
The
udev_monitor_get_fd
()
returns the raw file descriptor on which events are notified after a call to
udev_monitor_enable_receiving
(). This file
descriptor can then be used in conjunction with
poll(2) or
kqueue(2). The udev_monitor_receive_device
()
call must be used to read from the descriptor. The function returns -1 if
the socket is not connected.
The
udev_monitor_filter_add_match_subsystem_devtype
()
function adds a filter that matches the given
subsystem and/or devtype. If
subsystem or devtype is
NULL
, that argument is ignored. The function returns
0 in case of success and a negative value if an error occurred. NOTE:
Currently devtype matching is not implemented.
The
udev_monitor_filter_add_match_expr
(),
udev_monitor_filter_add_match_property
(),
udev_monitor_filter_add_nomatch_expr
()
and
udev_monitor_filter_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_monitor_filter_add_match_regex
(),
and
udev_monitor_filter_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_enumerate(3), udevd(8)