<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>udev_monitor</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
<link rel="home" href="index.html" title="libudev Reference Manual">
<link rel="up" href="ch01.html" title="libudev">
<link rel="prev" href="libudev-udev-device.html" title="udev_device">
<link rel="next" href="libudev-udev-enumerate.html" title="udev_enumerate">
<meta name="generator" content="GTK-Doc V1.15 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td><a accesskey="p" href="libudev-udev-device.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="ch01.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">libudev Reference Manual</th>
<td><a accesskey="n" href="libudev-udev-enumerate.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts">
<a href="#libudev-udev-monitor.synopsis" class="shortcut">Top</a>
                   | 
                  <a href="#libudev-udev-monitor.description" class="shortcut">Description</a>
</td></tr>
</table>
<div class="refentry" title="udev_monitor">
<a name="libudev-udev-monitor"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="libudev-udev-monitor.top_of_page"></a>udev_monitor</span></h2>
<p>udev_monitor — device event source</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv" title="Synopsis">
<a name="libudev-udev-monitor.synopsis"></a><h2>Synopsis</h2>
<pre class="synopsis">struct              <a class="link" href="libudev-udev-monitor.html#udev-monitor" title="struct udev_monitor">udev_monitor</a>;
struct <a class="link" href="libudev-udev-monitor.html#udev-monitor" title="struct udev_monitor"><span class="returnvalue">udev_monitor</span></a> * <a class="link" href="libudev-udev-monitor.html#udev-monitor-ref" title="udev_monitor_ref ()">udev_monitor_ref</a>                  (<em class="parameter"><code><span class="type">struct udev_monitor</span> *udev_monitor</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="libudev-udev-monitor.html#udev-monitor-unref" title="udev_monitor_unref ()">udev_monitor_unref</a>                  (<em class="parameter"><code><span class="type">struct udev_monitor</span> *udev_monitor</code></em>);
struct <a class="link" href="libudev-udev.html#udev" title="struct udev"><span class="returnvalue">udev</span></a> *       <a class="link" href="libudev-udev-monitor.html#udev-monitor-get-udev" title="udev_monitor_get_udev ()">udev_monitor_get_udev</a>               (<em class="parameter"><code><span class="type">struct udev_monitor</span> *udev_monitor</code></em>);
struct <a class="link" href="libudev-udev-monitor.html#udev-monitor" title="struct udev_monitor"><span class="returnvalue">udev_monitor</span></a> * <a class="link" href="libudev-udev-monitor.html#udev-monitor-new-from-netlink" title="udev_monitor_new_from_netlink ()">udev_monitor_new_from_netlink</a>     (<em class="parameter"><code><span class="type">struct udev</span> *udev</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *name</code></em>);
struct <a class="link" href="libudev-udev-monitor.html#udev-monitor" title="struct udev_monitor"><span class="returnvalue">udev_monitor</span></a> * <a class="link" href="libudev-udev-monitor.html#udev-monitor-new-from-socket" title="udev_monitor_new_from_socket ()">udev_monitor_new_from_socket</a>      (<em class="parameter"><code><span class="type">struct udev</span> *udev</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *socket_path</code></em>);
<span class="returnvalue">int</span>                 <a class="link" href="libudev-udev-monitor.html#udev-monitor-enable-receiving" title="udev_monitor_enable_receiving ()">udev_monitor_enable_receiving</a>       (<em class="parameter"><code><span class="type">struct udev_monitor</span> *udev_monitor</code></em>);
<span class="returnvalue">int</span>                 <a class="link" href="libudev-udev-monitor.html#udev-monitor-set-receive-buffer-size" title="udev_monitor_set_receive_buffer_size ()">udev_monitor_set_receive_buffer_size</a>
                                                        (<em class="parameter"><code><span class="type">struct udev_monitor</span> *udev_monitor</code></em>,
                                                         <em class="parameter"><code><span class="type">int</span> size</code></em>);
<span class="returnvalue">int</span>                 <a class="link" href="libudev-udev-monitor.html#udev-monitor-get-fd" title="udev_monitor_get_fd ()">udev_monitor_get_fd</a>                 (<em class="parameter"><code><span class="type">struct udev_monitor</span> *udev_monitor</code></em>);
struct <a class="link" href="libudev-udev-device.html#udev-device" title="struct udev_device"><span class="returnvalue">udev_device</span></a> * <a class="link" href="libudev-udev-monitor.html#udev-monitor-receive-device" title="udev_monitor_receive_device ()">udev_monitor_receive_device</a>        (<em class="parameter"><code><span class="type">struct udev_monitor</span> *udev_monitor</code></em>);
<span class="returnvalue">int</span>                 <a class="link" href="libudev-udev-monitor.html#udev-monitor-filter-add-match-subsystem-devtype" title="udev_monitor_filter_add_match_subsystem_devtype ()">udev_monitor_filter_add_match_subsystem_devtype</a>
                                                        (<em class="parameter"><code><span class="type">struct udev_monitor</span> *udev_monitor</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *subsystem</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *devtype</code></em>);
<span class="returnvalue">int</span>                 <a class="link" href="libudev-udev-monitor.html#udev-monitor-filter-add-match-tag" title="udev_monitor_filter_add_match_tag ()">udev_monitor_filter_add_match_tag</a>   (<em class="parameter"><code><span class="type">struct udev_monitor</span> *udev_monitor</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *tag</code></em>);
<span class="returnvalue">int</span>                 <a class="link" href="libudev-udev-monitor.html#udev-monitor-filter-update" title="udev_monitor_filter_update ()">udev_monitor_filter_update</a>          (<em class="parameter"><code><span class="type">struct udev_monitor</span> *udev_monitor</code></em>);
<span class="returnvalue">int</span>                 <a class="link" href="libudev-udev-monitor.html#udev-monitor-filter-remove" title="udev_monitor_filter_remove ()">udev_monitor_filter_remove</a>          (<em class="parameter"><code><span class="type">struct udev_monitor</span> *udev_monitor</code></em>);
</pre>
</div>
<div class="refsect1" title="Description">
<a name="libudev-udev-monitor.description"></a><h2>Description</h2>
<p>
Connects to a device event source.
</p>
</div>
<div class="refsect1" title="Details">
<a name="libudev-udev-monitor.details"></a><h2>Details</h2>
<div class="refsect2" title="struct udev_monitor">
<a name="udev-monitor"></a><h3>struct udev_monitor</h3>
<pre class="programlisting">struct udev_monitor;</pre>
<p>
Opaque object handling one event source.
</p>
</div>
<hr>
<div class="refsect2" title="udev_monitor_ref ()">
<a name="udev-monitor-ref"></a><h3>udev_monitor_ref ()</h3>
<pre class="programlisting">struct <a class="link" href="libudev-udev-monitor.html#udev-monitor" title="struct udev_monitor"><span class="returnvalue">udev_monitor</span></a> * udev_monitor_ref                  (<em class="parameter"><code><span class="type">struct udev_monitor</span> *udev_monitor</code></em>);</pre>
<p>
Take a reference of a udev monitor.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>udev_monitor</code></em> :</span></p></td>
<td>udev monitor
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> the passed udev monitor
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="udev_monitor_unref ()">
<a name="udev-monitor-unref"></a><h3>udev_monitor_unref ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                udev_monitor_unref                  (<em class="parameter"><code><span class="type">struct udev_monitor</span> *udev_monitor</code></em>);</pre>
<p>
Drop a reference of a udev monitor. If the refcount reaches zero,
the bound socket will be closed, and the resources of the monitor
will be released.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>udev_monitor</code></em> :</span></p></td>
<td>udev monitor
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="udev_monitor_get_udev ()">
<a name="udev-monitor-get-udev"></a><h3>udev_monitor_get_udev ()</h3>
<pre class="programlisting">struct <a class="link" href="libudev-udev.html#udev" title="struct udev"><span class="returnvalue">udev</span></a> *       udev_monitor_get_udev               (<em class="parameter"><code><span class="type">struct udev_monitor</span> *udev_monitor</code></em>);</pre>
<p>
Retrieve the udev library context the monitor was created with.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>udev_monitor</code></em> :</span></p></td>
<td>udev monitor
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> the udev library context
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="udev_monitor_new_from_netlink ()">
<a name="udev-monitor-new-from-netlink"></a><h3>udev_monitor_new_from_netlink ()</h3>
<pre class="programlisting">struct <a class="link" href="libudev-udev-monitor.html#udev-monitor" title="struct udev_monitor"><span class="returnvalue">udev_monitor</span></a> * udev_monitor_new_from_netlink     (<em class="parameter"><code><span class="type">struct udev</span> *udev</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *name</code></em>);</pre>
<p>
Create new udev monitor and connect to a specified event
source. Valid sources identifiers are "udev" and "kernel".
</p>
<p>
Applications should usually not connect directly to the
"kernel" events, because the devices might not be useable
at that time, before udev has configured them, and created
device nodes.
</p>
<p>
Accessing devices at the same time as udev, might result
in unpredictable behavior.
</p>
<p>
The "udev" events are sent out after udev has finished its
event processing, all rules have been processed, and needed
device nodes are created.
</p>
<p>
The initial refcount is 1, and needs to be decremented to
release the resources of the udev monitor.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>udev</code></em> :</span></p></td>
<td>udev library context
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
<td>name of event source
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> a new udev monitor, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a>, in case of an error
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="udev_monitor_new_from_socket ()">
<a name="udev-monitor-new-from-socket"></a><h3>udev_monitor_new_from_socket ()</h3>
<pre class="programlisting">struct <a class="link" href="libudev-udev-monitor.html#udev-monitor" title="struct udev_monitor"><span class="returnvalue">udev_monitor</span></a> * udev_monitor_new_from_socket      (<em class="parameter"><code><span class="type">struct udev</span> *udev</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *socket_path</code></em>);</pre>
<p>
Create new udev monitor and connect to a specified socket. The
path to a socket either points to an existing socket file, or if
the socket path starts with a '@' character, an abstract namespace
socket will be used.
</p>
<p>
A socket file will not be created. If it does not already exist,
it will fall-back and connect to an abstract namespace socket with
the given path. The permissions adjustment of a socket file, as
well as the later cleanup, needs to be done by the caller.
</p>
<p>
The initial refcount is 1, and needs to be decremented to
release the resources of the udev monitor.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>udev</code></em> :</span></p></td>
<td>udev library context
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>socket_path</code></em> :</span></p></td>
<td>unix socket path
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> a new udev monitor, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a>, in case of an error
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="udev_monitor_enable_receiving ()">
<a name="udev-monitor-enable-receiving"></a><h3>udev_monitor_enable_receiving ()</h3>
<pre class="programlisting"><span class="returnvalue">int</span>                 udev_monitor_enable_receiving       (<em class="parameter"><code><span class="type">struct udev_monitor</span> *udev_monitor</code></em>);</pre>
<p>
Binds the <em class="parameter"><code>udev_monitor</code></em> socket to the event source.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>udev_monitor</code></em> :</span></p></td>
<td>the monitor which should receive events
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> 0 on success, otherwise a negative error value.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="udev_monitor_set_receive_buffer_size ()">
<a name="udev-monitor-set-receive-buffer-size"></a><h3>udev_monitor_set_receive_buffer_size ()</h3>
<pre class="programlisting"><span class="returnvalue">int</span>                 udev_monitor_set_receive_buffer_size
                                                        (<em class="parameter"><code><span class="type">struct udev_monitor</span> *udev_monitor</code></em>,
                                                         <em class="parameter"><code><span class="type">int</span> size</code></em>);</pre>
<p>
Set the size of the kernel socket buffer. This call needs the
appropriate privileges to succeed.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>udev_monitor</code></em> :</span></p></td>
<td>the monitor which should receive events
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>size</code></em> :</span></p></td>
<td>the size in bytes
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> 0 on success, otherwise -1 on error.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="udev_monitor_get_fd ()">
<a name="udev-monitor-get-fd"></a><h3>udev_monitor_get_fd ()</h3>
<pre class="programlisting"><span class="returnvalue">int</span>                 udev_monitor_get_fd                 (<em class="parameter"><code><span class="type">struct udev_monitor</span> *udev_monitor</code></em>);</pre>
<p>
Retrieve the socket file descriptor associated with the monitor.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>udev_monitor</code></em> :</span></p></td>
<td>udev monitor
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> the socket file descriptor
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="udev_monitor_receive_device ()">
<a name="udev-monitor-receive-device"></a><h3>udev_monitor_receive_device ()</h3>
<pre class="programlisting">struct <a class="link" href="libudev-udev-device.html#udev-device" title="struct udev_device"><span class="returnvalue">udev_device</span></a> * udev_monitor_receive_device        (<em class="parameter"><code><span class="type">struct udev_monitor</span> *udev_monitor</code></em>);</pre>
<p>
Receive data from the udev monitor socket, allocate a new udev
device, fill in the received data, and return the device.
</p>
<p>
Only socket connections with uid=0 are accepted. The caller
needs to make sure that there is data to read from the socket.
The call will block until the socket becomes readable.
</p>
<p>
The initial refcount is 1, and needs to be decremented to
release the resources of the udev device.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>udev_monitor</code></em> :</span></p></td>
<td>udev monitor
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> a new udev device, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a>, in case of an error
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="udev_monitor_filter_add_match_subsystem_devtype ()">
<a name="udev-monitor-filter-add-match-subsystem-devtype"></a><h3>udev_monitor_filter_add_match_subsystem_devtype ()</h3>
<pre class="programlisting"><span class="returnvalue">int</span>                 udev_monitor_filter_add_match_subsystem_devtype
                                                        (<em class="parameter"><code><span class="type">struct udev_monitor</span> *udev_monitor</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *subsystem</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *devtype</code></em>);</pre>
<p>
This filer is efficiently executed inside the kernel, and libudev subscribers
will usually not be woken up for devices which do not match.
</p>
<p>
The filter must be installed before the monitor is switched to listening mode.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>udev_monitor</code></em> :</span></p></td>
<td>the monitor
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>subsystem</code></em> :</span></p></td>
<td>the subsystem value to match the incoming devices against
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>devtype</code></em> :</span></p></td>
<td>the devtype value to match the incoming devices against
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> 0 on success, otherwise a negative error value.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="udev_monitor_filter_add_match_tag ()">
<a name="udev-monitor-filter-add-match-tag"></a><h3>udev_monitor_filter_add_match_tag ()</h3>
<pre class="programlisting"><span class="returnvalue">int</span>                 udev_monitor_filter_add_match_tag   (<em class="parameter"><code><span class="type">struct udev_monitor</span> *udev_monitor</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *tag</code></em>);</pre>
<p>
This filer is efficiently executed inside the kernel, and libudev subscribers
will usually not be woken up for devices which do not match.
</p>
<p>
The filter must be installed before the monitor is switched to listening mode.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>udev_monitor</code></em> :</span></p></td>
<td>the monitor
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>tag</code></em> :</span></p></td>
<td>the name of a tag
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> 0 on success, otherwise a negative error value.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="udev_monitor_filter_update ()">
<a name="udev-monitor-filter-update"></a><h3>udev_monitor_filter_update ()</h3>
<pre class="programlisting"><span class="returnvalue">int</span>                 udev_monitor_filter_update          (<em class="parameter"><code><span class="type">struct udev_monitor</span> *udev_monitor</code></em>);</pre>
<p>
Update the installed filter. This might only be needed, if the filter was removed or changed.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>udev_monitor</code></em> :</span></p></td>
<td>monitor
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> 0 on success, otherwise a negative error value.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="udev_monitor_filter_remove ()">
<a name="udev-monitor-filter-remove"></a><h3>udev_monitor_filter_remove ()</h3>
<pre class="programlisting"><span class="returnvalue">int</span>                 udev_monitor_filter_remove          (<em class="parameter"><code><span class="type">struct udev_monitor</span> *udev_monitor</code></em>);</pre>
<p>
Remove all filters from monitor.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>udev_monitor</code></em> :</span></p></td>
<td>monitor
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> 0 on success, otherwise a negative error value.
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
<div class="footer">
<hr>
          Generated by GTK-Doc V1.15</div>
</body>
</html>