<!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_device</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-list.html" title="udev_list">
<link rel="next" href="libudev-udev-monitor.html" title="udev_monitor">
<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-list.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-monitor.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-device.synopsis" class="shortcut">Top</a>
                   | 
                  <a href="#libudev-udev-device.description" class="shortcut">Description</a>
</td></tr>
</table>
<div class="refentry" title="udev_device">
<a name="libudev-udev-device"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="libudev-udev-device.top_of_page"></a>udev_device</span></h2>
<p>udev_device — kernel sys devices</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv" title="Synopsis">
<a name="libudev-udev-device.synopsis"></a><h2>Synopsis</h2>
<pre class="synopsis">struct              <a class="link" href="libudev-udev-device.html#udev-device" title="struct udev_device">udev_device</a>;
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-device.html#udev-device-ref" title="udev_device_ref ()">udev_device_ref</a>                    (<em class="parameter"><code><span class="type">struct udev_device</span> *udev_device</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="libudev-udev-device.html#udev-device-unref" title="udev_device_unref ()">udev_device_unref</a>                   (<em class="parameter"><code><span class="type">struct udev_device</span> *udev_device</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-device.html#udev-device-get-udev" title="udev_device_get_udev ()">udev_device_get_udev</a>                (<em class="parameter"><code><span class="type">struct udev_device</span> *udev_device</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-device.html#udev-device-new-from-syspath" title="udev_device_new_from_syspath ()">udev_device_new_from_syspath</a>       (<em class="parameter"><code><span class="type">struct udev</span> *udev</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *syspath</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-device.html#udev-device-new-from-devnum" title="udev_device_new_from_devnum ()">udev_device_new_from_devnum</a>        (<em class="parameter"><code><span class="type">struct udev</span> *udev</code></em>,
                                                         <em class="parameter"><code><span class="type">char</span> type</code></em>,
                                                         <em class="parameter"><code><span class="type">dev_t</span> devnum</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-device.html#udev-device-new-from-subsystem-sysname" title="udev_device_new_from_subsystem_sysname ()">udev_device_new_from_subsystem_sysname</a>
                                                        (<em class="parameter"><code><span class="type">struct udev</span> *udev</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> *sysname</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-device.html#udev-device-new-from-environment" title="udev_device_new_from_environment ()">udev_device_new_from_environment</a>   (<em class="parameter"><code><span class="type">struct udev</span> *udev</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-device.html#udev-device-get-parent" title="udev_device_get_parent ()">udev_device_get_parent</a>             (<em class="parameter"><code><span class="type">struct udev_device</span> *udev_device</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-device.html#udev-device-get-parent-with-subsystem-devtype" title="udev_device_get_parent_with_subsystem_devtype ()">udev_device_get_parent_with_subsystem_devtype</a>
                                                        (<em class="parameter"><code><span class="type">struct udev_device</span> *udev_device</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>);
const <span class="returnvalue">char</span> *        <a class="link" href="libudev-udev-device.html#udev-device-get-devpath" title="udev_device_get_devpath ()">udev_device_get_devpath</a>             (<em class="parameter"><code><span class="type">struct udev_device</span> *udev_device</code></em>);
const <span class="returnvalue">char</span> *        <a class="link" href="libudev-udev-device.html#udev-device-get-subsystem" title="udev_device_get_subsystem ()">udev_device_get_subsystem</a>           (<em class="parameter"><code><span class="type">struct udev_device</span> *udev_device</code></em>);
const <span class="returnvalue">char</span> *        <a class="link" href="libudev-udev-device.html#udev-device-get-devtype" title="udev_device_get_devtype ()">udev_device_get_devtype</a>             (<em class="parameter"><code><span class="type">struct udev_device</span> *udev_device</code></em>);
const <span class="returnvalue">char</span> *        <a class="link" href="libudev-udev-device.html#udev-device-get-syspath" title="udev_device_get_syspath ()">udev_device_get_syspath</a>             (<em class="parameter"><code><span class="type">struct udev_device</span> *udev_device</code></em>);
const <span class="returnvalue">char</span> *        <a class="link" href="libudev-udev-device.html#udev-device-get-sysname" title="udev_device_get_sysname ()">udev_device_get_sysname</a>             (<em class="parameter"><code><span class="type">struct udev_device</span> *udev_device</code></em>);
const <span class="returnvalue">char</span> *        <a class="link" href="libudev-udev-device.html#udev-device-get-sysnum" title="udev_device_get_sysnum ()">udev_device_get_sysnum</a>              (<em class="parameter"><code><span class="type">struct udev_device</span> *udev_device</code></em>);
const <span class="returnvalue">char</span> *        <a class="link" href="libudev-udev-device.html#udev-device-get-devnode" title="udev_device_get_devnode ()">udev_device_get_devnode</a>             (<em class="parameter"><code><span class="type">struct udev_device</span> *udev_device</code></em>);
<span class="returnvalue">int</span>                 <a class="link" href="libudev-udev-device.html#udev-device-get-is-initialized" title="udev_device_get_is_initialized ()">udev_device_get_is_initialized</a>      (<em class="parameter"><code><span class="type">struct udev_device</span> *udev_device</code></em>);
struct <a class="link" href="libudev-udev-list.html#udev-list-entry" title="struct udev_list_entry"><span class="returnvalue">udev_list_entry</span></a> * <a class="link" href="libudev-udev-device.html#udev-device-get-devlinks-list-entry" title="udev_device_get_devlinks_list_entry ()">udev_device_get_devlinks_list_entry</a>
                                                        (<em class="parameter"><code><span class="type">struct udev_device</span> *udev_device</code></em>);
struct <a class="link" href="libudev-udev-list.html#udev-list-entry" title="struct udev_list_entry"><span class="returnvalue">udev_list_entry</span></a> * <a class="link" href="libudev-udev-device.html#udev-device-get-properties-list-entry" title="udev_device_get_properties_list_entry ()">udev_device_get_properties_list_entry</a>
                                                        (<em class="parameter"><code><span class="type">struct udev_device</span> *udev_device</code></em>);
struct <a class="link" href="libudev-udev-list.html#udev-list-entry" title="struct udev_list_entry"><span class="returnvalue">udev_list_entry</span></a> * <a class="link" href="libudev-udev-device.html#udev-device-get-tags-list-entry" title="udev_device_get_tags_list_entry ()">udev_device_get_tags_list_entry</a>
                                                        (<em class="parameter"><code><span class="type">struct udev_device</span> *udev_device</code></em>);
const <span class="returnvalue">char</span> *        <a class="link" href="libudev-udev-device.html#udev-device-get-property-value" title="udev_device_get_property_value ()">udev_device_get_property_value</a>      (<em class="parameter"><code><span class="type">struct udev_device</span> *udev_device</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *key</code></em>);
const <span class="returnvalue">char</span> *        <a class="link" href="libudev-udev-device.html#udev-device-get-driver" title="udev_device_get_driver ()">udev_device_get_driver</a>              (<em class="parameter"><code><span class="type">struct udev_device</span> *udev_device</code></em>);
<span class="returnvalue">dev_t</span>               <a class="link" href="libudev-udev-device.html#udev-device-get-devnum" title="udev_device_get_devnum ()">udev_device_get_devnum</a>              (<em class="parameter"><code><span class="type">struct udev_device</span> *udev_device</code></em>);
const <span class="returnvalue">char</span> *        <a class="link" href="libudev-udev-device.html#udev-device-get-action" title="udev_device_get_action ()">udev_device_get_action</a>              (<em class="parameter"><code><span class="type">struct udev_device</span> *udev_device</code></em>);
const <span class="returnvalue">char</span> *        <a class="link" href="libudev-udev-device.html#udev-device-get-sysattr-value" title="udev_device_get_sysattr_value ()">udev_device_get_sysattr_value</a>       (<em class="parameter"><code><span class="type">struct udev_device</span> *udev_device</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *sysattr</code></em>);
unsigned long long <span class="returnvalue">int</span>  <a class="link" href="libudev-udev-device.html#udev-device-get-seqnum" title="udev_device_get_seqnum ()">udev_device_get_seqnum</a>          (<em class="parameter"><code><span class="type">struct udev_device</span> *udev_device</code></em>);
unsigned long long <span class="returnvalue">int</span>  <a class="link" href="libudev-udev-device.html#udev-device-get-usec-since-initialized" title="udev_device_get_usec_since_initialized ()">udev_device_get_usec_since_initialized</a>
                                                        (<em class="parameter"><code><span class="type">struct udev_device</span> *udev_device</code></em>);
</pre>
</div>
<div class="refsect1" title="Description">
<a name="libudev-udev-device.description"></a><h2>Description</h2>
<p>
Representation of kernel sys devices. Devices are uniquely identified
by their syspath, every device has exactly one path in the kernel sys
filesystem. Devices usually belong to a kernel subsystem, and and have
a unique name inside that subsystem.
</p>
</div>
<div class="refsect1" title="Details">
<a name="libudev-udev-device.details"></a><h2>Details</h2>
<div class="refsect2" title="struct udev_device">
<a name="udev-device"></a><h3>struct udev_device</h3>
<pre class="programlisting">struct udev_device;</pre>
<p>
Opaque object representing one kernel sys device.
</p>
</div>
<hr>
<div class="refsect2" title="udev_device_ref ()">
<a name="udev-device-ref"></a><h3>udev_device_ref ()</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_device_ref                    (<em class="parameter"><code><span class="type">struct udev_device</span> *udev_device</code></em>);</pre>
<p>
Take a reference of a 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_device</code></em> :</span></p></td>
<td>udev device
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> the passed udev device
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="udev_device_unref ()">
<a name="udev-device-unref"></a><h3>udev_device_unref ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                udev_device_unref                   (<em class="parameter"><code><span class="type">struct udev_device</span> *udev_device</code></em>);</pre>
<p>
Drop a reference of a udev device. If the refcount reaches zero,
the resources of the device 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_device</code></em> :</span></p></td>
<td>udev device
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="udev_device_get_udev ()">
<a name="udev-device-get-udev"></a><h3>udev_device_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_device_get_udev                (<em class="parameter"><code><span class="type">struct udev_device</span> *udev_device</code></em>);</pre>
<p>
Retrieve the udev library context the device 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_device</code></em> :</span></p></td>
<td>udev device
</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_device_new_from_syspath ()">
<a name="udev-device-new-from-syspath"></a><h3>udev_device_new_from_syspath ()</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_device_new_from_syspath       (<em class="parameter"><code><span class="type">struct udev</span> *udev</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *syspath</code></em>);</pre>
<p>
Create new udev device, and fill in information from the sys
device and the udev database entry. The syspath is the absolute
path to the device, including the sys mount point.
</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</code></em> :</span></p></td>
<td>udev library context
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>syspath</code></em> :</span></p></td>
<td>sys device path including sys directory
</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>, if it does not exist
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="udev_device_new_from_devnum ()">
<a name="udev-device-new-from-devnum"></a><h3>udev_device_new_from_devnum ()</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_device_new_from_devnum        (<em class="parameter"><code><span class="type">struct udev</span> *udev</code></em>,
                                                         <em class="parameter"><code><span class="type">char</span> type</code></em>,
                                                         <em class="parameter"><code><span class="type">dev_t</span> devnum</code></em>);</pre>
<p>
Create new udev device, and fill in information from the sys
device and the udev database entry. The device is looked-up
by its major/minor number and type. Character and block device
numbers are not unique across the two types.
</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</code></em> :</span></p></td>
<td>udev library context
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
<td>char or block device
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>devnum</code></em> :</span></p></td>
<td>device major/minor number
</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>, if it does not exist
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="udev_device_new_from_subsystem_sysname ()">
<a name="udev-device-new-from-subsystem-sysname"></a><h3>udev_device_new_from_subsystem_sysname ()</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_device_new_from_subsystem_sysname
                                                        (<em class="parameter"><code><span class="type">struct udev</span> *udev</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> *sysname</code></em>);</pre>
<p>
Create new udev device, and fill in information from the sys device
and the udev database entry. The device is looked up by the subsystem
and name string of the device, like "mem" / "zero", or "block" / "sda".
</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</code></em> :</span></p></td>
<td>udev library context
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>subsystem</code></em> :</span></p></td>
<td>the subsystem of the device
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>sysname</code></em> :</span></p></td>
<td>the name of the device
</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>, if it does not exist
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="udev_device_new_from_environment ()">
<a name="udev-device-new-from-environment"></a><h3>udev_device_new_from_environment ()</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_device_new_from_environment   (<em class="parameter"><code><span class="type">struct udev</span> *udev</code></em>);</pre>
<p>
Create new udev device, and fill in information from the
current process environment. This only works reliable if
the process is called from a udev rule. It is usually used
for tools executed from IMPORT= rules.
</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</code></em> :</span></p></td>
<td>udev library context
</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>, if it does not exist
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="udev_device_get_parent ()">
<a name="udev-device-get-parent"></a><h3>udev_device_get_parent ()</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_device_get_parent             (<em class="parameter"><code><span class="type">struct udev_device</span> *udev_device</code></em>);</pre>
<p>
Find the next parent device, and fill in information from the sys
device and the udev database entry.
</p>
<p>
The returned the device is not referenced. It is attached to the
child device, and will be cleaned up when the child device
is cleaned up.
</p>
<p>
It is not necessarily just the upper level directory, empty or not
recognized sys directories are ignored.
</p>
<p>
It can be called as many times as needed, without caring about
references.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>udev_device</code></em> :</span></p></td>
<td>the device to start searching from
</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>, if it no parent exist.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="udev_device_get_parent_with_subsystem_devtype ()">
<a name="udev-device-get-parent-with-subsystem-devtype"></a><h3>udev_device_get_parent_with_subsystem_devtype ()</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_device_get_parent_with_subsystem_devtype
                                                        (<em class="parameter"><code><span class="type">struct udev_device</span> *udev_device</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>
Find the next parent device, with a matching subsystem and devtype
value, and fill in information from the sys device and the udev
database entry.
</p>
<p>
If devtype is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a>, only subsystem is checked, and any devtype will
match.
</p>
<p>
The returned the device is not referenced. It is attached to the
child device, and will be cleaned up when the child device
is cleaned up.
</p>
<p>
It can be called as many times as needed, without caring about
references.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>udev_device</code></em> :</span></p></td>
<td>udev device to start searching from
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>subsystem</code></em> :</span></p></td>
<td>the subsystem of the device
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>devtype</code></em> :</span></p></td>
<td>the type (DEVTYPE) of the device
</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> if no matching parent exists.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="udev_device_get_devpath ()">
<a name="udev-device-get-devpath"></a><h3>udev_device_get_devpath ()</h3>
<pre class="programlisting">const <span class="returnvalue">char</span> *        udev_device_get_devpath             (<em class="parameter"><code><span class="type">struct udev_device</span> *udev_device</code></em>);</pre>
<p>
Retrieve the kernel devpath value of the udev device. The path
does not contain the sys mount point, and starts with a '/'.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>udev_device</code></em> :</span></p></td>
<td>udev device
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> the devpath of the udev device
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="udev_device_get_subsystem ()">
<a name="udev-device-get-subsystem"></a><h3>udev_device_get_subsystem ()</h3>
<pre class="programlisting">const <span class="returnvalue">char</span> *        udev_device_get_subsystem           (<em class="parameter"><code><span class="type">struct udev_device</span> *udev_device</code></em>);</pre>
<p>
Retrieve the subsystem string of the udev device. The string does not
contain any "/".
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>udev_device</code></em> :</span></p></td>
<td>udev device
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> the subsystem name of the udev device, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if it can not be determined
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="udev_device_get_devtype ()">
<a name="udev-device-get-devtype"></a><h3>udev_device_get_devtype ()</h3>
<pre class="programlisting">const <span class="returnvalue">char</span> *        udev_device_get_devtype             (<em class="parameter"><code><span class="type">struct udev_device</span> *udev_device</code></em>);</pre>
<p>
Retrieve the devtype string 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_device</code></em> :</span></p></td>
<td>udev device
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> the devtype name of the udev device, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if it can not be determined
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="udev_device_get_syspath ()">
<a name="udev-device-get-syspath"></a><h3>udev_device_get_syspath ()</h3>
<pre class="programlisting">const <span class="returnvalue">char</span> *        udev_device_get_syspath             (<em class="parameter"><code><span class="type">struct udev_device</span> *udev_device</code></em>);</pre>
<p>
Retrieve the sys path of the udev device. The path is an
absolute path and starts with the sys mount point.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>udev_device</code></em> :</span></p></td>
<td>udev device
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> the sys path of the udev device
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="udev_device_get_sysname ()">
<a name="udev-device-get-sysname"></a><h3>udev_device_get_sysname ()</h3>
<pre class="programlisting">const <span class="returnvalue">char</span> *        udev_device_get_sysname             (<em class="parameter"><code><span class="type">struct udev_device</span> *udev_device</code></em>);</pre>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>udev_device</code></em> :</span></p></td>
<td>udev device
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> the sys name of the device device
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="udev_device_get_sysnum ()">
<a name="udev-device-get-sysnum"></a><h3>udev_device_get_sysnum ()</h3>
<pre class="programlisting">const <span class="returnvalue">char</span> *        udev_device_get_sysnum              (<em class="parameter"><code><span class="type">struct udev_device</span> *udev_device</code></em>);</pre>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>udev_device</code></em> :</span></p></td>
<td>udev device
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> the trailing number of of the device name
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="udev_device_get_devnode ()">
<a name="udev-device-get-devnode"></a><h3>udev_device_get_devnode ()</h3>
<pre class="programlisting">const <span class="returnvalue">char</span> *        udev_device_get_devnode             (<em class="parameter"><code><span class="type">struct udev_device</span> *udev_device</code></em>);</pre>
<p>
Retrieve the device node file name belonging to the udev device.
The path is an absolute path, and starts with the device directory.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>udev_device</code></em> :</span></p></td>
<td>udev device
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> the device node file name of the udev device, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if no device node exists
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="udev_device_get_is_initialized ()">
<a name="udev-device-get-is-initialized"></a><h3>udev_device_get_is_initialized ()</h3>
<pre class="programlisting"><span class="returnvalue">int</span>                 udev_device_get_is_initialized      (<em class="parameter"><code><span class="type">struct udev_device</span> *udev_device</code></em>);</pre>
<p>
Check if udev has already handled the device and has set up
device node permissions and context, or has renamed a network
device.
</p>
<p>
This is only implemented for devices with a device node
or network interfaces. All other devices return 1 here.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>udev_device</code></em> :</span></p></td>
<td>udev device
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> 1 if the device is set up. 0 otherwise.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="udev_device_get_devlinks_list_entry ()">
<a name="udev-device-get-devlinks-list-entry"></a><h3>udev_device_get_devlinks_list_entry ()</h3>
<pre class="programlisting">struct <a class="link" href="libudev-udev-list.html#udev-list-entry" title="struct udev_list_entry"><span class="returnvalue">udev_list_entry</span></a> * udev_device_get_devlinks_list_entry
                                                        (<em class="parameter"><code><span class="type">struct udev_device</span> *udev_device</code></em>);</pre>
<p>
Retrieve the list of device links pointing to the device file of
the udev device. The next list entry can be retrieved with
<code class="function">udev_list_entry_next()</code>, which returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if no more entries exist.
The devlink path can be retrieved from the list entry by
<a class="link" href="libudev-udev-list.html#udev-list-entry-get-name" title="udev_list_entry_get_name ()"><code class="function">udev_list_entry_get_name()</code></a>. The path is an absolute path, and starts with
the device directory.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>udev_device</code></em> :</span></p></td>
<td>udev device
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> the first entry of the device node link list
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="udev_device_get_properties_list_entry ()">
<a name="udev-device-get-properties-list-entry"></a><h3>udev_device_get_properties_list_entry ()</h3>
<pre class="programlisting">struct <a class="link" href="libudev-udev-list.html#udev-list-entry" title="struct udev_list_entry"><span class="returnvalue">udev_list_entry</span></a> * udev_device_get_properties_list_entry
                                                        (<em class="parameter"><code><span class="type">struct udev_device</span> *udev_device</code></em>);</pre>
<p>
Retrieve the list of key/value device properties of the udev
device. The next list entry can be retrieved with <code class="function">udev_list_entry_next()</code>,
which returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if no more entries exist. The property name
can be retrieved from the list entry by <code class="function">udev_list_get_name()</code>,
the property value by <code class="function">udev_list_get_value()</code>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>udev_device</code></em> :</span></p></td>
<td>udev device
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> the first entry of the property list
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="udev_device_get_tags_list_entry ()">
<a name="udev-device-get-tags-list-entry"></a><h3>udev_device_get_tags_list_entry ()</h3>
<pre class="programlisting">struct <a class="link" href="libudev-udev-list.html#udev-list-entry" title="struct udev_list_entry"><span class="returnvalue">udev_list_entry</span></a> * udev_device_get_tags_list_entry
                                                        (<em class="parameter"><code><span class="type">struct udev_device</span> *udev_device</code></em>);</pre>
<p>
Retrieve the list of tags attached to the udev device. The next
list entry can be retrieved with <code class="function">udev_list_entry_next()</code>,
which returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if no more entries exist. The tag string
can be retrieved from the list entry by <code class="function">udev_list_get_name()</code>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>udev_device</code></em> :</span></p></td>
<td>udev device
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> the first entry of the tag list
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="udev_device_get_property_value ()">
<a name="udev-device-get-property-value"></a><h3>udev_device_get_property_value ()</h3>
<pre class="programlisting">const <span class="returnvalue">char</span> *        udev_device_get_property_value      (<em class="parameter"><code><span class="type">struct udev_device</span> *udev_device</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *key</code></em>);</pre>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>udev_device</code></em> :</span></p></td>
<td>udev device
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
<td>property name
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> the value of a device property, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if there is no such property.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="udev_device_get_driver ()">
<a name="udev-device-get-driver"></a><h3>udev_device_get_driver ()</h3>
<pre class="programlisting">const <span class="returnvalue">char</span> *        udev_device_get_driver              (<em class="parameter"><code><span class="type">struct udev_device</span> *udev_device</code></em>);</pre>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>udev_device</code></em> :</span></p></td>
<td>udev device
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> the driver string, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if there is no driver attached.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="udev_device_get_devnum ()">
<a name="udev-device-get-devnum"></a><h3>udev_device_get_devnum ()</h3>
<pre class="programlisting"><span class="returnvalue">dev_t</span>               udev_device_get_devnum              (<em class="parameter"><code><span class="type">struct udev_device</span> *udev_device</code></em>);</pre>
<p>
This is only valid if the device was received through a monitor. Devices read from
sys do not have a sequence number.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>udev_device</code></em> :</span></p></td>
<td>udev device
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> the kernel event sequence number, or 0 if there is no sequence number available.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="udev_device_get_action ()">
<a name="udev-device-get-action"></a><h3>udev_device_get_action ()</h3>
<pre class="programlisting">const <span class="returnvalue">char</span> *        udev_device_get_action              (<em class="parameter"><code><span class="type">struct udev_device</span> *udev_device</code></em>);</pre>
<p>
This is only valid if the device was received through a monitor. Devices read from
sys do not have an action string. Usual actions are: add, remove, change, online,
offline.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>udev_device</code></em> :</span></p></td>
<td>udev device
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> the kernel action value, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if there is no action value available.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="udev_device_get_sysattr_value ()">
<a name="udev-device-get-sysattr-value"></a><h3>udev_device_get_sysattr_value ()</h3>
<pre class="programlisting">const <span class="returnvalue">char</span> *        udev_device_get_sysattr_value       (<em class="parameter"><code><span class="type">struct udev_device</span> *udev_device</code></em>,
                                                         <em class="parameter"><code>const <span class="type">char</span> *sysattr</code></em>);</pre>
<p>
The retrieved value is cached in the device. Repeated calls will return the same
value and not open the attribute again.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>udev_device</code></em> :</span></p></td>
<td>udev device
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>sysattr</code></em> :</span></p></td>
<td>attribute name
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> the content of a sys attribute file, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><span class="type">NULL</span></a> if there is no sys attribute value.
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="udev_device_get_seqnum ()">
<a name="udev-device-get-seqnum"></a><h3>udev_device_get_seqnum ()</h3>
<pre class="programlisting">unsigned long long <span class="returnvalue">int</span>  udev_device_get_seqnum          (<em class="parameter"><code><span class="type">struct udev_device</span> *udev_device</code></em>);</pre>
<p>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>udev_device</code></em> :</span></p></td>
<td>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2" title="udev_device_get_usec_since_initialized ()">
<a name="udev-device-get-usec-since-initialized"></a><h3>udev_device_get_usec_since_initialized ()</h3>
<pre class="programlisting">unsigned long long <span class="returnvalue">int</span>  udev_device_get_usec_since_initialized
                                                        (<em class="parameter"><code><span class="type">struct udev_device</span> *udev_device</code></em>);</pre>
<p>
Return the number of microseconds passed since udev set up the
device for the first time.
</p>
<p>
This is only implemented for devices with need to store properties
in the udev database. All other devices return 0 here.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>udev_device</code></em> :</span></p></td>
<td>udev device
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td> the number of microseconds since the device was first seen.
</td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
<div class="footer">
<hr>
          Generated by GTK-Doc V1.15</div>
</body>
</html>