aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--packages.ent6
-rw-r--r--udev-lfs/Makefile.lfs6
-rw-r--r--udev-lfs/gudev/GUdevClient.html467
-rw-r--r--udev-lfs/gudev/GUdevDevice.html1077
-rw-r--r--udev-lfs/gudev/GUdevEnumerator.html493
-rw-r--r--udev-lfs/gudev/annotation-glossary.html56
-rw-r--r--udev-lfs/gudev/api-index-deprecated.html31
-rw-r--r--udev-lfs/gudev/api-index-full.html281
-rw-r--r--udev-lfs/gudev/gudev-hierarchy.html38
-rw-r--r--udev-lfs/gudev/gudev.devhelp280
-rw-r--r--udev-lfs/gudev/home.pngbin0 -> 654 bytes
-rw-r--r--udev-lfs/gudev/index.html53
-rw-r--r--udev-lfs/gudev/index.sgml90
-rw-r--r--udev-lfs/gudev/ix02.html110
-rw-r--r--udev-lfs/gudev/left.pngbin0 -> 459 bytes
-rw-r--r--udev-lfs/gudev/ref-API.html41
-rw-r--r--udev-lfs/gudev/right.pngbin0 -> 472 bytes
-rw-r--r--udev-lfs/gudev/style.css266
-rw-r--r--udev-lfs/gudev/up.pngbin0 -> 406 bytes
-rw-r--r--udev-lfs/makefile-incl.gudev4
-rw-r--r--udev-lfs/udev.7476
-rw-r--r--udev-lfs/udevadm.8372
-rw-r--r--udev-lfs/udevd.853
23 files changed, 3970 insertions, 30 deletions
diff --git a/packages.ent b/packages.ent
index a29bdcbd8..ff6021c0f 100644
--- a/packages.ent
+++ b/packages.ent
@@ -543,10 +543,10 @@
<!ENTITY tzdata-ch6-du "6.4 MB">
<!ENTITY tzdata-ch6-sbu "less than 0.1 SBU">
-<!ENTITY udev-lfs "udev-lfs-&systemd-version;-1">
-<!ENTITY udev-lfs-size "17 KB">
+<!ENTITY udev-lfs "udev-lfs-&systemd-version;-2">
+<!ENTITY udev-lfs-size "40 KB">
<!ENTITY udev-lfs-url "&anduin-other;&udev-lfs;.tar.bz2">
-<!ENTITY udev-lfs-md5 "89610c2a3424dc7c8f3607eb8229fee7">
+<!ENTITY udev-lfs-md5 "87536271791ab27100e8f44f4f76b434">
<!ENTITY udev-lfs-home " ">
<!ENTITY util-linux-version "2.22.2">
diff --git a/udev-lfs/Makefile.lfs b/udev-lfs/Makefile.lfs
index 2dc6f83c6..7f9f30bf4 100644
--- a/udev-lfs/Makefile.lfs
+++ b/udev-lfs/Makefile.lfs
@@ -5,7 +5,7 @@
SHELL=/bin/bash
SYSTEMD_VERSION=199
-VERSION=199-1
+VERSION=199-2
ifeq ($(V),)
VB = @
@@ -310,8 +310,8 @@ install: udev
# @build/udevadm hwdb --update
# Copy documentation
- @cp -v man/udev.7 $(DESTDIR)/usr/share/man/man7
- @cp -v man/udevadm.8 $(DESTDIR)/usr/share/man/man8
+ @cp -v udev-lfs-$(VERSION)/udev.7 $(DESTDIR)/usr/share/man/man7
+ @cp -v udev-lfs-$(VERSION)/udevadm.8 $(DESTDIR)/usr/share/man/man8
@cp -v udev-lfs-$(VERSION)/udevd.8 $(DESTDIR)/usr/share/man/man8
@cp -v udev-lfs-$(VERSION)/README $(DESTDIR)/usr/share/doc/udev/lfs
@cp -v udev-lfs-$(VERSION)/*.txt $(DESTDIR)/usr/share/doc/udev/lfs
diff --git a/udev-lfs/gudev/GUdevClient.html b/udev-lfs/gudev/GUdevClient.html
new file mode 100644
index 000000000..c50304404
--- /dev/null
+++ b/udev-lfs/gudev/GUdevClient.html
@@ -0,0 +1,467 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>GUdevClient</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
+<link rel="home" href="index.html" title="GUdev Reference Manual">
+<link rel="up" href="ref-API.html" title="API Reference">
+<link rel="prev" href="ref-API.html" title="API Reference">
+<link rel="next" href="GUdevDevice.html" title="GUdevDevice">
+<meta name="generator" content="GTK-Doc V1.18 (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="ref-API.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="ref-API.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">GUdev Reference Manual</th>
+<td><a accesskey="n" href="GUdevDevice.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr>
+<tr><td colspan="5" class="shortcuts">
+<a href="#GUdevClient.synopsis" class="shortcut">Top</a>
+  | 
+ <a href="#GUdevClient.description" class="shortcut">Description</a>
+  | 
+ <a href="#GUdevClient.object-hierarchy" class="shortcut">Object Hierarchy</a>
+  | 
+ <a href="#GUdevClient.properties" class="shortcut">Properties</a>
+  | 
+ <a href="#GUdevClient.signals" class="shortcut">Signals</a>
+</td></tr>
+</table>
+<div class="refentry">
+<a name="GUdevClient"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="GUdevClient.top_of_page"></a>GUdevClient</span></h2>
+<p>GUdevClient — Query devices and listen to uevents</p>
+</td>
+<td valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsynopsisdiv">
+<a name="GUdevClient.synopsis"></a><h2>Synopsis</h2>
+<a name="GUdevDeviceType"></a><pre class="synopsis"> <a class="link" href="GUdevClient.html#GUdevClient-struct" title="GUdevClient">GUdevClient</a>;
+struct <a class="link" href="GUdevClient.html#GUdevClientClass" title="struct GUdevClientClass">GUdevClientClass</a>;
+enum <a class="link" href="GUdevClient.html#GUdevDeviceType-enum" title="enum GUdevDeviceType">GUdevDeviceType</a>;
+typedef <a class="link" href="GUdevClient.html#GUdevDeviceNumber" title="GUdevDeviceNumber">GUdevDeviceNumber</a>;
+<a class="link" href="GUdevClient.html" title="GUdevClient"><span class="returnvalue">GUdevClient</span></a> * <a class="link" href="GUdevClient.html#g-udev-client-new" title="g_udev_client_new ()">g_udev_client_new</a> (<em class="parameter"><code>const <span class="type">gchar</span> * const *subsystems</code></em>);
+<span class="returnvalue">GList</span> * <a class="link" href="GUdevClient.html#g-udev-client-query-by-subsystem" title="g_udev_client_query_by_subsystem ()">g_udev_client_query_by_subsystem</a> (<em class="parameter"><code><a class="link" href="GUdevClient.html" title="GUdevClient"><span class="type">GUdevClient</span></a> *client</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *subsystem</code></em>);
+<a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="returnvalue">GUdevDevice</span></a> * <a class="link" href="GUdevClient.html#g-udev-client-query-by-device-number" title="g_udev_client_query_by_device_number ()">g_udev_client_query_by_device_number</a>
+ (<em class="parameter"><code><a class="link" href="GUdevClient.html" title="GUdevClient"><span class="type">GUdevClient</span></a> *client</code></em>,
+ <em class="parameter"><code><a class="link" href="GUdevClient.html#GUdevDeviceType"><span class="type">GUdevDeviceType</span></a> type</code></em>,
+ <em class="parameter"><code><a class="link" href="GUdevClient.html#GUdevDeviceNumber" title="GUdevDeviceNumber"><span class="type">GUdevDeviceNumber</span></a> number</code></em>);
+<a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="returnvalue">GUdevDevice</span></a> * <a class="link" href="GUdevClient.html#g-udev-client-query-by-device-file" title="g_udev_client_query_by_device_file ()">g_udev_client_query_by_device_file</a> (<em class="parameter"><code><a class="link" href="GUdevClient.html" title="GUdevClient"><span class="type">GUdevClient</span></a> *client</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *device_file</code></em>);
+<a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="returnvalue">GUdevDevice</span></a> * <a class="link" href="GUdevClient.html#g-udev-client-query-by-sysfs-path" title="g_udev_client_query_by_sysfs_path ()">g_udev_client_query_by_sysfs_path</a> (<em class="parameter"><code><a class="link" href="GUdevClient.html" title="GUdevClient"><span class="type">GUdevClient</span></a> *client</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *sysfs_path</code></em>);
+<a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="returnvalue">GUdevDevice</span></a> * <a class="link" href="GUdevClient.html#g-udev-client-query-by-subsystem-and-name" title="g_udev_client_query_by_subsystem_and_name ()">g_udev_client_query_by_subsystem_and_name</a>
+ (<em class="parameter"><code><a class="link" href="GUdevClient.html" title="GUdevClient"><span class="type">GUdevClient</span></a> *client</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *subsystem</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);
+</pre>
+</div>
+<div class="refsect1">
+<a name="GUdevClient.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="synopsis">
+ GObject
+ +----GUdevClient
+</pre>
+<pre class="synopsis">
+ GEnum
+ +----GUdevDeviceType
+</pre>
+</div>
+<div class="refsect1">
+<a name="GUdevClient.properties"></a><h2>Properties</h2>
+<pre class="synopsis">
+ "<a class="link" href="GUdevClient.html#GUdevClient--subsystems" title='The "subsystems" property'>subsystems</a>" <span class="type">GStrv</span> : Read / Write / Construct Only
+</pre>
+</div>
+<div class="refsect1">
+<a name="GUdevClient.signals"></a><h2>Signals</h2>
+<pre class="synopsis">
+ "<a class="link" href="GUdevClient.html#GUdevClient-uevent" title='The "uevent" signal'>uevent</a>" : <code class="literal">Run Last</code>
+</pre>
+</div>
+<div class="refsect1">
+<a name="GUdevClient.description"></a><h2>Description</h2>
+<p>
+<a class="link" href="GUdevClient.html" title="GUdevClient"><span class="type">GUdevClient</span></a> is used to query information about devices on a Linux
+system from the Linux kernel and the udev device
+manager.
+</p>
+<p>
+Device information is retrieved from the kernel (through the
+<code class="literal">sysfs</code> filesystem) and the udev daemon (through a
+<code class="literal">tmpfs</code> filesystem) and presented through
+<a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> objects. This means that no blocking IO ever happens
+(in both cases, we are essentially just reading data from kernel
+memory) and as such there are no asynchronous versions of the
+provided methods.
+</p>
+<p>
+To get <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> objects, use
+<a class="link" href="GUdevClient.html#g-udev-client-query-by-subsystem" title="g_udev_client_query_by_subsystem ()"><code class="function">g_udev_client_query_by_subsystem()</code></a>,
+<a class="link" href="GUdevClient.html#g-udev-client-query-by-device-number" title="g_udev_client_query_by_device_number ()"><code class="function">g_udev_client_query_by_device_number()</code></a>,
+<a class="link" href="GUdevClient.html#g-udev-client-query-by-device-file" title="g_udev_client_query_by_device_file ()"><code class="function">g_udev_client_query_by_device_file()</code></a>,
+<a class="link" href="GUdevClient.html#g-udev-client-query-by-sysfs-path" title="g_udev_client_query_by_sysfs_path ()"><code class="function">g_udev_client_query_by_sysfs_path()</code></a>,
+<a class="link" href="GUdevClient.html#g-udev-client-query-by-subsystem-and-name" title="g_udev_client_query_by_subsystem_and_name ()"><code class="function">g_udev_client_query_by_subsystem_and_name()</code></a>
+or the <a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="type">GUdevEnumerator</span></a> type.
+</p>
+<p>
+To listen to uevents, connect to the <a class="link" href="GUdevClient.html#GUdevClient-uevent" title='The "uevent" signal'><span class="type">"uevent"</span></a> signal.
+</p>
+</div>
+<div class="refsect1">
+<a name="GUdevClient.details"></a><h2>Details</h2>
+<div class="refsect2">
+<a name="GUdevClient-struct"></a><h3>GUdevClient</h3>
+<pre class="programlisting">typedef struct _GUdevClient GUdevClient;</pre>
+<p>
+The <a class="link" href="GUdevClient.html" title="GUdevClient"><span class="type">GUdevClient</span></a> struct is opaque and should not be accessed directly.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GUdevClientClass"></a><h3>struct GUdevClientClass</h3>
+<pre class="programlisting">struct GUdevClientClass {
+ GObjectClass parent_class;
+
+ /* signals */
+ void (*uevent) (GUdevClient *client,
+ const gchar *action,
+ GUdevDevice *device);
+};
+</pre>
+<p>
+Class structure for <a class="link" href="GUdevClient.html" title="GUdevClient"><span class="type">GUdevClient</span></a>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><span class="type">GObjectClass</span> <em class="structfield"><code><a name="GUdevClientClass.parent-class"></a>parent_class</code></em>;</span></p></td>
+<td>Parent class.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="structfield"><code><a name="GUdevClientClass.uevent"></a>uevent</code></em> ()</span></p></td>
+<td>Signal class handler for the <a class="link" href="GUdevClient.html#GUdevClient-uevent" title='The "uevent" signal'><span class="type">"uevent"</span></a> signal.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GUdevDeviceType-enum"></a><h3>enum GUdevDeviceType</h3>
+<pre class="programlisting">typedef enum {
+ G_UDEV_DEVICE_TYPE_NONE = 0,
+ G_UDEV_DEVICE_TYPE_BLOCK = 'b',
+ G_UDEV_DEVICE_TYPE_CHAR = 'c',
+} GUdevDeviceType;
+</pre>
+<p>
+Enumeration used to specify a the type of a device.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><a name="G-UDEV-DEVICE-TYPE-NONE:CAPS"></a><span class="term"><code class="literal">G_UDEV_DEVICE_TYPE_NONE</code></span></p></td>
+<td>Device does not have a device file.
+</td>
+</tr>
+<tr>
+<td><p><a name="G-UDEV-DEVICE-TYPE-BLOCK:CAPS"></a><span class="term"><code class="literal">G_UDEV_DEVICE_TYPE_BLOCK</code></span></p></td>
+<td>Device is a block device.
+</td>
+</tr>
+<tr>
+<td><p><a name="G-UDEV-DEVICE-TYPE-CHAR:CAPS"></a><span class="term"><code class="literal">G_UDEV_DEVICE_TYPE_CHAR</code></span></p></td>
+<td>Device is a character device.
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GUdevDeviceNumber"></a><h3>GUdevDeviceNumber</h3>
+<pre class="programlisting">typedef guint64 GUdevDeviceNumber; /* __UQUAD_TYPE */
+</pre>
+<p>
+Corresponds to the standard <span class="type">dev_t</span> type as defined by POSIX (Until
+bug 584517 is resolved this work-around is needed).
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-udev-client-new"></a><h3>g_udev_client_new ()</h3>
+<pre class="programlisting"><a class="link" href="GUdevClient.html" title="GUdevClient"><span class="returnvalue">GUdevClient</span></a> * g_udev_client_new (<em class="parameter"><code>const <span class="type">gchar</span> * const *subsystems</code></em>);</pre>
+<p>
+Constructs a <a class="link" href="GUdevClient.html" title="GUdevClient"><span class="type">GUdevClient</span></a> object that can be used to query
+information about devices. Connect to the <a class="link" href="GUdevClient.html#GUdevClient-uevent" title='The "uevent" signal'><span class="type">"uevent"</span></a>
+signal to listen for uevents. Note that signals are emitted in the
+thread-default main loop
+of the thread that you call this constructor from.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>subsystems</code></em> :</span></p></td>
+<td>A <code class="literal">NULL</code> terminated string array of subsystems to listen for uevents on, <code class="literal">NULL</code> to not listen on uevents at all, or an empty array to listen to uevents on all subsystems. See the documentation for the <a class="link" href="GUdevClient.html#GUdevClient--subsystems" title='The "subsystems" property'><span class="type">"subsystems"</span></a> property for details on this parameter. <span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>A new <a class="link" href="GUdevClient.html" title="GUdevClient"><span class="type">GUdevClient</span></a> object. Free with <code class="function">g_object_unref()</code>.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-udev-client-query-by-subsystem"></a><h3>g_udev_client_query_by_subsystem ()</h3>
+<pre class="programlisting"><span class="returnvalue">GList</span> * g_udev_client_query_by_subsystem (<em class="parameter"><code><a class="link" href="GUdevClient.html" title="GUdevClient"><span class="type">GUdevClient</span></a> *client</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *subsystem</code></em>);</pre>
+<p>
+Gets all devices belonging to <em class="parameter"><code>subsystem</code></em>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>client</code></em> :</span></p></td>
+<td>A <a class="link" href="GUdevClient.html" title="GUdevClient"><span class="type">GUdevClient</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>subsystem</code></em> :</span></p></td>
+<td>The subsystem to get devices for or <code class="literal">NULL</code> to get all devices. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>A list of <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> objects. The caller should free the result by using <code class="function">g_object_unref()</code> on each element in the list and then <code class="function">g_list_free()</code> on the list. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GUdevDevice][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-udev-client-query-by-device-number"></a><h3>g_udev_client_query_by_device_number ()</h3>
+<pre class="programlisting"><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="returnvalue">GUdevDevice</span></a> * g_udev_client_query_by_device_number
+ (<em class="parameter"><code><a class="link" href="GUdevClient.html" title="GUdevClient"><span class="type">GUdevClient</span></a> *client</code></em>,
+ <em class="parameter"><code><a class="link" href="GUdevClient.html#GUdevDeviceType"><span class="type">GUdevDeviceType</span></a> type</code></em>,
+ <em class="parameter"><code><a class="link" href="GUdevClient.html#GUdevDeviceNumber" title="GUdevDeviceNumber"><span class="type">GUdevDeviceNumber</span></a> number</code></em>);</pre>
+<p>
+Looks up a device for a type and device number.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>client</code></em> :</span></p></td>
+<td>A <a class="link" href="GUdevClient.html" title="GUdevClient"><span class="type">GUdevClient</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>type</code></em> :</span></p></td>
+<td>A value from the <a class="link" href="GUdevClient.html#GUdevDeviceType"><span class="type">GUdevDeviceType</span></a> enumeration.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>number</code></em> :</span></p></td>
+<td>A device number.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>A <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> object or <code class="literal">NULL</code> if the device was not found. Free with <code class="function">g_object_unref()</code>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-udev-client-query-by-device-file"></a><h3>g_udev_client_query_by_device_file ()</h3>
+<pre class="programlisting"><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="returnvalue">GUdevDevice</span></a> * g_udev_client_query_by_device_file (<em class="parameter"><code><a class="link" href="GUdevClient.html" title="GUdevClient"><span class="type">GUdevClient</span></a> *client</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *device_file</code></em>);</pre>
+<p>
+Looks up a device for a device file.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>client</code></em> :</span></p></td>
+<td>A <a class="link" href="GUdevClient.html" title="GUdevClient"><span class="type">GUdevClient</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>device_file</code></em> :</span></p></td>
+<td>A device file.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>A <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> object or <code class="literal">NULL</code> if the device was not found. Free with <code class="function">g_object_unref()</code>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-udev-client-query-by-sysfs-path"></a><h3>g_udev_client_query_by_sysfs_path ()</h3>
+<pre class="programlisting"><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="returnvalue">GUdevDevice</span></a> * g_udev_client_query_by_sysfs_path (<em class="parameter"><code><a class="link" href="GUdevClient.html" title="GUdevClient"><span class="type">GUdevClient</span></a> *client</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *sysfs_path</code></em>);</pre>
+<p>
+Looks up a device for a sysfs path.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>client</code></em> :</span></p></td>
+<td>A <a class="link" href="GUdevClient.html" title="GUdevClient"><span class="type">GUdevClient</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>sysfs_path</code></em> :</span></p></td>
+<td>A sysfs path.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>A <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> object or <code class="literal">NULL</code> if the device was not found. Free with <code class="function">g_object_unref()</code>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-udev-client-query-by-subsystem-and-name"></a><h3>g_udev_client_query_by_subsystem_and_name ()</h3>
+<pre class="programlisting"><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="returnvalue">GUdevDevice</span></a> * g_udev_client_query_by_subsystem_and_name
+ (<em class="parameter"><code><a class="link" href="GUdevClient.html" title="GUdevClient"><span class="type">GUdevClient</span></a> *client</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *subsystem</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);</pre>
+<p>
+Looks up a device for a subsystem and name.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>client</code></em> :</span></p></td>
+<td>A <a class="link" href="GUdevClient.html" title="GUdevClient"><span class="type">GUdevClient</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>subsystem</code></em> :</span></p></td>
+<td>A subsystem name.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>name</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 <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> object or <code class="literal">NULL</code> if the device was not found. Free with <code class="function">g_object_unref()</code>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+<div class="refsect1">
+<a name="GUdevClient.property-details"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="GUdevClient--subsystems"></a><h3>The <code class="literal">"subsystems"</code> property</h3>
+<pre class="programlisting"> "subsystems" <span class="type">GStrv</span> : Read / Write / Construct Only</pre>
+<p>
+The subsystems to listen for uevents on.
+</p>
+<p>
+To listen for only a specific DEVTYPE for a given SUBSYSTEM, use
+"subsystem/devtype". For example, to only listen for uevents
+where SUBSYSTEM is usb and DEVTYPE is usb_interface, use
+"usb/usb_interface".
+</p>
+<p>
+If this property is <code class="literal">NULL</code>, then no events will be reported. If
+it's the empty array, events from all subsystems will be
+reported.
+</p>
+</div>
+</div>
+<div class="refsect1">
+<a name="GUdevClient.signal-details"></a><h2>Signal Details</h2>
+<div class="refsect2">
+<a name="GUdevClient-uevent"></a><h3>The <code class="literal">"uevent"</code> signal</h3>
+<pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GUdevClient.html" title="GUdevClient"><span class="type">GUdevClient</span></a> *client,
+ <span class="type">gchar</span> *action,
+ <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device,
+ <span class="type">gpointer</span> user_data) : <code class="literal">Run Last</code></pre>
+<p>
+Emitted when <em class="parameter"><code>client</code></em> receives an uevent.
+</p>
+<p>
+This signal is emitted in the
+thread-default main loop
+of the thread that <em class="parameter"><code>client</code></em> was created in.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>client</code></em> :</span></p></td>
+<td>The <a class="link" href="GUdevClient.html" title="GUdevClient"><span class="type">GUdevClient</span></a> receiving the event.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>action</code></em> :</span></p></td>
+<td>The action for the uevent e.g. "add", "remove", "change", "move", etc.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>device</code></em> :</span></p></td>
+<td>Details about the <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> the event is for.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
+<td>user data set when the signal handler was connected.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>
+ Generated by GTK-Doc V1.18</div>
+</body>
+</html> \ No newline at end of file
diff --git a/udev-lfs/gudev/GUdevDevice.html b/udev-lfs/gudev/GUdevDevice.html
new file mode 100644
index 000000000..a2fb8987b
--- /dev/null
+++ b/udev-lfs/gudev/GUdevDevice.html
@@ -0,0 +1,1077 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>GUdevDevice</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
+<link rel="home" href="index.html" title="GUdev Reference Manual">
+<link rel="up" href="ref-API.html" title="API Reference">
+<link rel="prev" href="GUdevClient.html" title="GUdevClient">
+<link rel="next" href="GUdevEnumerator.html" title="GUdevEnumerator">
+<meta name="generator" content="GTK-Doc V1.18 (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="GUdevClient.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="ref-API.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">GUdev Reference Manual</th>
+<td><a accesskey="n" href="GUdevEnumerator.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr>
+<tr><td colspan="5" class="shortcuts">
+<a href="#GUdevDevice.synopsis" class="shortcut">Top</a>
+  | 
+ <a href="#GUdevDevice.description" class="shortcut">Description</a>
+  | 
+ <a href="#GUdevDevice.object-hierarchy" class="shortcut">Object Hierarchy</a>
+</td></tr>
+</table>
+<div class="refentry">
+<a name="GUdevDevice"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="GUdevDevice.top_of_page"></a>GUdevDevice</span></h2>
+<p>GUdevDevice — Get information about a device</p>
+</td>
+<td valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsynopsisdiv">
+<a name="GUdevDevice.synopsis"></a><h2>Synopsis</h2>
+<pre class="synopsis"> <a class="link" href="GUdevDevice.html#GUdevDevice-struct" title="GUdevDevice">GUdevDevice</a>;
+struct <a class="link" href="GUdevDevice.html#GUdevDeviceClass" title="struct GUdevDeviceClass">GUdevDeviceClass</a>;
+const <span class="returnvalue">gchar</span> * <a class="link" href="GUdevDevice.html#g-udev-device-get-subsystem" title="g_udev_device_get_subsystem ()">g_udev_device_get_subsystem</a> (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>);
+const <span class="returnvalue">gchar</span> * <a class="link" href="GUdevDevice.html#g-udev-device-get-devtype" title="g_udev_device_get_devtype ()">g_udev_device_get_devtype</a> (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>);
+const <span class="returnvalue">gchar</span> * <a class="link" href="GUdevDevice.html#g-udev-device-get-name" title="g_udev_device_get_name ()">g_udev_device_get_name</a> (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>);
+const <span class="returnvalue">gchar</span> * <a class="link" href="GUdevDevice.html#g-udev-device-get-number" title="g_udev_device_get_number ()">g_udev_device_get_number</a> (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>);
+const <span class="returnvalue">gchar</span> * <a class="link" href="GUdevDevice.html#g-udev-device-get-sysfs-path" title="g_udev_device_get_sysfs_path ()">g_udev_device_get_sysfs_path</a> (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>);
+const <span class="returnvalue">gchar</span> * <a class="link" href="GUdevDevice.html#g-udev-device-get-driver" title="g_udev_device_get_driver ()">g_udev_device_get_driver</a> (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>);
+const <span class="returnvalue">gchar</span> * <a class="link" href="GUdevDevice.html#g-udev-device-get-action" title="g_udev_device_get_action ()">g_udev_device_get_action</a> (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>);
+<span class="returnvalue">guint64</span> <a class="link" href="GUdevDevice.html#g-udev-device-get-seqnum" title="g_udev_device_get_seqnum ()">g_udev_device_get_seqnum</a> (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>);
+<a class="link" href="GUdevClient.html#GUdevDeviceType"><span class="returnvalue">GUdevDeviceType</span></a> <a class="link" href="GUdevDevice.html#g-udev-device-get-device-type" title="g_udev_device_get_device_type ()">g_udev_device_get_device_type</a> (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>);
+<a class="link" href="GUdevClient.html#GUdevDeviceNumber" title="GUdevDeviceNumber"><span class="returnvalue">GUdevDeviceNumber</span></a> <a class="link" href="GUdevDevice.html#g-udev-device-get-device-number" title="g_udev_device_get_device_number ()">g_udev_device_get_device_number</a> (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>);
+const <span class="returnvalue">gchar</span> * <a class="link" href="GUdevDevice.html#g-udev-device-get-device-file" title="g_udev_device_get_device_file ()">g_udev_device_get_device_file</a> (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>);
+const <span class="returnvalue">gchar</span> * const * <a class="link" href="GUdevDevice.html#g-udev-device-get-device-file-symlinks" title="g_udev_device_get_device_file_symlinks ()">g_udev_device_get_device_file_symlinks</a>
+ (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>);
+<a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="returnvalue">GUdevDevice</span></a> * <a class="link" href="GUdevDevice.html#g-udev-device-get-parent" title="g_udev_device_get_parent ()">g_udev_device_get_parent</a> (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>);
+<a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="returnvalue">GUdevDevice</span></a> * <a class="link" href="GUdevDevice.html#g-udev-device-get-parent-with-subsystem" title="g_udev_device_get_parent_with_subsystem ()">g_udev_device_get_parent_with_subsystem</a>
+ (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *subsystem</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *devtype</code></em>);
+const <span class="returnvalue">gchar</span> * const * <a class="link" href="GUdevDevice.html#g-udev-device-get-tags" title="g_udev_device_get_tags ()">g_udev_device_get_tags</a> (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>);
+<span class="returnvalue">gboolean</span> <a class="link" href="GUdevDevice.html#g-udev-device-get-is-initialized" title="g_udev_device_get_is_initialized ()">g_udev_device_get_is_initialized</a> (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>);
+<span class="returnvalue">guint64</span> <a class="link" href="GUdevDevice.html#g-udev-device-get-usec-since-initialized" title="g_udev_device_get_usec_since_initialized ()">g_udev_device_get_usec_since_initialized</a>
+ (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>);
+const <span class="returnvalue">gchar</span> * const * <a class="link" href="GUdevDevice.html#g-udev-device-get-property-keys" title="g_udev_device_get_property_keys ()">g_udev_device_get_property_keys</a> (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>);
+<span class="returnvalue">gboolean</span> <a class="link" href="GUdevDevice.html#g-udev-device-has-property" title="g_udev_device_has_property ()">g_udev_device_has_property</a> (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *key</code></em>);
+const <span class="returnvalue">gchar</span> * <a class="link" href="GUdevDevice.html#g-udev-device-get-property" title="g_udev_device_get_property ()">g_udev_device_get_property</a> (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *key</code></em>);
+<span class="returnvalue">gint</span> <a class="link" href="GUdevDevice.html#g-udev-device-get-property-as-int" title="g_udev_device_get_property_as_int ()">g_udev_device_get_property_as_int</a> (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *key</code></em>);
+<span class="returnvalue">guint64</span> <a class="link" href="GUdevDevice.html#g-udev-device-get-property-as-uint64" title="g_udev_device_get_property_as_uint64 ()">g_udev_device_get_property_as_uint64</a>
+ (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *key</code></em>);
+<span class="returnvalue">gdouble</span> <a class="link" href="GUdevDevice.html#g-udev-device-get-property-as-double" title="g_udev_device_get_property_as_double ()">g_udev_device_get_property_as_double</a>
+ (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *key</code></em>);
+<span class="returnvalue">gboolean</span> <a class="link" href="GUdevDevice.html#g-udev-device-get-property-as-boolean" title="g_udev_device_get_property_as_boolean ()">g_udev_device_get_property_as_boolean</a>
+ (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *key</code></em>);
+const <span class="returnvalue">gchar</span> * const * <a class="link" href="GUdevDevice.html#g-udev-device-get-property-as-strv" title="g_udev_device_get_property_as_strv ()">g_udev_device_get_property_as_strv</a>
+ (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *key</code></em>);
+const <span class="returnvalue">gchar</span> * <a class="link" href="GUdevDevice.html#g-udev-device-get-sysfs-attr" title="g_udev_device_get_sysfs_attr ()">g_udev_device_get_sysfs_attr</a> (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);
+<span class="returnvalue">gint</span> <a class="link" href="GUdevDevice.html#g-udev-device-get-sysfs-attr-as-int" title="g_udev_device_get_sysfs_attr_as_int ()">g_udev_device_get_sysfs_attr_as_int</a> (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);
+<span class="returnvalue">guint64</span> <a class="link" href="GUdevDevice.html#g-udev-device-get-sysfs-attr-as-uint64" title="g_udev_device_get_sysfs_attr_as_uint64 ()">g_udev_device_get_sysfs_attr_as_uint64</a>
+ (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);
+<span class="returnvalue">gdouble</span> <a class="link" href="GUdevDevice.html#g-udev-device-get-sysfs-attr-as-double" title="g_udev_device_get_sysfs_attr_as_double ()">g_udev_device_get_sysfs_attr_as_double</a>
+ (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);
+<span class="returnvalue">gboolean</span> <a class="link" href="GUdevDevice.html#g-udev-device-get-sysfs-attr-as-boolean" title="g_udev_device_get_sysfs_attr_as_boolean ()">g_udev_device_get_sysfs_attr_as_boolean</a>
+ (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);
+const <span class="returnvalue">gchar</span> * const * <a class="link" href="GUdevDevice.html#g-udev-device-get-sysfs-attr-as-strv" title="g_udev_device_get_sysfs_attr_as_strv ()">g_udev_device_get_sysfs_attr_as_strv</a>
+ (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);
+</pre>
+</div>
+<div class="refsect1">
+<a name="GUdevDevice.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="synopsis">
+ GObject
+ +----GUdevDevice
+</pre>
+</div>
+<div class="refsect1">
+<a name="GUdevDevice.description"></a><h2>Description</h2>
+<p>
+The <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> class is used to get information about a specific
+device. Note that you cannot instantiate a <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> object
+yourself. Instead you must use <a class="link" href="GUdevClient.html" title="GUdevClient"><span class="type">GUdevClient</span></a> to obtain <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a>
+objects.
+</p>
+<p>
+To get basic information about a device, use
+<a class="link" href="GUdevDevice.html#g-udev-device-get-subsystem" title="g_udev_device_get_subsystem ()"><code class="function">g_udev_device_get_subsystem()</code></a>, <a class="link" href="GUdevDevice.html#g-udev-device-get-devtype" title="g_udev_device_get_devtype ()"><code class="function">g_udev_device_get_devtype()</code></a>,
+<a class="link" href="GUdevDevice.html#g-udev-device-get-name" title="g_udev_device_get_name ()"><code class="function">g_udev_device_get_name()</code></a>, <a class="link" href="GUdevDevice.html#g-udev-device-get-number" title="g_udev_device_get_number ()"><code class="function">g_udev_device_get_number()</code></a>,
+<a class="link" href="GUdevDevice.html#g-udev-device-get-sysfs-path" title="g_udev_device_get_sysfs_path ()"><code class="function">g_udev_device_get_sysfs_path()</code></a>, <a class="link" href="GUdevDevice.html#g-udev-device-get-driver" title="g_udev_device_get_driver ()"><code class="function">g_udev_device_get_driver()</code></a>,
+<a class="link" href="GUdevDevice.html#g-udev-device-get-action" title="g_udev_device_get_action ()"><code class="function">g_udev_device_get_action()</code></a>, <a class="link" href="GUdevDevice.html#g-udev-device-get-seqnum" title="g_udev_device_get_seqnum ()"><code class="function">g_udev_device_get_seqnum()</code></a>,
+<a class="link" href="GUdevDevice.html#g-udev-device-get-device-type" title="g_udev_device_get_device_type ()"><code class="function">g_udev_device_get_device_type()</code></a>, <a class="link" href="GUdevDevice.html#g-udev-device-get-device-number" title="g_udev_device_get_device_number ()"><code class="function">g_udev_device_get_device_number()</code></a>,
+<a class="link" href="GUdevDevice.html#g-udev-device-get-device-file" title="g_udev_device_get_device_file ()"><code class="function">g_udev_device_get_device_file()</code></a>,
+<a class="link" href="GUdevDevice.html#g-udev-device-get-device-file-symlinks" title="g_udev_device_get_device_file_symlinks ()"><code class="function">g_udev_device_get_device_file_symlinks()</code></a>.
+</p>
+<p>
+To navigate the device tree, use <a class="link" href="GUdevDevice.html#g-udev-device-get-parent" title="g_udev_device_get_parent ()"><code class="function">g_udev_device_get_parent()</code></a> and
+<a class="link" href="GUdevDevice.html#g-udev-device-get-parent-with-subsystem" title="g_udev_device_get_parent_with_subsystem ()"><code class="function">g_udev_device_get_parent_with_subsystem()</code></a>.
+</p>
+<p>
+To access udev properties for the device, use
+<a class="link" href="GUdevDevice.html#g-udev-device-get-property-keys" title="g_udev_device_get_property_keys ()"><code class="function">g_udev_device_get_property_keys()</code></a>,
+<a class="link" href="GUdevDevice.html#g-udev-device-has-property" title="g_udev_device_has_property ()"><code class="function">g_udev_device_has_property()</code></a>,
+<a class="link" href="GUdevDevice.html#g-udev-device-get-property" title="g_udev_device_get_property ()"><code class="function">g_udev_device_get_property()</code></a>,
+<a class="link" href="GUdevDevice.html#g-udev-device-get-property-as-int" title="g_udev_device_get_property_as_int ()"><code class="function">g_udev_device_get_property_as_int()</code></a>,
+<a class="link" href="GUdevDevice.html#g-udev-device-get-property-as-uint64" title="g_udev_device_get_property_as_uint64 ()"><code class="function">g_udev_device_get_property_as_uint64()</code></a>,
+<a class="link" href="GUdevDevice.html#g-udev-device-get-property-as-double" title="g_udev_device_get_property_as_double ()"><code class="function">g_udev_device_get_property_as_double()</code></a>,
+<a class="link" href="GUdevDevice.html#g-udev-device-get-property-as-boolean" title="g_udev_device_get_property_as_boolean ()"><code class="function">g_udev_device_get_property_as_boolean()</code></a> and
+<a class="link" href="GUdevDevice.html#g-udev-device-get-property-as-strv" title="g_udev_device_get_property_as_strv ()"><code class="function">g_udev_device_get_property_as_strv()</code></a>.
+</p>
+<p>
+To access sysfs attributes for the device, use
+<a class="link" href="GUdevDevice.html#g-udev-device-get-sysfs-attr" title="g_udev_device_get_sysfs_attr ()"><code class="function">g_udev_device_get_sysfs_attr()</code></a>,
+<a class="link" href="GUdevDevice.html#g-udev-device-get-sysfs-attr-as-int" title="g_udev_device_get_sysfs_attr_as_int ()"><code class="function">g_udev_device_get_sysfs_attr_as_int()</code></a>,
+<a class="link" href="GUdevDevice.html#g-udev-device-get-sysfs-attr-as-uint64" title="g_udev_device_get_sysfs_attr_as_uint64 ()"><code class="function">g_udev_device_get_sysfs_attr_as_uint64()</code></a>,
+<a class="link" href="GUdevDevice.html#g-udev-device-get-sysfs-attr-as-double" title="g_udev_device_get_sysfs_attr_as_double ()"><code class="function">g_udev_device_get_sysfs_attr_as_double()</code></a>,
+<a class="link" href="GUdevDevice.html#g-udev-device-get-sysfs-attr-as-boolean" title="g_udev_device_get_sysfs_attr_as_boolean ()"><code class="function">g_udev_device_get_sysfs_attr_as_boolean()</code></a> and
+<a class="link" href="GUdevDevice.html#g-udev-device-get-sysfs-attr-as-strv" title="g_udev_device_get_sysfs_attr_as_strv ()"><code class="function">g_udev_device_get_sysfs_attr_as_strv()</code></a>.
+</p>
+<p>
+Note that all getters on <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> are non-reffing – returned
+values are owned by the object, should not be freed and are only
+valid as long as the object is alive.
+</p>
+<p>
+By design, <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> will not react to changes for a device – it
+only contains a snapshot of information when the <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a>
+object was created. To work with changes, you typically connect to
+the <a class="link" href="GUdevClient.html#GUdevClient-uevent" title='The "uevent" signal'><span class="type">"uevent"</span></a> signal on a <a class="link" href="GUdevClient.html" title="GUdevClient"><span class="type">GUdevClient</span></a> and get a new
+<a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> whenever an event happens.
+</p>
+</div>
+<div class="refsect1">
+<a name="GUdevDevice.details"></a><h2>Details</h2>
+<div class="refsect2">
+<a name="GUdevDevice-struct"></a><h3>GUdevDevice</h3>
+<pre class="programlisting">typedef struct _GUdevDevice GUdevDevice;</pre>
+<p>
+The <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> struct is opaque and should not be accessed directly.
+</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GUdevDeviceClass"></a><h3>struct GUdevDeviceClass</h3>
+<pre class="programlisting">struct GUdevDeviceClass {
+ GObjectClass parent_class;
+};
+</pre>
+<p>
+Class structure for <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><span class="type">GObjectClass</span> <em class="structfield"><code><a name="GUdevDeviceClass.parent-class"></a>parent_class</code></em>;</span></p></td>
+<td>Parent class.</td>
+</tr></tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-udev-device-get-subsystem"></a><h3>g_udev_device_get_subsystem ()</h3>
+<pre class="programlisting">const <span class="returnvalue">gchar</span> * g_udev_device_get_subsystem (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>);</pre>
+<p>
+Gets the subsystem for <em class="parameter"><code>device</code></em>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>device</code></em> :</span></p></td>
+<td>A <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>The subsystem for <em class="parameter"><code>device</code></em>.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-udev-device-get-devtype"></a><h3>g_udev_device_get_devtype ()</h3>
+<pre class="programlisting">const <span class="returnvalue">gchar</span> * g_udev_device_get_devtype (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>);</pre>
+<p>
+Gets the device type for <em class="parameter"><code>device</code></em>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>device</code></em> :</span></p></td>
+<td>A <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>The devtype for <em class="parameter"><code>device</code></em>.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-udev-device-get-name"></a><h3>g_udev_device_get_name ()</h3>
+<pre class="programlisting">const <span class="returnvalue">gchar</span> * g_udev_device_get_name (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>);</pre>
+<p>
+Gets the name of <em class="parameter"><code>device</code></em>, e.g. "sda3".
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>device</code></em> :</span></p></td>
+<td>A <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>The name of <em class="parameter"><code>device</code></em>.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-udev-device-get-number"></a><h3>g_udev_device_get_number ()</h3>
+<pre class="programlisting">const <span class="returnvalue">gchar</span> * g_udev_device_get_number (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>);</pre>
+<p>
+Gets the number of <em class="parameter"><code>device</code></em>, e.g. "3" if <a class="link" href="GUdevDevice.html#g-udev-device-get-name" title="g_udev_device_get_name ()"><code class="function">g_udev_device_get_name()</code></a> returns "sda3".
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>device</code></em> :</span></p></td>
+<td>A <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>The number of <em class="parameter"><code>device</code></em>.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-udev-device-get-sysfs-path"></a><h3>g_udev_device_get_sysfs_path ()</h3>
+<pre class="programlisting">const <span class="returnvalue">gchar</span> * g_udev_device_get_sysfs_path (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>);</pre>
+<p>
+Gets the sysfs path for <em class="parameter"><code>device</code></em>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>device</code></em> :</span></p></td>
+<td>A <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>The sysfs path for <em class="parameter"><code>device</code></em>.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-udev-device-get-driver"></a><h3>g_udev_device_get_driver ()</h3>
+<pre class="programlisting">const <span class="returnvalue">gchar</span> * g_udev_device_get_driver (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>);</pre>
+<p>
+Gets the name of the driver used for <em class="parameter"><code>device</code></em>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>device</code></em> :</span></p></td>
+<td>A <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>The name of the driver for <em class="parameter"><code>device</code></em> or <code class="literal">NULL</code> if unknown.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-udev-device-get-action"></a><h3>g_udev_device_get_action ()</h3>
+<pre class="programlisting">const <span class="returnvalue">gchar</span> * g_udev_device_get_action (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>);</pre>
+<p>
+Gets the most recent action (e.g. "add", "remove", "change", etc.) for <em class="parameter"><code>device</code></em>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>device</code></em> :</span></p></td>
+<td>A <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>An action string.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-udev-device-get-seqnum"></a><h3>g_udev_device_get_seqnum ()</h3>
+<pre class="programlisting"><span class="returnvalue">guint64</span> g_udev_device_get_seqnum (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>);</pre>
+<p>
+Gets the most recent sequence number for <em class="parameter"><code>device</code></em>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>device</code></em> :</span></p></td>
+<td>A <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>A sequence number.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-udev-device-get-device-type"></a><h3>g_udev_device_get_device_type ()</h3>
+<pre class="programlisting"><a class="link" href="GUdevClient.html#GUdevDeviceType"><span class="returnvalue">GUdevDeviceType</span></a> g_udev_device_get_device_type (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>);</pre>
+<p>
+Gets the type of the device file, if any, for <em class="parameter"><code>device</code></em>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>device</code></em> :</span></p></td>
+<td>A <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>The device number for <em class="parameter"><code>device</code></em> or <a class="link" href="GUdevClient.html#G-UDEV-DEVICE-TYPE-NONE:CAPS"><span class="type">G_UDEV_DEVICE_TYPE_NONE</span></a> if the device does not have a device file.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-udev-device-get-device-number"></a><h3>g_udev_device_get_device_number ()</h3>
+<pre class="programlisting"><a class="link" href="GUdevClient.html#GUdevDeviceNumber" title="GUdevDeviceNumber"><span class="returnvalue">GUdevDeviceNumber</span></a> g_udev_device_get_device_number (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>);</pre>
+<p>
+Gets the device number, if any, for <em class="parameter"><code>device</code></em>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>device</code></em> :</span></p></td>
+<td>A <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>The device number for <em class="parameter"><code>device</code></em> or 0 if unknown.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-udev-device-get-device-file"></a><h3>g_udev_device_get_device_file ()</h3>
+<pre class="programlisting">const <span class="returnvalue">gchar</span> * g_udev_device_get_device_file (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>);</pre>
+<p>
+Gets the device file for <em class="parameter"><code>device</code></em>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>device</code></em> :</span></p></td>
+<td>A <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>The device file for <em class="parameter"><code>device</code></em> or <code class="literal">NULL</code> if no device file
+exists.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-udev-device-get-device-file-symlinks"></a><h3>g_udev_device_get_device_file_symlinks ()</h3>
+<pre class="programlisting">const <span class="returnvalue">gchar</span> * const * g_udev_device_get_device_file_symlinks
+ (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>);</pre>
+<p>
+Gets a list of symlinks (in <code class="literal">/dev</code>) that points to
+the device file for <em class="parameter"><code>device</code></em>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>device</code></em> :</span></p></td>
+<td>A <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>A <code class="literal">NULL</code> terminated string array of symlinks. This array is owned by <em class="parameter"><code>device</code></em> and should not be freed by the caller. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-udev-device-get-parent"></a><h3>g_udev_device_get_parent ()</h3>
+<pre class="programlisting"><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="returnvalue">GUdevDevice</span></a> * g_udev_device_get_parent (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>);</pre>
+<p>
+Gets the immediate parent of <em class="parameter"><code>device</code></em>, if any.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>device</code></em> :</span></p></td>
+<td>A <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>A <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> or <code class="literal">NULL</code> if <em class="parameter"><code>device</code></em> has no parent. Free with <code class="function">g_object_unref()</code>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-udev-device-get-parent-with-subsystem"></a><h3>g_udev_device_get_parent_with_subsystem ()</h3>
+<pre class="programlisting"><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="returnvalue">GUdevDevice</span></a> * g_udev_device_get_parent_with_subsystem
+ (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *subsystem</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *devtype</code></em>);</pre>
+<p>
+Walks up the chain of parents of <em class="parameter"><code>device</code></em> and returns the first
+device encountered where <em class="parameter"><code>subsystem</code></em> and <em class="parameter"><code>devtype</code></em> matches, if any.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>device</code></em> :</span></p></td>
+<td>A <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>subsystem</code></em> :</span></p></td>
+<td>The subsystem of the parent to get.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>devtype</code></em> :</span></p></td>
+<td>The devtype of the parent to get or <code class="literal">NULL</code>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>A <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> or <code class="literal">NULL</code> if <em class="parameter"><code>device</code></em> has no parent with <em class="parameter"><code>subsystem</code></em> and <em class="parameter"><code>devtype</code></em>. Free with <code class="function">g_object_unref()</code>. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-udev-device-get-tags"></a><h3>g_udev_device_get_tags ()</h3>
+<pre class="programlisting">const <span class="returnvalue">gchar</span> * const * g_udev_device_get_tags (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>);</pre>
+<p>
+Gets all tags for <em class="parameter"><code>device</code></em>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>device</code></em> :</span></p></td>
+<td>A <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>A <code class="literal">NULL</code> terminated string array of tags. This array is owned by <em class="parameter"><code>device</code></em> and should not be freed by the caller. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 165</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-udev-device-get-is-initialized"></a><h3>g_udev_device_get_is_initialized ()</h3>
+<pre class="programlisting"><span class="returnvalue">gboolean</span> g_udev_device_get_is_initialized (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>);</pre>
+<p>
+Gets whether <em class="parameter"><code>device</code></em> has been initalized.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>device</code></em> :</span></p></td>
+<td>A <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>Whether <em class="parameter"><code>device</code></em> has been initialized.</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 165</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-udev-device-get-usec-since-initialized"></a><h3>g_udev_device_get_usec_since_initialized ()</h3>
+<pre class="programlisting"><span class="returnvalue">guint64</span> g_udev_device_get_usec_since_initialized
+ (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>);</pre>
+<p>
+Gets number of micro-seconds since <em class="parameter"><code>device</code></em> was initialized.
+</p>
+<p>
+This only works for devices with properties in the udev
+database. All other devices return 0.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>device</code></em> :</span></p></td>
+<td>A <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>Number of micro-seconds since <em class="parameter"><code>device</code></em> was initialized or 0 if unknown.</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 165</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-udev-device-get-property-keys"></a><h3>g_udev_device_get_property_keys ()</h3>
+<pre class="programlisting">const <span class="returnvalue">gchar</span> * const * g_udev_device_get_property_keys (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>);</pre>
+<p>
+Gets all keys for properties on <em class="parameter"><code>device</code></em>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>device</code></em> :</span></p></td>
+<td>A <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>A <code class="literal">NULL</code> terminated string array of property keys. This array is owned by <em class="parameter"><code>device</code></em> and should not be freed by the caller. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-udev-device-has-property"></a><h3>g_udev_device_has_property ()</h3>
+<pre class="programlisting"><span class="returnvalue">gboolean</span> g_udev_device_has_property (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *key</code></em>);</pre>
+<p>
+Check if a the property with the given key exists.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>device</code></em> :</span></p></td>
+<td>A <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
+<td>Name of property.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>
+<code class="literal">TRUE</code> only if the value for <em class="parameter"><code>key</code></em> exist.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-udev-device-get-property"></a><h3>g_udev_device_get_property ()</h3>
+<pre class="programlisting">const <span class="returnvalue">gchar</span> * g_udev_device_get_property (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *key</code></em>);</pre>
+<p>
+Look up the value for <em class="parameter"><code>key</code></em> on <em class="parameter"><code>device</code></em>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>device</code></em> :</span></p></td>
+<td>A <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
+<td>Name of property.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>The value for <em class="parameter"><code>key</code></em> or <code class="literal">NULL</code> if <em class="parameter"><code>key</code></em> doesn't exist on <em class="parameter"><code>device</code></em>. Do not free this string, it is owned by <em class="parameter"><code>device</code></em>.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-udev-device-get-property-as-int"></a><h3>g_udev_device_get_property_as_int ()</h3>
+<pre class="programlisting"><span class="returnvalue">gint</span> g_udev_device_get_property_as_int (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *key</code></em>);</pre>
+<p>
+Look up the value for <em class="parameter"><code>key</code></em> on <em class="parameter"><code>device</code></em> and convert it to an integer
+using <code class="function">strtol()</code>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>device</code></em> :</span></p></td>
+<td>A <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
+<td>Name of property.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>The value for <em class="parameter"><code>key</code></em> or 0 if <em class="parameter"><code>key</code></em> doesn't exist or
+isn't an integer.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-udev-device-get-property-as-uint64"></a><h3>g_udev_device_get_property_as_uint64 ()</h3>
+<pre class="programlisting"><span class="returnvalue">guint64</span> g_udev_device_get_property_as_uint64
+ (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *key</code></em>);</pre>
+<p>
+Look up the value for <em class="parameter"><code>key</code></em> on <em class="parameter"><code>device</code></em> and convert it to an unsigned
+64-bit integer using <code class="function">g_ascii_strtoull()</code>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>device</code></em> :</span></p></td>
+<td>A <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
+<td>Name of property.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>The value for <em class="parameter"><code>key</code></em> or 0 if <em class="parameter"><code>key</code></em> doesn't exist or isn't a
+<span class="type">guint64</span>.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-udev-device-get-property-as-double"></a><h3>g_udev_device_get_property_as_double ()</h3>
+<pre class="programlisting"><span class="returnvalue">gdouble</span> g_udev_device_get_property_as_double
+ (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *key</code></em>);</pre>
+<p>
+Look up the value for <em class="parameter"><code>key</code></em> on <em class="parameter"><code>device</code></em> and convert it to a double
+precision floating point number using <code class="function">strtod()</code>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>device</code></em> :</span></p></td>
+<td>A <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
+<td>Name of property.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>The value for <em class="parameter"><code>key</code></em> or 0.0 if <em class="parameter"><code>key</code></em> doesn't exist or isn't a
+<span class="type">gdouble</span>.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-udev-device-get-property-as-boolean"></a><h3>g_udev_device_get_property_as_boolean ()</h3>
+<pre class="programlisting"><span class="returnvalue">gboolean</span> g_udev_device_get_property_as_boolean
+ (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *key</code></em>);</pre>
+<p>
+Look up the value for <em class="parameter"><code>key</code></em> on <em class="parameter"><code>device</code></em> and convert it to an
+boolean. This is done by doing a case-insensitive string comparison
+on the string value against "1" and "true".
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>device</code></em> :</span></p></td>
+<td>A <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
+<td>Name of property.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>The value for <em class="parameter"><code>key</code></em> or <code class="literal">FALSE</code> if <em class="parameter"><code>key</code></em> doesn't exist or
+isn't a <span class="type">gboolean</span>.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-udev-device-get-property-as-strv"></a><h3>g_udev_device_get_property_as_strv ()</h3>
+<pre class="programlisting">const <span class="returnvalue">gchar</span> * const * g_udev_device_get_property_as_strv
+ (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *key</code></em>);</pre>
+<p>
+Look up the value for <em class="parameter"><code>key</code></em> on <em class="parameter"><code>device</code></em> and return the result of
+splitting it into non-empty tokens split at white space (only space
+(' '), form-feed ('\f'), newline ('\n'), carriage return ('\r'),
+horizontal tab ('\t'), and vertical tab ('\v') are considered; the
+locale is not taken into account).
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>device</code></em> :</span></p></td>
+<td>A <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>key</code></em> :</span></p></td>
+<td>Name of property.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>The value of <em class="parameter"><code>key</code></em> on <em class="parameter"><code>device</code></em> split into tokens or <code class="literal">NULL</code> if <em class="parameter"><code>key</code></em> doesn't exist. This array is owned by <em class="parameter"><code>device</code></em> and should not be freed by the caller. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-udev-device-get-sysfs-attr"></a><h3>g_udev_device_get_sysfs_attr ()</h3>
+<pre class="programlisting">const <span class="returnvalue">gchar</span> * g_udev_device_get_sysfs_attr (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);</pre>
+<p>
+Look up the sysfs attribute with <em class="parameter"><code>name</code></em> on <em class="parameter"><code>device</code></em>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>device</code></em> :</span></p></td>
+<td>A <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
+<td>Name of the sysfs attribute.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>The value of the sysfs attribute or <code class="literal">NULL</code> if there is no
+such attribute. Do not free this string, it is owned by <em class="parameter"><code>device</code></em>.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-udev-device-get-sysfs-attr-as-int"></a><h3>g_udev_device_get_sysfs_attr_as_int ()</h3>
+<pre class="programlisting"><span class="returnvalue">gint</span> g_udev_device_get_sysfs_attr_as_int (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);</pre>
+<p>
+Look up the sysfs attribute with <em class="parameter"><code>name</code></em> on <em class="parameter"><code>device</code></em> and convert it to an integer
+using <code class="function">strtol()</code>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>device</code></em> :</span></p></td>
+<td>A <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
+<td>Name of the sysfs attribute.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>The value of the sysfs attribute or 0 if there is no such
+attribute.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-udev-device-get-sysfs-attr-as-uint64"></a><h3>g_udev_device_get_sysfs_attr_as_uint64 ()</h3>
+<pre class="programlisting"><span class="returnvalue">guint64</span> g_udev_device_get_sysfs_attr_as_uint64
+ (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);</pre>
+<p>
+Look up the sysfs attribute with <em class="parameter"><code>name</code></em> on <em class="parameter"><code>device</code></em> and convert it to an unsigned
+64-bit integer using <code class="function">g_ascii_strtoull()</code>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>device</code></em> :</span></p></td>
+<td>A <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
+<td>Name of the sysfs attribute.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>The value of the sysfs attribute or 0 if there is no such
+attribute.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-udev-device-get-sysfs-attr-as-double"></a><h3>g_udev_device_get_sysfs_attr_as_double ()</h3>
+<pre class="programlisting"><span class="returnvalue">gdouble</span> g_udev_device_get_sysfs_attr_as_double
+ (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);</pre>
+<p>
+Look up the sysfs attribute with <em class="parameter"><code>name</code></em> on <em class="parameter"><code>device</code></em> and convert it to a double
+precision floating point number using <code class="function">strtod()</code>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>device</code></em> :</span></p></td>
+<td>A <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
+<td>Name of the sysfs attribute.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>The value of the sysfs attribute or 0.0 if there is no such
+attribute.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-udev-device-get-sysfs-attr-as-boolean"></a><h3>g_udev_device_get_sysfs_attr_as_boolean ()</h3>
+<pre class="programlisting"><span class="returnvalue">gboolean</span> g_udev_device_get_sysfs_attr_as_boolean
+ (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);</pre>
+<p>
+Look up the sysfs attribute with <em class="parameter"><code>name</code></em> on <em class="parameter"><code>device</code></em> and convert it to an
+boolean. This is done by doing a case-insensitive string comparison
+on the string value against "1" and "true".
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>device</code></em> :</span></p></td>
+<td>A <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
+<td>Name of the sysfs attribute.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>The value of the sysfs attribute or <code class="literal">FALSE</code> if there is no such
+attribute.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-udev-device-get-sysfs-attr-as-strv"></a><h3>g_udev_device_get_sysfs_attr_as_strv ()</h3>
+<pre class="programlisting">const <span class="returnvalue">gchar</span> * const * g_udev_device_get_sysfs_attr_as_strv
+ (<em class="parameter"><code><a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> *device</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);</pre>
+<p>
+Look up the sysfs attribute with <em class="parameter"><code>name</code></em> on <em class="parameter"><code>device</code></em> and return the result of
+splitting it into non-empty tokens split at white space (only space (' '),
+form-feed ('\f'), newline ('\n'), carriage return ('\r'), horizontal
+tab ('\t'), and vertical tab ('\v') are considered; the locale is
+not taken into account).
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>device</code></em> :</span></p></td>
+<td>A <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
+<td>Name of the sysfs attribute.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>The value of the sysfs attribute split into tokens or <code class="literal">NULL</code> if there is no such attribute. This array is owned by <em class="parameter"><code>device</code></em> and should not be freed by the caller. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>][<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> zero-terminated=1][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>
+ Generated by GTK-Doc V1.18</div>
+</body>
+</html> \ No newline at end of file
diff --git a/udev-lfs/gudev/GUdevEnumerator.html b/udev-lfs/gudev/GUdevEnumerator.html
new file mode 100644
index 000000000..205ba223e
--- /dev/null
+++ b/udev-lfs/gudev/GUdevEnumerator.html
@@ -0,0 +1,493 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>GUdevEnumerator</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
+<link rel="home" href="index.html" title="GUdev Reference Manual">
+<link rel="up" href="ref-API.html" title="API Reference">
+<link rel="prev" href="GUdevDevice.html" title="GUdevDevice">
+<link rel="next" href="gudev-hierarchy.html" title="Object Hierarchy">
+<meta name="generator" content="GTK-Doc V1.18 (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="GUdevDevice.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td><a accesskey="u" href="ref-API.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">GUdev Reference Manual</th>
+<td><a accesskey="n" href="gudev-hierarchy.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr>
+<tr><td colspan="5" class="shortcuts">
+<a href="#GUdevEnumerator.synopsis" class="shortcut">Top</a>
+  | 
+ <a href="#GUdevEnumerator.description" class="shortcut">Description</a>
+  | 
+ <a href="#GUdevEnumerator.object-hierarchy" class="shortcut">Object Hierarchy</a>
+  | 
+ <a href="#GUdevEnumerator.properties" class="shortcut">Properties</a>
+</td></tr>
+</table>
+<div class="refentry">
+<a name="GUdevEnumerator"></a><div class="titlepage"></div>
+<div class="refnamediv"><table width="100%"><tr>
+<td valign="top">
+<h2><span class="refentrytitle"><a name="GUdevEnumerator.top_of_page"></a>GUdevEnumerator</span></h2>
+<p>GUdevEnumerator — Lookup and sort devices</p>
+</td>
+<td valign="top" align="right"></td>
+</tr></table></div>
+<div class="refsynopsisdiv">
+<a name="GUdevEnumerator.synopsis"></a><h2>Synopsis</h2>
+<pre class="synopsis"> <a class="link" href="GUdevEnumerator.html#GUdevEnumerator-struct" title="GUdevEnumerator">GUdevEnumerator</a>;
+struct <a class="link" href="GUdevEnumerator.html#GUdevEnumeratorClass" title="struct GUdevEnumeratorClass">GUdevEnumeratorClass</a>;
+<a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="returnvalue">GUdevEnumerator</span></a> * <a class="link" href="GUdevEnumerator.html#g-udev-enumerator-new" title="g_udev_enumerator_new ()">g_udev_enumerator_new</a> (<em class="parameter"><code><a class="link" href="GUdevClient.html" title="GUdevClient"><span class="type">GUdevClient</span></a> *client</code></em>);
+<a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="returnvalue">GUdevEnumerator</span></a> * <a class="link" href="GUdevEnumerator.html#g-udev-enumerator-add-match-subsystem" title="g_udev_enumerator_add_match_subsystem ()">g_udev_enumerator_add_match_subsystem</a>
+ (<em class="parameter"><code><a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="type">GUdevEnumerator</span></a> *enumerator</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *subsystem</code></em>);
+<a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="returnvalue">GUdevEnumerator</span></a> * <a class="link" href="GUdevEnumerator.html#g-udev-enumerator-add-nomatch-subsystem" title="g_udev_enumerator_add_nomatch_subsystem ()">g_udev_enumerator_add_nomatch_subsystem</a>
+ (<em class="parameter"><code><a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="type">GUdevEnumerator</span></a> *enumerator</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *subsystem</code></em>);
+<a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="returnvalue">GUdevEnumerator</span></a> * <a class="link" href="GUdevEnumerator.html#g-udev-enumerator-add-match-sysfs-attr" title="g_udev_enumerator_add_match_sysfs_attr ()">g_udev_enumerator_add_match_sysfs_attr</a>
+ (<em class="parameter"><code><a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="type">GUdevEnumerator</span></a> *enumerator</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *value</code></em>);
+<a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="returnvalue">GUdevEnumerator</span></a> * <a class="link" href="GUdevEnumerator.html#g-udev-enumerator-add-nomatch-sysfs-attr" title="g_udev_enumerator_add_nomatch_sysfs_attr ()">g_udev_enumerator_add_nomatch_sysfs_attr</a>
+ (<em class="parameter"><code><a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="type">GUdevEnumerator</span></a> *enumerator</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *value</code></em>);
+<a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="returnvalue">GUdevEnumerator</span></a> * <a class="link" href="GUdevEnumerator.html#g-udev-enumerator-add-match-property" title="g_udev_enumerator_add_match_property ()">g_udev_enumerator_add_match_property</a>
+ (<em class="parameter"><code><a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="type">GUdevEnumerator</span></a> *enumerator</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *value</code></em>);
+<a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="returnvalue">GUdevEnumerator</span></a> * <a class="link" href="GUdevEnumerator.html#g-udev-enumerator-add-match-name" title="g_udev_enumerator_add_match_name ()">g_udev_enumerator_add_match_name</a> (<em class="parameter"><code><a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="type">GUdevEnumerator</span></a> *enumerator</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);
+<a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="returnvalue">GUdevEnumerator</span></a> * <a class="link" href="GUdevEnumerator.html#g-udev-enumerator-add-match-tag" title="g_udev_enumerator_add_match_tag ()">g_udev_enumerator_add_match_tag</a> (<em class="parameter"><code><a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="type">GUdevEnumerator</span></a> *enumerator</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *tag</code></em>);
+<a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="returnvalue">GUdevEnumerator</span></a> * <a class="link" href="GUdevEnumerator.html#g-udev-enumerator-add-match-is-initialized" title="g_udev_enumerator_add_match_is_initialized ()">g_udev_enumerator_add_match_is_initialized</a>
+ (<em class="parameter"><code><a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="type">GUdevEnumerator</span></a> *enumerator</code></em>);
+<a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="returnvalue">GUdevEnumerator</span></a> * <a class="link" href="GUdevEnumerator.html#g-udev-enumerator-add-sysfs-path" title="g_udev_enumerator_add_sysfs_path ()">g_udev_enumerator_add_sysfs_path</a> (<em class="parameter"><code><a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="type">GUdevEnumerator</span></a> *enumerator</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *sysfs_path</code></em>);
+<span class="returnvalue">GList</span> * <a class="link" href="GUdevEnumerator.html#g-udev-enumerator-execute" title="g_udev_enumerator_execute ()">g_udev_enumerator_execute</a> (<em class="parameter"><code><a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="type">GUdevEnumerator</span></a> *enumerator</code></em>);
+</pre>
+</div>
+<div class="refsect1">
+<a name="GUdevEnumerator.object-hierarchy"></a><h2>Object Hierarchy</h2>
+<pre class="synopsis">
+ GObject
+ +----GUdevEnumerator
+</pre>
+</div>
+<div class="refsect1">
+<a name="GUdevEnumerator.properties"></a><h2>Properties</h2>
+<pre class="synopsis">
+ "<a class="link" href="GUdevEnumerator.html#GUdevEnumerator--client" title='The "client" property'>client</a>" <a class="link" href="GUdevClient.html" title="GUdevClient"><span class="type">GUdevClient</span></a>* : Read / Write / Construct Only
+</pre>
+</div>
+<div class="refsect1">
+<a name="GUdevEnumerator.description"></a><h2>Description</h2>
+<p>
+<a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="type">GUdevEnumerator</span></a> is used to lookup and sort devices.
+</p>
+</div>
+<div class="refsect1">
+<a name="GUdevEnumerator.details"></a><h2>Details</h2>
+<div class="refsect2">
+<a name="GUdevEnumerator-struct"></a><h3>GUdevEnumerator</h3>
+<pre class="programlisting">typedef struct _GUdevEnumerator GUdevEnumerator;</pre>
+<p>
+The <a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="type">GUdevEnumerator</span></a> struct is opaque and should not be accessed directly.
+</p>
+<p class="since">Since 165</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="GUdevEnumeratorClass"></a><h3>struct GUdevEnumeratorClass</h3>
+<pre class="programlisting">struct GUdevEnumeratorClass {
+ GObjectClass parent_class;
+};
+</pre>
+<p>
+Class structure for <a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="type">GUdevEnumerator</span></a>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody><tr>
+<td><p><span class="term"><span class="type">GObjectClass</span> <em class="structfield"><code><a name="GUdevEnumeratorClass.parent-class"></a>parent_class</code></em>;</span></p></td>
+<td>Parent class.</td>
+</tr></tbody>
+</table></div>
+<p class="since">Since 165</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-udev-enumerator-new"></a><h3>g_udev_enumerator_new ()</h3>
+<pre class="programlisting"><a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="returnvalue">GUdevEnumerator</span></a> * g_udev_enumerator_new (<em class="parameter"><code><a class="link" href="GUdevClient.html" title="GUdevClient"><span class="type">GUdevClient</span></a> *client</code></em>);</pre>
+<p>
+Constructs a <a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="type">GUdevEnumerator</span></a> object that can be used to enumerate
+and sort devices. Use the add_match_*() and add_nomatch_*() methods
+and execute the query to get a list of devices with
+<a class="link" href="GUdevEnumerator.html#g-udev-enumerator-execute" title="g_udev_enumerator_execute ()"><code class="function">g_udev_enumerator_execute()</code></a>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>client</code></em> :</span></p></td>
+<td>A <a class="link" href="GUdevClient.html" title="GUdevClient"><span class="type">GUdevClient</span></a> to enumerate devices from.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>A new <a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="type">GUdevEnumerator</span></a> object. Free with <code class="function">g_object_unref()</code>.</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 165</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-udev-enumerator-add-match-subsystem"></a><h3>g_udev_enumerator_add_match_subsystem ()</h3>
+<pre class="programlisting"><a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="returnvalue">GUdevEnumerator</span></a> * g_udev_enumerator_add_match_subsystem
+ (<em class="parameter"><code><a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="type">GUdevEnumerator</span></a> *enumerator</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *subsystem</code></em>);</pre>
+<p>
+All returned devices will match the given <em class="parameter"><code>subsystem</code></em>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>enumerator</code></em> :</span></p></td>
+<td>A <a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="type">GUdevEnumerator</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>subsystem</code></em> :</span></p></td>
+<td>Wildcard for subsystem name e.g. 'scsi' or 'a*'.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>The passed in <em class="parameter"><code>enumerator</code></em>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 165</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-udev-enumerator-add-nomatch-subsystem"></a><h3>g_udev_enumerator_add_nomatch_subsystem ()</h3>
+<pre class="programlisting"><a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="returnvalue">GUdevEnumerator</span></a> * g_udev_enumerator_add_nomatch_subsystem
+ (<em class="parameter"><code><a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="type">GUdevEnumerator</span></a> *enumerator</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *subsystem</code></em>);</pre>
+<p>
+All returned devices will not match the given <em class="parameter"><code>subsystem</code></em>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>enumerator</code></em> :</span></p></td>
+<td>A <a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="type">GUdevEnumerator</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>subsystem</code></em> :</span></p></td>
+<td>Wildcard for subsystem name e.g. 'scsi' or 'a*'.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>The passed in <em class="parameter"><code>enumerator</code></em>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 165</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-udev-enumerator-add-match-sysfs-attr"></a><h3>g_udev_enumerator_add_match_sysfs_attr ()</h3>
+<pre class="programlisting"><a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="returnvalue">GUdevEnumerator</span></a> * g_udev_enumerator_add_match_sysfs_attr
+ (<em class="parameter"><code><a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="type">GUdevEnumerator</span></a> *enumerator</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *value</code></em>);</pre>
+<p>
+All returned devices will have a sysfs attribute matching the given <em class="parameter"><code>name</code></em> and <em class="parameter"><code>value</code></em>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>enumerator</code></em> :</span></p></td>
+<td>A <a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="type">GUdevEnumerator</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
+<td>Wildcard filter for sysfs attribute key.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
+<td>Wildcard filter for sysfs attribute value.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>The passed in <em class="parameter"><code>enumerator</code></em>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 165</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-udev-enumerator-add-nomatch-sysfs-attr"></a><h3>g_udev_enumerator_add_nomatch_sysfs_attr ()</h3>
+<pre class="programlisting"><a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="returnvalue">GUdevEnumerator</span></a> * g_udev_enumerator_add_nomatch_sysfs_attr
+ (<em class="parameter"><code><a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="type">GUdevEnumerator</span></a> *enumerator</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *value</code></em>);</pre>
+<p>
+All returned devices will not have a sysfs attribute matching the given <em class="parameter"><code>name</code></em> and <em class="parameter"><code>value</code></em>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>enumerator</code></em> :</span></p></td>
+<td>A <a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="type">GUdevEnumerator</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
+<td>Wildcard filter for sysfs attribute key.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
+<td>Wildcard filter for sysfs attribute value.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>The passed in <em class="parameter"><code>enumerator</code></em>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 165</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-udev-enumerator-add-match-property"></a><h3>g_udev_enumerator_add_match_property ()</h3>
+<pre class="programlisting"><a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="returnvalue">GUdevEnumerator</span></a> * g_udev_enumerator_add_match_property
+ (<em class="parameter"><code><a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="type">GUdevEnumerator</span></a> *enumerator</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *value</code></em>);</pre>
+<p>
+All returned devices will have a property matching the given <em class="parameter"><code>name</code></em> and <em class="parameter"><code>value</code></em>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>enumerator</code></em> :</span></p></td>
+<td>A <a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="type">GUdevEnumerator</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
+<td>Wildcard filter for property name.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>value</code></em> :</span></p></td>
+<td>Wildcard filter for property value.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>The passed in <em class="parameter"><code>enumerator</code></em>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 165</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-udev-enumerator-add-match-name"></a><h3>g_udev_enumerator_add_match_name ()</h3>
+<pre class="programlisting"><a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="returnvalue">GUdevEnumerator</span></a> * g_udev_enumerator_add_match_name (<em class="parameter"><code><a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="type">GUdevEnumerator</span></a> *enumerator</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *name</code></em>);</pre>
+<p>
+All returned devices will match the given <em class="parameter"><code>name</code></em>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>enumerator</code></em> :</span></p></td>
+<td>A <a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="type">GUdevEnumerator</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
+<td>Wildcard filter for kernel name e.g. "sda*".</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>The passed in <em class="parameter"><code>enumerator</code></em>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 165</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-udev-enumerator-add-match-tag"></a><h3>g_udev_enumerator_add_match_tag ()</h3>
+<pre class="programlisting"><a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="returnvalue">GUdevEnumerator</span></a> * g_udev_enumerator_add_match_tag (<em class="parameter"><code><a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="type">GUdevEnumerator</span></a> *enumerator</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *tag</code></em>);</pre>
+<p>
+All returned devices will match the given <em class="parameter"><code>tag</code></em>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>enumerator</code></em> :</span></p></td>
+<td>A <a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="type">GUdevEnumerator</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>tag</code></em> :</span></p></td>
+<td>A udev tag e.g. "udev-acl".</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>The passed in <em class="parameter"><code>enumerator</code></em>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 165</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-udev-enumerator-add-match-is-initialized"></a><h3>g_udev_enumerator_add_match_is_initialized ()</h3>
+<pre class="programlisting"><a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="returnvalue">GUdevEnumerator</span></a> * g_udev_enumerator_add_match_is_initialized
+ (<em class="parameter"><code><a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="type">GUdevEnumerator</span></a> *enumerator</code></em>);</pre>
+<p>
+All returned devices will be initialized.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>enumerator</code></em> :</span></p></td>
+<td>A <a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="type">GUdevEnumerator</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>The passed in <em class="parameter"><code>enumerator</code></em>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 165</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-udev-enumerator-add-sysfs-path"></a><h3>g_udev_enumerator_add_sysfs_path ()</h3>
+<pre class="programlisting"><a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="returnvalue">GUdevEnumerator</span></a> * g_udev_enumerator_add_sysfs_path (<em class="parameter"><code><a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="type">GUdevEnumerator</span></a> *enumerator</code></em>,
+ <em class="parameter"><code>const <span class="type">gchar</span> *sysfs_path</code></em>);</pre>
+<p>
+Add a device to the list of devices, to retrieve it back sorted in dependency order.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>enumerator</code></em> :</span></p></td>
+<td>A <a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="type">GUdevEnumerator</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>sysfs_path</code></em> :</span></p></td>
+<td>A sysfs path, e.g. "/sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda"</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>The passed in <em class="parameter"><code>enumerator</code></em>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 165</p>
+</div>
+<hr>
+<div class="refsect2">
+<a name="g-udev-enumerator-execute"></a><h3>g_udev_enumerator_execute ()</h3>
+<pre class="programlisting"><span class="returnvalue">GList</span> * g_udev_enumerator_execute (<em class="parameter"><code><a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="type">GUdevEnumerator</span></a> *enumerator</code></em>);</pre>
+<p>
+Executes the query in <em class="parameter"><code>enumerator</code></em>.
+</p>
+<div class="variablelist"><table border="0" class="variablelist">
+<colgroup>
+<col align="left" valign="top">
+<col>
+</colgroup>
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>enumerator</code></em> :</span></p></td>
+<td>A <a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator"><span class="type">GUdevEnumerator</span></a>.</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
+<td>A list of <a class="link" href="GUdevDevice.html" title="GUdevDevice"><span class="type">GUdevDevice</span></a> objects. The caller should free the result by using <code class="function">g_object_unref()</code> on each element in the list and then <code class="function">g_list_free()</code> on the list. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GUdevDevice][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+<p class="since">Since 165</p>
+</div>
+</div>
+<div class="refsect1">
+<a name="GUdevEnumerator.property-details"></a><h2>Property Details</h2>
+<div class="refsect2">
+<a name="GUdevEnumerator--client"></a><h3>The <code class="literal">"client"</code> property</h3>
+<pre class="programlisting"> "client" <a class="link" href="GUdevClient.html" title="GUdevClient"><span class="type">GUdevClient</span></a>* : Read / Write / Construct Only</pre>
+<p>
+The <a class="link" href="GUdevClient.html" title="GUdevClient"><span class="type">GUdevClient</span></a> to enumerate devices from.
+</p>
+<p class="since">Since 165</p>
+</div>
+</div>
+</div>
+<div class="footer">
+<hr>
+ Generated by GTK-Doc V1.18</div>
+</body>
+</html> \ No newline at end of file
diff --git a/udev-lfs/gudev/annotation-glossary.html b/udev-lfs/gudev/annotation-glossary.html
new file mode 100644
index 000000000..36962371e
--- /dev/null
+++ b/udev-lfs/gudev/annotation-glossary.html
@@ -0,0 +1,56 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Annotation Glossary</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
+<link rel="home" href="index.html" title="GUdev Reference Manual">
+<link rel="up" href="index.html" title="GUdev Reference Manual">
+<link rel="prev" href="api-index-deprecated.html" title="Index of deprecated API">
+<meta name="generator" content="GTK-Doc V1.18 (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="api-index-deprecated.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td> </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">GUdev Reference Manual</th>
+<td> </td>
+</tr>
+<tr><td colspan="5" class="shortcuts">
+<a class="shortcut" href="#glsA">A</a>
+  | 
+ <a class="shortcut" href="#glsE">E</a>
+  | 
+ <a class="shortcut" href="#glsT">T</a>
+</td></tr>
+</table>
+<div class="glossary">
+<div class="titlepage"><div><div><h1 class="title">
+<a name="annotation-glossary"></a>Annotation Glossary</h1></div></div></div>
+<a name="glsA"></a><h3 class="title">A</h3>
+<dt>
+<a name="annotation-glossterm-array"></a>array</dt>
+<dd><p>Parameter points to an array of items.</p></dd>
+<dt>
+<a name="annotation-glossterm-allow-none"></a>allow-none</dt>
+<dd><p>NULL is ok, both for passing and for returning.</p></dd>
+<a name="glsE"></a><h3 class="title">E</h3>
+<dt>
+<a name="annotation-glossterm-element-type"></a>element-type</dt>
+<dd><p>Generics and defining elements of containers and arrays.</p></dd>
+<a name="glsT"></a><h3 class="title">T</h3>
+<dt>
+<a name="annotation-glossterm-transfer%20full"></a>transfer full</dt>
+<dd><p>Free data after the code is done.</p></dd>
+<dt>
+<a name="annotation-glossterm-transfer%20none"></a>transfer none</dt>
+<dd><p>Don't free data after the code is done.</p></dd>
+</div>
+<div class="footer">
+<hr>
+ Generated by GTK-Doc V1.18</div>
+</body>
+</html> \ No newline at end of file
diff --git a/udev-lfs/gudev/api-index-deprecated.html b/udev-lfs/gudev/api-index-deprecated.html
new file mode 100644
index 000000000..6313084bc
--- /dev/null
+++ b/udev-lfs/gudev/api-index-deprecated.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Index of deprecated API</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
+<link rel="home" href="index.html" title="GUdev Reference Manual">
+<link rel="up" href="index.html" title="GUdev Reference Manual">
+<link rel="prev" href="ix02.html" title="Index of new symbols in 165">
+<link rel="next" href="annotation-glossary.html" title="Annotation Glossary">
+<meta name="generator" content="GTK-Doc V1.18 (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="ix02.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td> </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">GUdev Reference Manual</th>
+<td><a accesskey="n" href="annotation-glossary.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="index">
+<div class="titlepage"><div><div><h1 class="title">
+<a name="api-index-deprecated"></a>Index of deprecated API</h1></div></div></div>
+<a name="idx"></a>
+</div>
+<div class="footer">
+<hr>
+ Generated by GTK-Doc V1.18</div>
+</body>
+</html> \ No newline at end of file
diff --git a/udev-lfs/gudev/api-index-full.html b/udev-lfs/gudev/api-index-full.html
new file mode 100644
index 000000000..d76cc85e7
--- /dev/null
+++ b/udev-lfs/gudev/api-index-full.html
@@ -0,0 +1,281 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>API Index</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
+<link rel="home" href="index.html" title="GUdev Reference Manual">
+<link rel="up" href="index.html" title="GUdev Reference Manual">
+<link rel="prev" href="gudev-hierarchy.html" title="Object Hierarchy">
+<link rel="next" href="ix02.html" title="Index of new symbols in 165">
+<meta name="generator" content="GTK-Doc V1.18 (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="gudev-hierarchy.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td> </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">GUdev Reference Manual</th>
+<td><a accesskey="n" href="ix02.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr>
+<tr><td colspan="5" class="shortcuts">
+<a class="shortcut" href="#idxC">C</a>
+  | 
+ <a class="shortcut" href="#idxD">D</a>
+  | 
+ <a class="shortcut" href="#idxE">E</a>
+  | 
+ <a class="shortcut" href="#idxG">G</a>
+</td></tr>
+</table>
+<div class="index">
+<div class="titlepage"><div><div><h1 class="title">
+<a name="api-index-full"></a>API Index</h1></div></div></div>
+<a name="idx"></a><a name="idxC"></a><h3 class="title">C</h3>
+<dt>
+<a class="link" href="GUdevClient.html#g-udev-client-new" title="g_udev_client_new ()">g_udev_client_new</a>, function in <a class="link" href="GUdevClient.html" title="GUdevClient">GUdevClient</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevClient.html#g-udev-client-query-by-device-file" title="g_udev_client_query_by_device_file ()">g_udev_client_query_by_device_file</a>, function in <a class="link" href="GUdevClient.html" title="GUdevClient">GUdevClient</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevClient.html#g-udev-client-query-by-device-number" title="g_udev_client_query_by_device_number ()">g_udev_client_query_by_device_number</a>, function in <a class="link" href="GUdevClient.html" title="GUdevClient">GUdevClient</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevClient.html#g-udev-client-query-by-subsystem" title="g_udev_client_query_by_subsystem ()">g_udev_client_query_by_subsystem</a>, function in <a class="link" href="GUdevClient.html" title="GUdevClient">GUdevClient</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevClient.html#g-udev-client-query-by-subsystem-and-name" title="g_udev_client_query_by_subsystem_and_name ()">g_udev_client_query_by_subsystem_and_name</a>, function in <a class="link" href="GUdevClient.html" title="GUdevClient">GUdevClient</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevClient.html#g-udev-client-query-by-sysfs-path" title="g_udev_client_query_by_sysfs_path ()">g_udev_client_query_by_sysfs_path</a>, function in <a class="link" href="GUdevClient.html" title="GUdevClient">GUdevClient</a>
+</dt>
+<dd></dd>
+<a name="idxD"></a><h3 class="title">D</h3>
+<dt>
+<a class="link" href="GUdevDevice.html#g-udev-device-get-action" title="g_udev_device_get_action ()">g_udev_device_get_action</a>, function in <a class="link" href="GUdevDevice.html" title="GUdevDevice">GUdevDevice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevDevice.html#g-udev-device-get-device-file" title="g_udev_device_get_device_file ()">g_udev_device_get_device_file</a>, function in <a class="link" href="GUdevDevice.html" title="GUdevDevice">GUdevDevice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevDevice.html#g-udev-device-get-device-file-symlinks" title="g_udev_device_get_device_file_symlinks ()">g_udev_device_get_device_file_symlinks</a>, function in <a class="link" href="GUdevDevice.html" title="GUdevDevice">GUdevDevice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevDevice.html#g-udev-device-get-device-number" title="g_udev_device_get_device_number ()">g_udev_device_get_device_number</a>, function in <a class="link" href="GUdevDevice.html" title="GUdevDevice">GUdevDevice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevDevice.html#g-udev-device-get-device-type" title="g_udev_device_get_device_type ()">g_udev_device_get_device_type</a>, function in <a class="link" href="GUdevDevice.html" title="GUdevDevice">GUdevDevice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevDevice.html#g-udev-device-get-devtype" title="g_udev_device_get_devtype ()">g_udev_device_get_devtype</a>, function in <a class="link" href="GUdevDevice.html" title="GUdevDevice">GUdevDevice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevDevice.html#g-udev-device-get-driver" title="g_udev_device_get_driver ()">g_udev_device_get_driver</a>, function in <a class="link" href="GUdevDevice.html" title="GUdevDevice">GUdevDevice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevDevice.html#g-udev-device-get-is-initialized" title="g_udev_device_get_is_initialized ()">g_udev_device_get_is_initialized</a>, function in <a class="link" href="GUdevDevice.html" title="GUdevDevice">GUdevDevice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevDevice.html#g-udev-device-get-name" title="g_udev_device_get_name ()">g_udev_device_get_name</a>, function in <a class="link" href="GUdevDevice.html" title="GUdevDevice">GUdevDevice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevDevice.html#g-udev-device-get-number" title="g_udev_device_get_number ()">g_udev_device_get_number</a>, function in <a class="link" href="GUdevDevice.html" title="GUdevDevice">GUdevDevice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevDevice.html#g-udev-device-get-parent" title="g_udev_device_get_parent ()">g_udev_device_get_parent</a>, function in <a class="link" href="GUdevDevice.html" title="GUdevDevice">GUdevDevice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevDevice.html#g-udev-device-get-parent-with-subsystem" title="g_udev_device_get_parent_with_subsystem ()">g_udev_device_get_parent_with_subsystem</a>, function in <a class="link" href="GUdevDevice.html" title="GUdevDevice">GUdevDevice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevDevice.html#g-udev-device-get-property" title="g_udev_device_get_property ()">g_udev_device_get_property</a>, function in <a class="link" href="GUdevDevice.html" title="GUdevDevice">GUdevDevice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevDevice.html#g-udev-device-get-property-as-boolean" title="g_udev_device_get_property_as_boolean ()">g_udev_device_get_property_as_boolean</a>, function in <a class="link" href="GUdevDevice.html" title="GUdevDevice">GUdevDevice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevDevice.html#g-udev-device-get-property-as-double" title="g_udev_device_get_property_as_double ()">g_udev_device_get_property_as_double</a>, function in <a class="link" href="GUdevDevice.html" title="GUdevDevice">GUdevDevice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevDevice.html#g-udev-device-get-property-as-int" title="g_udev_device_get_property_as_int ()">g_udev_device_get_property_as_int</a>, function in <a class="link" href="GUdevDevice.html" title="GUdevDevice">GUdevDevice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevDevice.html#g-udev-device-get-property-as-strv" title="g_udev_device_get_property_as_strv ()">g_udev_device_get_property_as_strv</a>, function in <a class="link" href="GUdevDevice.html" title="GUdevDevice">GUdevDevice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevDevice.html#g-udev-device-get-property-as-uint64" title="g_udev_device_get_property_as_uint64 ()">g_udev_device_get_property_as_uint64</a>, function in <a class="link" href="GUdevDevice.html" title="GUdevDevice">GUdevDevice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevDevice.html#g-udev-device-get-property-keys" title="g_udev_device_get_property_keys ()">g_udev_device_get_property_keys</a>, function in <a class="link" href="GUdevDevice.html" title="GUdevDevice">GUdevDevice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevDevice.html#g-udev-device-get-seqnum" title="g_udev_device_get_seqnum ()">g_udev_device_get_seqnum</a>, function in <a class="link" href="GUdevDevice.html" title="GUdevDevice">GUdevDevice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevDevice.html#g-udev-device-get-subsystem" title="g_udev_device_get_subsystem ()">g_udev_device_get_subsystem</a>, function in <a class="link" href="GUdevDevice.html" title="GUdevDevice">GUdevDevice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevDevice.html#g-udev-device-get-sysfs-attr" title="g_udev_device_get_sysfs_attr ()">g_udev_device_get_sysfs_attr</a>, function in <a class="link" href="GUdevDevice.html" title="GUdevDevice">GUdevDevice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevDevice.html#g-udev-device-get-sysfs-attr-as-boolean" title="g_udev_device_get_sysfs_attr_as_boolean ()">g_udev_device_get_sysfs_attr_as_boolean</a>, function in <a class="link" href="GUdevDevice.html" title="GUdevDevice">GUdevDevice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevDevice.html#g-udev-device-get-sysfs-attr-as-double" title="g_udev_device_get_sysfs_attr_as_double ()">g_udev_device_get_sysfs_attr_as_double</a>, function in <a class="link" href="GUdevDevice.html" title="GUdevDevice">GUdevDevice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevDevice.html#g-udev-device-get-sysfs-attr-as-int" title="g_udev_device_get_sysfs_attr_as_int ()">g_udev_device_get_sysfs_attr_as_int</a>, function in <a class="link" href="GUdevDevice.html" title="GUdevDevice">GUdevDevice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevDevice.html#g-udev-device-get-sysfs-attr-as-strv" title="g_udev_device_get_sysfs_attr_as_strv ()">g_udev_device_get_sysfs_attr_as_strv</a>, function in <a class="link" href="GUdevDevice.html" title="GUdevDevice">GUdevDevice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevDevice.html#g-udev-device-get-sysfs-attr-as-uint64" title="g_udev_device_get_sysfs_attr_as_uint64 ()">g_udev_device_get_sysfs_attr_as_uint64</a>, function in <a class="link" href="GUdevDevice.html" title="GUdevDevice">GUdevDevice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevDevice.html#g-udev-device-get-sysfs-path" title="g_udev_device_get_sysfs_path ()">g_udev_device_get_sysfs_path</a>, function in <a class="link" href="GUdevDevice.html" title="GUdevDevice">GUdevDevice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevDevice.html#g-udev-device-get-tags" title="g_udev_device_get_tags ()">g_udev_device_get_tags</a>, function in <a class="link" href="GUdevDevice.html" title="GUdevDevice">GUdevDevice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevDevice.html#g-udev-device-get-usec-since-initialized" title="g_udev_device_get_usec_since_initialized ()">g_udev_device_get_usec_since_initialized</a>, function in <a class="link" href="GUdevDevice.html" title="GUdevDevice">GUdevDevice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevDevice.html#g-udev-device-has-property" title="g_udev_device_has_property ()">g_udev_device_has_property</a>, function in <a class="link" href="GUdevDevice.html" title="GUdevDevice">GUdevDevice</a>
+</dt>
+<dd></dd>
+<a name="idxE"></a><h3 class="title">E</h3>
+<dt>
+<a class="link" href="GUdevEnumerator.html#g-udev-enumerator-add-match-is-initialized" title="g_udev_enumerator_add_match_is_initialized ()">g_udev_enumerator_add_match_is_initialized</a>, function in <a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator">GUdevEnumerator</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevEnumerator.html#g-udev-enumerator-add-match-name" title="g_udev_enumerator_add_match_name ()">g_udev_enumerator_add_match_name</a>, function in <a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator">GUdevEnumerator</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevEnumerator.html#g-udev-enumerator-add-match-property" title="g_udev_enumerator_add_match_property ()">g_udev_enumerator_add_match_property</a>, function in <a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator">GUdevEnumerator</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevEnumerator.html#g-udev-enumerator-add-match-subsystem" title="g_udev_enumerator_add_match_subsystem ()">g_udev_enumerator_add_match_subsystem</a>, function in <a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator">GUdevEnumerator</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevEnumerator.html#g-udev-enumerator-add-match-sysfs-attr" title="g_udev_enumerator_add_match_sysfs_attr ()">g_udev_enumerator_add_match_sysfs_attr</a>, function in <a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator">GUdevEnumerator</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevEnumerator.html#g-udev-enumerator-add-match-tag" title="g_udev_enumerator_add_match_tag ()">g_udev_enumerator_add_match_tag</a>, function in <a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator">GUdevEnumerator</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevEnumerator.html#g-udev-enumerator-add-nomatch-subsystem" title="g_udev_enumerator_add_nomatch_subsystem ()">g_udev_enumerator_add_nomatch_subsystem</a>, function in <a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator">GUdevEnumerator</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevEnumerator.html#g-udev-enumerator-add-nomatch-sysfs-attr" title="g_udev_enumerator_add_nomatch_sysfs_attr ()">g_udev_enumerator_add_nomatch_sysfs_attr</a>, function in <a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator">GUdevEnumerator</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevEnumerator.html#g-udev-enumerator-add-sysfs-path" title="g_udev_enumerator_add_sysfs_path ()">g_udev_enumerator_add_sysfs_path</a>, function in <a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator">GUdevEnumerator</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevEnumerator.html#g-udev-enumerator-execute" title="g_udev_enumerator_execute ()">g_udev_enumerator_execute</a>, function in <a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator">GUdevEnumerator</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevEnumerator.html#g-udev-enumerator-new" title="g_udev_enumerator_new ()">g_udev_enumerator_new</a>, function in <a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator">GUdevEnumerator</a>
+</dt>
+<dd></dd>
+<a name="idxG"></a><h3 class="title">G</h3>
+<dt>
+<a class="link" href="GUdevClient.html#GUdevClient-struct" title="GUdevClient">GUdevClient</a>, struct in <a class="link" href="GUdevClient.html" title="GUdevClient">GUdevClient</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevClient.html#GUdevClient-uevent" title='The "uevent" signal'>GUdevClient::uevent</a>, object signal in <a class="link" href="GUdevClient.html" title="GUdevClient">GUdevClient</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevClient.html#GUdevClient--subsystems" title='The "subsystems" property'>GUdevClient:subsystems</a>, object property in <a class="link" href="GUdevClient.html" title="GUdevClient">GUdevClient</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevClient.html#GUdevClientClass" title="struct GUdevClientClass">GUdevClientClass</a>, struct in <a class="link" href="GUdevClient.html" title="GUdevClient">GUdevClient</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevDevice.html#GUdevDevice-struct" title="GUdevDevice">GUdevDevice</a>, struct in <a class="link" href="GUdevDevice.html" title="GUdevDevice">GUdevDevice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevDevice.html#GUdevDeviceClass" title="struct GUdevDeviceClass">GUdevDeviceClass</a>, struct in <a class="link" href="GUdevDevice.html" title="GUdevDevice">GUdevDevice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevClient.html#GUdevDeviceNumber" title="GUdevDeviceNumber">GUdevDeviceNumber</a>, typedef in <a class="link" href="GUdevClient.html" title="GUdevClient">GUdevClient</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevClient.html#GUdevDeviceType-enum" title="enum GUdevDeviceType">GUdevDeviceType</a>, enum in <a class="link" href="GUdevClient.html" title="GUdevClient">GUdevClient</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevEnumerator.html#GUdevEnumerator-struct" title="GUdevEnumerator">GUdevEnumerator</a>, struct in <a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator">GUdevEnumerator</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevEnumerator.html#GUdevEnumerator--client" title='The "client" property'>GUdevEnumerator:client</a>, object property in <a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator">GUdevEnumerator</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevEnumerator.html#GUdevEnumeratorClass" title="struct GUdevEnumeratorClass">GUdevEnumeratorClass</a>, struct in <a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator">GUdevEnumerator</a>
+</dt>
+<dd></dd>
+</div>
+<div class="footer">
+<hr>
+ Generated by GTK-Doc V1.18</div>
+</body>
+</html> \ No newline at end of file
diff --git a/udev-lfs/gudev/gudev-hierarchy.html b/udev-lfs/gudev/gudev-hierarchy.html
new file mode 100644
index 000000000..7ff7ac38c
--- /dev/null
+++ b/udev-lfs/gudev/gudev-hierarchy.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Object Hierarchy</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
+<link rel="home" href="index.html" title="GUdev Reference Manual">
+<link rel="up" href="index.html" title="GUdev Reference Manual">
+<link rel="prev" href="GUdevEnumerator.html" title="GUdevEnumerator">
+<link rel="next" href="api-index-full.html" title="API Index">
+<meta name="generator" content="GTK-Doc V1.18 (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="GUdevEnumerator.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td> </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">GUdev Reference Manual</th>
+<td><a accesskey="n" href="api-index-full.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="chapter">
+<div class="titlepage"><div><div><h1 class="title">
+<a name="gudev-hierarchy"></a>Object Hierarchy</h1></div></div></div>
+<pre class="screen">
+ GObject
+ <a class="link" href="GUdevDevice.html" title="GUdevDevice">GUdevDevice</a>
+ <a class="link" href="GUdevClient.html" title="GUdevClient">GUdevClient</a>
+ <a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator">GUdevEnumerator</a>
+ GEnum
+ <a class="link" href="GUdevClient.html#GUdevDeviceType">GUdevDeviceType</a>
+</pre>
+</div>
+<div class="footer">
+<hr>
+ Generated by GTK-Doc V1.18</div>
+</body>
+</html> \ No newline at end of file
diff --git a/udev-lfs/gudev/gudev.devhelp2 b/udev-lfs/gudev/gudev.devhelp2
new file mode 100644
index 000000000..ab7cc30c2
--- /dev/null
+++ b/udev-lfs/gudev/gudev.devhelp2
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="utf-8" standalone="no"?>
+<!DOCTYPE book PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "">
+<book xmlns="http://www.devhelp.net/book" title="GUdev Reference Manual" link="index.html" author="" name="gudev" version="2" language="c">
+ <chapters>
+ <sub name="API Reference" link="ref-API.html">
+ <sub name="GUdevClient" link="GUdevClient.html"/>
+ <sub name="GUdevDevice" link="GUdevDevice.html"/>
+ <sub name="GUdevEnumerator" link="GUdevEnumerator.html"/>
+ </sub>
+ <sub name="Object Hierarchy" link="gudev-hierarchy.html"/>
+ <sub name="API Index" link="api-index-full.html"/>
+ <sub name="Index of new symbols in 165" link="ix02.html"/>
+ <sub name="Index of deprecated API" link="api-index-deprecated.html"/>
+ <sub name="Annotation Glossary" link="annotation-glossary.html"/>
+ </chapters>
+ <functions>
+ <keyword type="struct" name="GUdevClient" link="GUdevClient.html#GUdevClient-struct"/>
+ <keyword type="struct" name="struct GUdevClientClass" link="GUdevClient.html#GUdevClientClass"/>
+ <keyword type="enum" name="enum GUdevDeviceType" link="GUdevClient.html#GUdevDeviceType-enum"/>
+ <keyword type="typedef" name="GUdevDeviceNumber" link="GUdevClient.html#GUdevDeviceNumber"/>
+ <keyword type="function" name="g_udev_client_new ()" link="GUdevClient.html#g-udev-client-new"/>
+ <keyword type="function" name="g_udev_client_query_by_subsystem ()" link="GUdevClient.html#g-udev-client-query-by-subsystem"/>
+ <keyword type="function" name="g_udev_client_query_by_device_number ()" link="GUdevClient.html#g-udev-client-query-by-device-number"/>
+ <keyword type="function" name="g_udev_client_query_by_device_file ()" link="GUdevClient.html#g-udev-client-query-by-device-file"/>
+ <keyword type="function" name="g_udev_client_query_by_sysfs_path ()" link="GUdevClient.html#g-udev-client-query-by-sysfs-path"/>
+ <keyword type="function" name="g_udev_client_query_by_subsystem_and_name ()" link="GUdevClient.html#g-udev-client-query-by-subsystem-and-name"/>
+ <keyword type="property" name="The &quot;subsystems&quot; property" link="GUdevClient.html#GUdevClient--subsystems"/>
+ <keyword type="signal" name="The &quot;uevent&quot; signal" link="GUdevClient.html#GUdevClient-uevent"/>
+ <keyword type="struct" name="GUdevDevice" link="GUdevDevice.html#GUdevDevice-struct"/>
+ <keyword type="struct" name="struct GUdevDeviceClass" link="GUdevDevice.html#GUdevDeviceClass"/>
+ <keyword type="function" name="g_udev_device_get_subsystem ()" link="GUdevDevice.html#g-udev-device-get-subsystem"/>
+ <keyword type="function" name="g_udev_device_get_devtype ()" link="GUdevDevice.html#g-udev-device-get-devtype"/>
+ <keyword type="function" name="g_udev_device_get_name ()" link="GUdevDevice.html#g-udev-device-get-name"/>
+ <keyword type="function" name="g_udev_device_get_number ()" link="GUdevDevice.html#g-udev-device-get-number"/>
+ <keyword type="function" name="g_udev_device_get_sysfs_path ()" link="GUdevDevice.html#g-udev-device-get-sysfs-path"/>
+ <keyword type="function" name="g_udev_device_get_driver ()" link="GUdevDevice.html#g-udev-device-get-driver"/>
+ <keyword type="function" name="g_udev_device_get_action ()" link="GUdevDevice.html#g-udev-device-get-action"/>
+ <keyword type="function" name="g_udev_device_get_seqnum ()" link="GUdevDevice.html#g-udev-device-get-seqnum"/>
+ <keyword type="function" name="g_udev_device_get_device_type ()" link="GUdevDevice.html#g-udev-device-get-device-type"/>
+ <keyword type="function" name="g_udev_device_get_device_number ()" link="GUdevDevice.html#g-udev-device-get-device-number"/>
+ <keyword type="function" name="g_udev_device_get_device_file ()" link="GUdevDevice.html#g-udev-device-get-device-file"/>
+ <keyword type="function" name="g_udev_device_get_device_file_symlinks ()" link="GUdevDevice.html#g-udev-device-get-device-file-symlinks"/>
+ <keyword type="function" name="g_udev_device_get_parent ()" link="GUdevDevice.html#g-udev-device-get-parent"/>
+ <keyword type="function" name="g_udev_device_get_parent_with_subsystem ()" link="GUdevDevice.html#g-udev-device-get-parent-with-subsystem"/>
+ <keyword type="function" name="g_udev_device_get_tags ()" link="GUdevDevice.html#g-udev-device-get-tags" since="165"/>
+ <keyword type="function" name="g_udev_device_get_is_initialized ()" link="GUdevDevice.html#g-udev-device-get-is-initialized" since="165"/>
+ <keyword type="function" name="g_udev_device_get_usec_since_initialized ()" link="GUdevDevice.html#g-udev-device-get-usec-since-initialized" since="165"/>
+ <keyword type="function" name="g_udev_device_get_property_keys ()" link="GUdevDevice.html#g-udev-device-get-property-keys"/>
+ <keyword type="function" name="g_udev_device_has_property ()" link="GUdevDevice.html#g-udev-device-has-property"/>
+ <keyword type="function" name="g_udev_device_get_property ()" link="GUdevDevice.html#g-udev-device-get-property"/>
+ <keyword type="function" name="g_udev_device_get_property_as_int ()" link="GUdevDevice.html#g-udev-device-get-property-as-int"/>
+ <keyword type="function" name="g_udev_device_get_property_as_uint64 ()" link="GUdevDevice.html#g-udev-device-get-property-as-uint64"/>
+ <keyword type="function" name="g_udev_device_get_property_as_double ()" link="GUdevDevice.html#g-udev-device-get-property-as-double"/>
+ <keyword type="function" name="g_udev_device_get_property_as_boolean ()" link="GUdevDevice.html#g-udev-device-get-property-as-boolean"/>
+ <keyword type="function" name="g_udev_device_get_property_as_strv ()" link="GUdevDevice.html#g-udev-device-get-property-as-strv"/>
+ <keyword type="function" name="g_udev_device_get_sysfs_attr ()" link="GUdevDevice.html#g-udev-device-get-sysfs-attr"/>
+ <keyword type="function" name="g_udev_device_get_sysfs_attr_as_int ()" link="GUdevDevice.html#g-udev-device-get-sysfs-attr-as-int"/>
+ <keyword type="function" name="g_udev_device_get_sysfs_attr_as_uint64 ()" link="GUdevDevice.html#g-udev-device-get-sysfs-attr-as-uint64"/>
+ <keyword type="function" name="g_udev_device_get_sysfs_attr_as_double ()" link="GUdevDevice.html#g-udev-device-get-sysfs-attr-as-double"/>
+ <keyword type="function" name="g_udev_device_get_sysfs_attr_as_boolean ()" link="GUdevDevice.html#g-udev-device-get-sysfs-attr-as-boolean"/>
+ <keyword type="function" name="g_udev_device_get_sysfs_attr_as_strv ()" link="GUdevDevice.html#g-udev-device-get-sysfs-attr-as-strv"/>
+ <keyword type="struct" name="GUdevEnumerator" link="GUdevEnumerator.html#GUdevEnumerator-struct"/>
+ <keyword type="struct" name="struct GUdevEnumeratorClass" link="GUdevEnumerator.html#GUdevEnumeratorClass" since="165"/>
+ <keyword type="function" name="g_udev_enumerator_new ()" link="GUdevEnumerator.html#g-udev-enumerator-new" since="165"/>
+ <keyword type="function" name="g_udev_enumerator_add_match_subsystem ()" link="GUdevEnumerator.html#g-udev-enumerator-add-match-subsystem" since="165"/>
+ <keyword type="function" name="g_udev_enumerator_add_nomatch_subsystem ()" link="GUdevEnumerator.html#g-udev-enumerator-add-nomatch-subsystem" since="165"/>
+ <keyword type="function" name="g_udev_enumerator_add_match_sysfs_attr ()" link="GUdevEnumerator.html#g-udev-enumerator-add-match-sysfs-attr" since="165"/>
+ <keyword type="function" name="g_udev_enumerator_add_nomatch_sysfs_attr ()" link="GUdevEnumerator.html#g-udev-enumerator-add-nomatch-sysfs-attr" since="165"/>
+ <keyword type="function" name="g_udev_enumerator_add_match_property ()" link="GUdevEnumerator.html#g-udev-enumerator-add-match-property" since="165"/>
+ <keyword type="function" name="g_udev_enumerator_add_match_name ()" link="GUdevEnumerator.html#g-udev-enumerator-add-match-name" since="165"/>
+ <keyword type="function" name="g_udev_enumerator_add_match_tag ()" link="GUdevEnumerator.html#g-udev-enumerator-add-match-tag" since="165"/>
+ <keyword type="function" name="g_udev_enumerator_add_match_is_initialized ()" link="GUdevEnumerator.html#g-udev-enumerator-add-match-is-initialized" since="165"/>
+ <keyword type="function" name="g_udev_enumerator_add_sysfs_path ()" link="GUdevEnumerator.html#g-udev-enumerator-add-sysfs-path" since="165"/>
+ <keyword type="function" name="g_udev_enumerator_execute ()" link="GUdevEnumerator.html#g-udev-enumerator-execute" since="165"/>
+ <keyword type="property" name="The &quot;client&quot; property" link="GUdevEnumerator.html#GUdevEnumerator--client"/>
+ <keyword type="constant" name="G_UDEV_DEVICE_TYPE_NONE" link="GUdevClient.html#G-UDEV-DEVICE-TYPE-NONE:CAPS"/>
+ <keyword type="constant" name="G_UDEV_DEVICE_TYPE_BLOCK" link="GUdevClient.html#G-UDEV-DEVICE-TYPE-BLOCK:CAPS"/>
+ <keyword type="constant" name="G_UDEV_DEVICE_TYPE_CHAR" link="GUdevClient.html#G-UDEV-DEVICE-TYPE-CHAR:CAPS"/>
+ </functions>
+</book>
diff --git a/udev-lfs/gudev/home.png b/udev-lfs/gudev/home.png
new file mode 100644
index 000000000..17003611d
--- /dev/null
+++ b/udev-lfs/gudev/home.png
Binary files differ
diff --git a/udev-lfs/gudev/index.html b/udev-lfs/gudev/index.html
new file mode 100644
index 000000000..ecb3161a3
--- /dev/null
+++ b/udev-lfs/gudev/index.html
@@ -0,0 +1,53 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>GUdev Reference Manual</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
+<link rel="home" href="index.html" title="GUdev Reference Manual">
+<link rel="next" href="ref-API.html" title="API Reference">
+<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
+<link rel="stylesheet" href="style.css" type="text/css">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<div class="book">
+<div class="titlepage">
+<div>
+<div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">GUdev Reference Manual</p></th></tr></table></div>
+<div><p class="releaseinfo">
+ For version 199
+ — the latest version of this
+ documentation can be found at
+ <a class="ulink" href="http://www.freedesktop.org/software/systemd/gudev/" target="_top">
+ http://www.freedesktop.org/software/systemd/gudev/
+ </a>.
+ </p></div>
+<div><p class="copyright">Copyright © 2009-2012 David Zeuthen &lt;davidz@redhat.com&gt;, Bastien Nocera &lt;hadess@hadess.net&gt;</p></div>
+</div>
+<hr>
+</div>
+<div class="toc"><dl>
+<dt><span class="chapter"><a href="ref-API.html">API Reference</a></span></dt>
+<dd><dl>
+<dt>
+<span class="refentrytitle"><a href="GUdevClient.html">GUdevClient</a></span><span class="refpurpose"> — Query devices and listen to uevents</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="GUdevDevice.html">GUdevDevice</a></span><span class="refpurpose"> — Get information about a device</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="GUdevEnumerator.html">GUdevEnumerator</a></span><span class="refpurpose"> — Lookup and sort devices</span>
+</dt>
+</dl></dd>
+<dt><span class="chapter"><a href="gudev-hierarchy.html">Object Hierarchy</a></span></dt>
+<dt><span class="index"><a href="api-index-full.html">API Index</a></span></dt>
+<dt><span class="index"><a href="ix02.html">Index of new symbols in 165</a></span></dt>
+<dt><span class="index"><a href="api-index-deprecated.html">Index of deprecated API</a></span></dt>
+<dt><span class="glossary"><a href="annotation-glossary.html">Annotation Glossary</a></span></dt>
+</dl></div>
+</div>
+<div class="footer">
+<hr>
+ Generated by GTK-Doc V1.18</div>
+</body>
+</html> \ No newline at end of file
diff --git a/udev-lfs/gudev/index.sgml b/udev-lfs/gudev/index.sgml
new file mode 100644
index 000000000..f92571122
--- /dev/null
+++ b/udev-lfs/gudev/index.sgml
@@ -0,0 +1,90 @@
+<ONLINE href="http://www.freedesktop.org/software/systemd/gudev/">
+<ANCHOR id="GUdevClient" href="gudev/GUdevClient.html">
+<ANCHOR id="GUdevClient.synopsis" href="gudev/GUdevClient.html#GUdevClient.synopsis">
+<ANCHOR id="GUdevDeviceType" href="gudev/GUdevClient.html#GUdevDeviceType">
+<ANCHOR id="GUdevClient.object-hierarchy" href="gudev/GUdevClient.html#GUdevClient.object-hierarchy">
+<ANCHOR id="GUdevClient.properties" href="gudev/GUdevClient.html#GUdevClient.properties">
+<ANCHOR id="GUdevClient.signals" href="gudev/GUdevClient.html#GUdevClient.signals">
+<ANCHOR id="GUdevClient.description" href="gudev/GUdevClient.html#GUdevClient.description">
+<ANCHOR id="GUdevClient.details" href="gudev/GUdevClient.html#GUdevClient.details">
+<ANCHOR id="GUdevClient-struct" href="gudev/GUdevClient.html#GUdevClient-struct">
+<ANCHOR id="GUdevClientClass" href="gudev/GUdevClient.html#GUdevClientClass">
+<ANCHOR id="GUdevDeviceType-enum" href="gudev/GUdevClient.html#GUdevDeviceType-enum">
+<ANCHOR id="G-UDEV-DEVICE-TYPE-NONE:CAPS" href="gudev/GUdevClient.html#G-UDEV-DEVICE-TYPE-NONE:CAPS">
+<ANCHOR id="G-UDEV-DEVICE-TYPE-BLOCK:CAPS" href="gudev/GUdevClient.html#G-UDEV-DEVICE-TYPE-BLOCK:CAPS">
+<ANCHOR id="G-UDEV-DEVICE-TYPE-CHAR:CAPS" href="gudev/GUdevClient.html#G-UDEV-DEVICE-TYPE-CHAR:CAPS">
+<ANCHOR id="GUdevDeviceNumber" href="gudev/GUdevClient.html#GUdevDeviceNumber">
+<ANCHOR id="g-udev-client-new" href="gudev/GUdevClient.html#g-udev-client-new">
+<ANCHOR id="g-udev-client-query-by-subsystem" href="gudev/GUdevClient.html#g-udev-client-query-by-subsystem">
+<ANCHOR id="g-udev-client-query-by-device-number" href="gudev/GUdevClient.html#g-udev-client-query-by-device-number">
+<ANCHOR id="g-udev-client-query-by-device-file" href="gudev/GUdevClient.html#g-udev-client-query-by-device-file">
+<ANCHOR id="g-udev-client-query-by-sysfs-path" href="gudev/GUdevClient.html#g-udev-client-query-by-sysfs-path">
+<ANCHOR id="g-udev-client-query-by-subsystem-and-name" href="gudev/GUdevClient.html#g-udev-client-query-by-subsystem-and-name">
+<ANCHOR id="GUdevClient.property-details" href="gudev/GUdevClient.html#GUdevClient.property-details">
+<ANCHOR id="GUdevClient--subsystems" href="gudev/GUdevClient.html#GUdevClient--subsystems">
+<ANCHOR id="GUdevClient.signal-details" href="gudev/GUdevClient.html#GUdevClient.signal-details">
+<ANCHOR id="GUdevClient-uevent" href="gudev/GUdevClient.html#GUdevClient-uevent">
+<ANCHOR id="GUdevDevice" href="gudev/GUdevDevice.html">
+<ANCHOR id="GUdevDevice.synopsis" href="gudev/GUdevDevice.html#GUdevDevice.synopsis">
+<ANCHOR id="GUdevDevice.object-hierarchy" href="gudev/GUdevDevice.html#GUdevDevice.object-hierarchy">
+<ANCHOR id="GUdevDevice.description" href="gudev/GUdevDevice.html#GUdevDevice.description">
+<ANCHOR id="GUdevDevice.details" href="gudev/GUdevDevice.html#GUdevDevice.details">
+<ANCHOR id="GUdevDevice-struct" href="gudev/GUdevDevice.html#GUdevDevice-struct">
+<ANCHOR id="GUdevDeviceClass" href="gudev/GUdevDevice.html#GUdevDeviceClass">
+<ANCHOR id="g-udev-device-get-subsystem" href="gudev/GUdevDevice.html#g-udev-device-get-subsystem">
+<ANCHOR id="g-udev-device-get-devtype" href="gudev/GUdevDevice.html#g-udev-device-get-devtype">
+<ANCHOR id="g-udev-device-get-name" href="gudev/GUdevDevice.html#g-udev-device-get-name">
+<ANCHOR id="g-udev-device-get-number" href="gudev/GUdevDevice.html#g-udev-device-get-number">
+<ANCHOR id="g-udev-device-get-sysfs-path" href="gudev/GUdevDevice.html#g-udev-device-get-sysfs-path">
+<ANCHOR id="g-udev-device-get-driver" href="gudev/GUdevDevice.html#g-udev-device-get-driver">
+<ANCHOR id="g-udev-device-get-action" href="gudev/GUdevDevice.html#g-udev-device-get-action">
+<ANCHOR id="g-udev-device-get-seqnum" href="gudev/GUdevDevice.html#g-udev-device-get-seqnum">
+<ANCHOR id="g-udev-device-get-device-type" href="gudev/GUdevDevice.html#g-udev-device-get-device-type">
+<ANCHOR id="g-udev-device-get-device-number" href="gudev/GUdevDevice.html#g-udev-device-get-device-number">
+<ANCHOR id="g-udev-device-get-device-file" href="gudev/GUdevDevice.html#g-udev-device-get-device-file">
+<ANCHOR id="g-udev-device-get-device-file-symlinks" href="gudev/GUdevDevice.html#g-udev-device-get-device-file-symlinks">
+<ANCHOR id="g-udev-device-get-parent" href="gudev/GUdevDevice.html#g-udev-device-get-parent">
+<ANCHOR id="g-udev-device-get-parent-with-subsystem" href="gudev/GUdevDevice.html#g-udev-device-get-parent-with-subsystem">
+<ANCHOR id="g-udev-device-get-tags" href="gudev/GUdevDevice.html#g-udev-device-get-tags">
+<ANCHOR id="g-udev-device-get-is-initialized" href="gudev/GUdevDevice.html#g-udev-device-get-is-initialized">
+<ANCHOR id="g-udev-device-get-usec-since-initialized" href="gudev/GUdevDevice.html#g-udev-device-get-usec-since-initialized">
+<ANCHOR id="g-udev-device-get-property-keys" href="gudev/GUdevDevice.html#g-udev-device-get-property-keys">
+<ANCHOR id="g-udev-device-has-property" href="gudev/GUdevDevice.html#g-udev-device-has-property">
+<ANCHOR id="g-udev-device-get-property" href="gudev/GUdevDevice.html#g-udev-device-get-property">
+<ANCHOR id="g-udev-device-get-property-as-int" href="gudev/GUdevDevice.html#g-udev-device-get-property-as-int">
+<ANCHOR id="g-udev-device-get-property-as-uint64" href="gudev/GUdevDevice.html#g-udev-device-get-property-as-uint64">
+<ANCHOR id="g-udev-device-get-property-as-double" href="gudev/GUdevDevice.html#g-udev-device-get-property-as-double">
+<ANCHOR id="g-udev-device-get-property-as-boolean" href="gudev/GUdevDevice.html#g-udev-device-get-property-as-boolean">
+<ANCHOR id="g-udev-device-get-property-as-strv" href="gudev/GUdevDevice.html#g-udev-device-get-property-as-strv">
+<ANCHOR id="g-udev-device-get-sysfs-attr" href="gudev/GUdevDevice.html#g-udev-device-get-sysfs-attr">
+<ANCHOR id="g-udev-device-get-sysfs-attr-as-int" href="gudev/GUdevDevice.html#g-udev-device-get-sysfs-attr-as-int">
+<ANCHOR id="g-udev-device-get-sysfs-attr-as-uint64" href="gudev/GUdevDevice.html#g-udev-device-get-sysfs-attr-as-uint64">
+<ANCHOR id="g-udev-device-get-sysfs-attr-as-double" href="gudev/GUdevDevice.html#g-udev-device-get-sysfs-attr-as-double">
+<ANCHOR id="g-udev-device-get-sysfs-attr-as-boolean" href="gudev/GUdevDevice.html#g-udev-device-get-sysfs-attr-as-boolean">
+<ANCHOR id="g-udev-device-get-sysfs-attr-as-strv" href="gudev/GUdevDevice.html#g-udev-device-get-sysfs-attr-as-strv">
+<ANCHOR id="GUdevEnumerator" href="gudev/GUdevEnumerator.html">
+<ANCHOR id="GUdevEnumerator.synopsis" href="gudev/GUdevEnumerator.html#GUdevEnumerator.synopsis">
+<ANCHOR id="GUdevEnumerator.object-hierarchy" href="gudev/GUdevEnumerator.html#GUdevEnumerator.object-hierarchy">
+<ANCHOR id="GUdevEnumerator.properties" href="gudev/GUdevEnumerator.html#GUdevEnumerator.properties">
+<ANCHOR id="GUdevEnumerator.description" href="gudev/GUdevEnumerator.html#GUdevEnumerator.description">
+<ANCHOR id="GUdevEnumerator.details" href="gudev/GUdevEnumerator.html#GUdevEnumerator.details">
+<ANCHOR id="GUdevEnumerator-struct" href="gudev/GUdevEnumerator.html#GUdevEnumerator-struct">
+<ANCHOR id="GUdevEnumeratorClass" href="gudev/GUdevEnumerator.html#GUdevEnumeratorClass">
+<ANCHOR id="g-udev-enumerator-new" href="gudev/GUdevEnumerator.html#g-udev-enumerator-new">
+<ANCHOR id="g-udev-enumerator-add-match-subsystem" href="gudev/GUdevEnumerator.html#g-udev-enumerator-add-match-subsystem">
+<ANCHOR id="g-udev-enumerator-add-nomatch-subsystem" href="gudev/GUdevEnumerator.html#g-udev-enumerator-add-nomatch-subsystem">
+<ANCHOR id="g-udev-enumerator-add-match-sysfs-attr" href="gudev/GUdevEnumerator.html#g-udev-enumerator-add-match-sysfs-attr">
+<ANCHOR id="g-udev-enumerator-add-nomatch-sysfs-attr" href="gudev/GUdevEnumerator.html#g-udev-enumerator-add-nomatch-sysfs-attr">
+<ANCHOR id="g-udev-enumerator-add-match-property" href="gudev/GUdevEnumerator.html#g-udev-enumerator-add-match-property">
+<ANCHOR id="g-udev-enumerator-add-match-name" href="gudev/GUdevEnumerator.html#g-udev-enumerator-add-match-name">
+<ANCHOR id="g-udev-enumerator-add-match-tag" href="gudev/GUdevEnumerator.html#g-udev-enumerator-add-match-tag">
+<ANCHOR id="g-udev-enumerator-add-match-is-initialized" href="gudev/GUdevEnumerator.html#g-udev-enumerator-add-match-is-initialized">
+<ANCHOR id="g-udev-enumerator-add-sysfs-path" href="gudev/GUdevEnumerator.html#g-udev-enumerator-add-sysfs-path">
+<ANCHOR id="g-udev-enumerator-execute" href="gudev/GUdevEnumerator.html#g-udev-enumerator-execute">
+<ANCHOR id="GUdevEnumerator.property-details" href="gudev/GUdevEnumerator.html#GUdevEnumerator.property-details">
+<ANCHOR id="GUdevEnumerator--client" href="gudev/GUdevEnumerator.html#GUdevEnumerator--client">
+<ANCHOR id="annotation-glossterm-array" href="gudev/annotation-glossary.html#annotation-glossterm-array">
+<ANCHOR id="annotation-glossterm-allow-none" href="gudev/annotation-glossary.html#annotation-glossterm-allow-none">
+<ANCHOR id="annotation-glossterm-element-type" href="gudev/annotation-glossary.html#annotation-glossterm-element-type">
+<ANCHOR id="annotation-glossterm-transfer full" href="gudev/annotation-glossary.html#annotation-glossterm-transfer full">
+<ANCHOR id="annotation-glossterm-transfer none" href="gudev/annotation-glossary.html#annotation-glossterm-transfer none">
diff --git a/udev-lfs/gudev/ix02.html b/udev-lfs/gudev/ix02.html
new file mode 100644
index 000000000..046cf450c
--- /dev/null
+++ b/udev-lfs/gudev/ix02.html
@@ -0,0 +1,110 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Index of new symbols in 165</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
+<link rel="home" href="index.html" title="GUdev Reference Manual">
+<link rel="up" href="index.html" title="GUdev Reference Manual">
+<link rel="prev" href="api-index-full.html" title="API Index">
+<link rel="next" href="api-index-deprecated.html" title="Index of deprecated API">
+<meta name="generator" content="GTK-Doc V1.18 (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="api-index-full.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td> </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">GUdev Reference Manual</th>
+<td><a accesskey="n" href="api-index-deprecated.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr>
+<tr><td colspan="5" class="shortcuts">
+<a class="shortcut" href="#idxD">D</a>
+  | 
+ <a class="shortcut" href="#idxE">E</a>
+  | 
+ <a class="shortcut" href="#idxG">G</a>
+</td></tr>
+</table>
+<div class="index">
+<div class="titlepage"><div><div><h1 class="title">
+<a name="idp160528"></a>Index of new symbols in 165</h1></div></div></div>
+<a name="idx"></a><a name="idxD"></a><h3 class="title">D</h3>
+<dt>
+<a class="link" href="GUdevDevice.html#g-udev-device-get-is-initialized" title="g_udev_device_get_is_initialized ()">g_udev_device_get_is_initialized</a>, function in <a class="link" href="GUdevDevice.html" title="GUdevDevice">GUdevDevice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevDevice.html#g-udev-device-get-tags" title="g_udev_device_get_tags ()">g_udev_device_get_tags</a>, function in <a class="link" href="GUdevDevice.html" title="GUdevDevice">GUdevDevice</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevDevice.html#g-udev-device-get-usec-since-initialized" title="g_udev_device_get_usec_since_initialized ()">g_udev_device_get_usec_since_initialized</a>, function in <a class="link" href="GUdevDevice.html" title="GUdevDevice">GUdevDevice</a>
+</dt>
+<dd></dd>
+<a name="idxE"></a><h3 class="title">E</h3>
+<dt>
+<a class="link" href="GUdevEnumerator.html#g-udev-enumerator-add-match-is-initialized" title="g_udev_enumerator_add_match_is_initialized ()">g_udev_enumerator_add_match_is_initialized</a>, function in <a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator">GUdevEnumerator</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevEnumerator.html#g-udev-enumerator-add-match-name" title="g_udev_enumerator_add_match_name ()">g_udev_enumerator_add_match_name</a>, function in <a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator">GUdevEnumerator</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevEnumerator.html#g-udev-enumerator-add-match-property" title="g_udev_enumerator_add_match_property ()">g_udev_enumerator_add_match_property</a>, function in <a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator">GUdevEnumerator</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevEnumerator.html#g-udev-enumerator-add-match-subsystem" title="g_udev_enumerator_add_match_subsystem ()">g_udev_enumerator_add_match_subsystem</a>, function in <a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator">GUdevEnumerator</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevEnumerator.html#g-udev-enumerator-add-match-sysfs-attr" title="g_udev_enumerator_add_match_sysfs_attr ()">g_udev_enumerator_add_match_sysfs_attr</a>, function in <a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator">GUdevEnumerator</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevEnumerator.html#g-udev-enumerator-add-match-tag" title="g_udev_enumerator_add_match_tag ()">g_udev_enumerator_add_match_tag</a>, function in <a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator">GUdevEnumerator</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevEnumerator.html#g-udev-enumerator-add-nomatch-subsystem" title="g_udev_enumerator_add_nomatch_subsystem ()">g_udev_enumerator_add_nomatch_subsystem</a>, function in <a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator">GUdevEnumerator</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevEnumerator.html#g-udev-enumerator-add-nomatch-sysfs-attr" title="g_udev_enumerator_add_nomatch_sysfs_attr ()">g_udev_enumerator_add_nomatch_sysfs_attr</a>, function in <a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator">GUdevEnumerator</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevEnumerator.html#g-udev-enumerator-add-sysfs-path" title="g_udev_enumerator_add_sysfs_path ()">g_udev_enumerator_add_sysfs_path</a>, function in <a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator">GUdevEnumerator</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevEnumerator.html#g-udev-enumerator-execute" title="g_udev_enumerator_execute ()">g_udev_enumerator_execute</a>, function in <a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator">GUdevEnumerator</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevEnumerator.html#g-udev-enumerator-new" title="g_udev_enumerator_new ()">g_udev_enumerator_new</a>, function in <a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator">GUdevEnumerator</a>
+</dt>
+<dd></dd>
+<a name="idxG"></a><h3 class="title">G</h3>
+<dt>
+<a class="link" href="GUdevEnumerator.html#GUdevEnumerator-struct" title="GUdevEnumerator">GUdevEnumerator</a>, struct in <a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator">GUdevEnumerator</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevEnumerator.html#GUdevEnumerator--client" title='The "client" property'>GUdevEnumerator:client</a>, object property in <a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator">GUdevEnumerator</a>
+</dt>
+<dd></dd>
+<dt>
+<a class="link" href="GUdevEnumerator.html#GUdevEnumeratorClass" title="struct GUdevEnumeratorClass">GUdevEnumeratorClass</a>, struct in <a class="link" href="GUdevEnumerator.html" title="GUdevEnumerator">GUdevEnumerator</a>
+</dt>
+<dd></dd>
+</div>
+<div class="footer">
+<hr>
+ Generated by GTK-Doc V1.18</div>
+</body>
+</html> \ No newline at end of file
diff --git a/udev-lfs/gudev/left.png b/udev-lfs/gudev/left.png
new file mode 100644
index 000000000..2d05b3d5b
--- /dev/null
+++ b/udev-lfs/gudev/left.png
Binary files differ
diff --git a/udev-lfs/gudev/ref-API.html b/udev-lfs/gudev/ref-API.html
new file mode 100644
index 000000000..52e9e9a1b
--- /dev/null
+++ b/udev-lfs/gudev/ref-API.html
@@ -0,0 +1,41 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>API Reference</title>
+<meta name="generator" content="DocBook XSL Stylesheets V1.77.1">
+<link rel="home" href="index.html" title="GUdev Reference Manual">
+<link rel="up" href="index.html" title="GUdev Reference Manual">
+<link rel="prev" href="index.html" title="GUdev Reference Manual">
+<link rel="next" href="GUdevClient.html" title="GUdevClient">
+<meta name="generator" content="GTK-Doc V1.18 (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="index.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
+<td> </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">GUdev Reference Manual</th>
+<td><a accesskey="n" href="GUdevClient.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
+</tr></table>
+<div class="chapter">
+<div class="titlepage"><div><div><h1 class="title">
+<a name="ref-API"></a>API Reference</h1></div></div></div>
+<div class="toc"><dl>
+<dt>
+<span class="refentrytitle"><a href="GUdevClient.html">GUdevClient</a></span><span class="refpurpose"> — Query devices and listen to uevents</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="GUdevDevice.html">GUdevDevice</a></span><span class="refpurpose"> — Get information about a device</span>
+</dt>
+<dt>
+<span class="refentrytitle"><a href="GUdevEnumerator.html">GUdevEnumerator</a></span><span class="refpurpose"> — Lookup and sort devices</span>
+</dt>
+</dl></div>
+</div>
+<div class="footer">
+<hr>
+ Generated by GTK-Doc V1.18</div>
+</body>
+</html> \ No newline at end of file
diff --git a/udev-lfs/gudev/right.png b/udev-lfs/gudev/right.png
new file mode 100644
index 000000000..92832e3a4
--- /dev/null
+++ b/udev-lfs/gudev/right.png
Binary files differ
diff --git a/udev-lfs/gudev/style.css b/udev-lfs/gudev/style.css
new file mode 100644
index 000000000..d6f6c26ec
--- /dev/null
+++ b/udev-lfs/gudev/style.css
@@ -0,0 +1,266 @@
+.synopsis, .classsynopsis
+{
+ /* tango:aluminium 1/2 */
+ background: #eeeeec;
+ border: solid 1px #d3d7cf;
+ padding: 0.5em;
+}
+.programlisting
+{
+ /* tango:sky blue 0/1 */
+ background: #e6f3ff;
+ border: solid 1px #729fcf;
+ padding: 0.5em;
+}
+.variablelist
+{
+ padding: 4px;
+ margin-left: 3em;
+}
+.variablelist td:first-child
+{
+ vertical-align: top;
+}
+
+@media screen {
+ sup a.footnote
+ {
+ position: relative;
+ top: 0em ! important;
+
+ }
+ /* this is needed so that the local anchors are displayed below the naviagtion */
+ div.footnote a[name], div.refnamediv a[name], div.refsect1 a[name], div.refsect2 a[name], div.index a[name], div.glossary a[name], div.sect1 a[name]
+ {
+ display: inline-block;
+ position: relative;
+ top:-5em;
+ }
+ /* this seems to be a bug in the xsl style sheets when generating indexes */
+ div.index div.index
+ {
+ top: 0em;
+ }
+ /* make space for the fixed navigation bar and add space at the bottom so that
+ * link targets appear somewhat close to top
+ */
+ body
+ {
+ padding-top: 3.2em;
+ padding-bottom: 20em;
+ }
+ /* style and size the navigation bar */
+ table.navigation#top
+ {
+ position: fixed;
+ /* tango:scarlet red 0/1 */
+ background: #ffe6e6;
+ border: solid 1px #ef2929;
+ margin-top: 0;
+ margin-bottom: 0;
+ top: 0;
+ left: 0;
+ height: 3em;
+ z-index: 10;
+ }
+ .navigation a, .navigation a:visited
+ {
+ /* tango:scarlet red 3 */
+ color: #a40000;
+ }
+ .navigation a:hover
+ {
+ /* tango:scarlet red 1 */
+ color: #ef2929;
+ }
+ td.shortcuts
+ {
+ /* tango:scarlet red 1 */
+ color: #ef2929;
+ font-size: 80%;
+ white-space: nowrap;
+ }
+}
+@media print {
+ table.navigation {
+ visibility: collapse;
+ display: none;
+ }
+ div.titlepage table.navigation {
+ visibility: visible;
+ display: table;
+ /* tango:scarlet red 0/1 */
+ background: #ffe6e6;
+ border: solid 1px #ef2929;
+ margin-top: 0;
+ margin-bottom: 0;
+ top: 0;
+ left: 0;
+ height: 3em;
+ }
+}
+
+.navigation .title
+{
+ font-size: 200%;
+}
+
+div.gallery-float
+{
+ float: left;
+ padding: 10px;
+}
+div.gallery-float img
+{
+ border-style: none;
+}
+div.gallery-spacer
+{
+ clear: both;
+}
+
+a, a:visited
+{
+ text-decoration: none;
+ /* tango:sky blue 2 */
+ color: #3465a4;
+}
+a:hover
+{
+ text-decoration: underline;
+ /* tango:sky blue 1 */
+ color: #729fcf;
+}
+
+div.table table
+{
+ border-collapse: collapse;
+ border-spacing: 0px;
+ /* tango:aluminium 3 */
+ border: solid 1px #babdb6;
+}
+
+div.table table td, div.table table th
+{
+ /* tango:aluminium 3 */
+ border: solid 1px #babdb6;
+ padding: 3px;
+ vertical-align: top;
+}
+
+div.table table th
+{
+ /* tango:aluminium 2 */
+ background-color: #d3d7cf;
+}
+
+hr
+{
+ /* tango:aluminium 3 */
+ color: #babdb6;
+ background: #babdb6;
+ border: none 0px;
+ height: 1px;
+ clear: both;
+}
+
+.footer
+{
+ padding-top: 3.5em;
+ /* tango:aluminium 3 */
+ color: #babdb6;
+ text-align: center;
+ font-size: 80%;
+}
+
+.warning
+{
+ /* tango:orange 0/1 */
+ background: #ffeed9;
+ border-color: #ffb04f;
+}
+.note
+{
+ /* tango:chameleon 0/0.5 */
+ background: #d8ffb2;
+ border-color: #abf562;
+}
+.note, .warning
+{
+ padding: 0.5em;
+ border-width: 1px;
+ border-style: solid;
+}
+.note h3, .warning h3
+{
+ margin-top: 0.0em
+}
+.note p, .warning p
+{
+ margin-bottom: 0.0em
+}
+
+/* blob links */
+h2 .extralinks, h3 .extralinks
+{
+ float: right;
+ /* tango:aluminium 3 */
+ color: #babdb6;
+ font-size: 80%;
+ font-weight: normal;
+}
+
+.annotation
+{
+ /* tango:aluminium 5 */
+ color: #555753;
+ font-size: 80%;
+ font-weight: normal;
+}
+
+/* code listings */
+
+.listing_code .programlisting .cbracket { color: #a40000; } /* tango: scarlet red 3 */
+.listing_code .programlisting .comment { color: #a1a39d; } /* tango: aluminium 4 */
+.listing_code .programlisting .function { color: #000000; font-weight: bold; }
+.listing_code .programlisting .function a { color: #11326b; font-weight: bold; } /* tango: sky blue 4 */
+.listing_code .programlisting .keyword { color: #4e9a06; } /* tango: chameleon 3 */
+.listing_code .programlisting .linenum { color: #babdb6; } /* tango: aluminium 3 */
+.listing_code .programlisting .normal { color: #000000; }
+.listing_code .programlisting .number { color: #75507b; } /* tango: plum 2 */
+.listing_code .programlisting .preproc { color: #204a87; } /* tango: sky blue 3 */
+.listing_code .programlisting .string { color: #c17d11; } /* tango: chocolate 2 */
+.listing_code .programlisting .type { color: #000000; }
+.listing_code .programlisting .type a { color: #11326b; } /* tango: sky blue 4 */
+.listing_code .programlisting .symbol { color: #ce5c00; } /* tango: orange 3 */
+
+.listing_frame {
+ /* tango:sky blue 1 */
+ border: solid 1px #729fcf;
+ padding: 0px;
+}
+
+.listing_lines, .listing_code {
+ margin-top: 0px;
+ margin-bottom: 0px;
+ padding: 0.5em;
+}
+.listing_lines {
+ /* tango:sky blue 0.5 */
+ background: #a6c5e3;
+ /* tango:aluminium 6 */
+ color: #2e3436;
+}
+.listing_code {
+ /* tango:sky blue 0 */
+ background: #e6f3ff;
+}
+.listing_code .programlisting {
+ /* override from previous */
+ border: none 0px;
+ padding: 0px;
+}
+.listing_lines pre, .listing_code pre {
+ margin: 0px;
+}
+
diff --git a/udev-lfs/gudev/up.png b/udev-lfs/gudev/up.png
new file mode 100644
index 000000000..85b3e2a27
--- /dev/null
+++ b/udev-lfs/gudev/up.png
Binary files differ
diff --git a/udev-lfs/makefile-incl.gudev b/udev-lfs/makefile-incl.gudev
index b560fcd6e..ec0e3982a 100644
--- a/udev-lfs/makefile-incl.gudev
+++ b/udev-lfs/makefile-incl.gudev
@@ -103,6 +103,6 @@ install-gudev: gudev
@ln -svfn $(LIBGUDEV_REAL_NAME) $(DESTDIR)/usr/lib/$(LIBGUDEV_SONAME)
@ln -svfn $(LIBGUDEV_REAL_NAME) $(DESTDIR)/usr/lib/$(LIBGUDEV_LINK_NAME)
- @cp -v build/gudev-1.0.pc $(DESTDIR)/usr/lib/pkgconfig
- @cp -v docs/gudev/html/* $(DESTDIR)/usr/share/gtk-doc/html/gudev
+ @cp -v build/gudev-1.0.pc $(DESTDIR)/usr/lib/pkgconfig
+ @cp -v udev-lfs-$(VERSION)/gudev/* $(DESTDIR)/usr/share/gtk-doc/html/gudev
diff --git a/udev-lfs/udev.7 b/udev-lfs/udev.7
new file mode 100644
index 000000000..1cdd926e3
--- /dev/null
+++ b/udev-lfs/udev.7
@@ -0,0 +1,476 @@
+'\" t
+.TH "UDEV" "7" "" "systemd 199" "udev"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+udev \- Linux dynamic device management
+.SH "DESCRIPTION"
+.PP
+udev supplies the system software with device events, manages permissions of device nodes and may create additional symlinks in the
+/dev
+directory, or renames network interfaces\&. The kernel usually just assigns unpredictable device names based on the order of discovery\&. Meaningful symlinks or network device names provide a way to reliably identify devices based on their properties or current configuration\&.
+.PP
+The udev daemon,
+\fBudevd\fR(8), receives device uevents directly from the kernel whenever a device is added or removed from the system, or it changes its state\&. When udev receives a device event, it matches its configured set of rules against various device attributes to identify the device\&. Rules that match may provide additional device information to be stored in the udev database or to be used to create meaningful symlink names\&.
+.PP
+All device information udev processes is stored in the udev database and sent out to possible event subscribers\&. Access to all stored data and the event sources is provided by the library libudev\&.
+.SH "RULES FILES"
+.PP
+The udev rules are read from the files located in the system rules directory
+/usr/lib/udev/rules\&.d, the volatile runtime directory
+/run/udev/rules\&.d
+and the local administration directory
+/etc/udev/rules\&.d\&. All rules files are collectively sorted and processed in lexical order, regardless of the directories in which they live\&. However, files with identical file names replace each other\&. Files in
+/etc
+have the highest priority, files in
+/run
+take precedence over files with the same name in
+/lib\&. This can be used to override a system\-supplied rules file with a local file if needed; a symlink in
+/etc
+with the same name as a rules file in
+/lib, pointing to
+/dev/null, disables the rules file entirely\&.
+.PP
+Rule files must have the extension
+\&.rules; other extensions are ignored\&.
+.PP
+Every line in the rules file contains at least one key\-value pair\&. Except for empty lines or lines beginning with \*(Aq#\*(Aq, which are ignored\&. There are two kinds of keys: match and assignment\&. If all match keys match against their values, the rule gets applied and the assignment keys get the specified values assigned\&.
+.PP
+A matching rule may rename a network interface, add symlinks pointing to the device node, or run a specified program as part of the event handling\&.
+.PP
+A rule consists of a comma\-separated list of one or more key\-value pairs\&. Each key has a distinct operation, depending on the used operator\&. Valid operators are:
+.PP
+==
+.RS 4
+Compare for equality\&.
+.RE
+.PP
+!=
+.RS 4
+Compare for inequality\&.
+.RE
+.PP
+=
+.RS 4
+Assign a value to a key\&. Keys that represent a list are reset and only this single value is assigned\&.
+.RE
+.PP
++=
+.RS 4
+Add the value to a key that holds a list of entries\&.
+.RE
+.PP
+:=
+.RS 4
+Assign a value to a key finally; disallow any later changes\&.
+.RE
+.PP
+The following key names can be used to match against device properties\&. Some of the keys also match against properties of the parent devices in sysfs, not only the device that has generated the event\&. If multiple keys that match a parent device are specified in a single rule, all these keys must match at one and the same parent device\&.
+.PP
+\fBACTION\fR
+.RS 4
+Match the name of the event action\&.
+.RE
+.PP
+\fBDEVPATH\fR
+.RS 4
+Match the devpath of the event device\&.
+.RE
+.PP
+\fBKERNEL\fR
+.RS 4
+Match the name of the event device\&.
+.RE
+.PP
+\fBNAME\fR
+.RS 4
+Match the name of a network interface\&. It can be used once the NAME key has been set in one of the preceding rules\&.
+.RE
+.PP
+\fBSYMLINK\fR
+.RS 4
+Match the name of a symlink targeting the node\&. It can be used once a SYMLINK key has been set in one of the preceding rules\&. There may be multiple symlinks; only one needs to match\&.
+.RE
+.PP
+\fBSUBSYSTEM\fR
+.RS 4
+Match the subsystem of the event device\&.
+.RE
+.PP
+\fBDRIVER\fR
+.RS 4
+Match the driver name of the event device\&. Only set this key for devices which are bound to a driver at the time the event is generated\&.
+.RE
+.PP
+\fBATTR{\fR\fB\fIfilename\fR\fR\fB}\fR
+.RS 4
+Match sysfs attribute values of the event device\&. Trailing whitespace in the attribute values is ignored unless the specified match value itself contains trailing whitespace\&.
+.RE
+.PP
+\fBKERNELS\fR
+.RS 4
+Search the devpath upwards for a matching device name\&.
+.RE
+.PP
+\fBSUBSYSTEMS\fR
+.RS 4
+Search the devpath upwards for a matching device subsystem name\&.
+.RE
+.PP
+\fBDRIVERS\fR
+.RS 4
+Search the devpath upwards for a matching device driver name\&.
+.RE
+.PP
+\fBATTRS{\fR\fB\fIfilename\fR\fR\fB}\fR
+.RS 4
+Search the devpath upwards for a device with matching sysfs attribute values\&. If multiple
+\fBATTRS\fR
+matches are specified, all of them must match on the same device\&. Trailing whitespace in the attribute values is ignored unless the specified match value itself contains trailing whitespace\&.
+.RE
+.PP
+\fBTAGS\fR
+.RS 4
+Search the devpath upwards for a device with matching tag\&.
+.RE
+.PP
+\fBENV{\fR\fB\fIkey\fR\fR\fB}\fR
+.RS 4
+Match against a device property value\&.
+.RE
+.PP
+\fBTAG\fR
+.RS 4
+Match against a device tag\&.
+.RE
+.PP
+\fBTEST{\fR\fB\fIoctal mode mask\fR\fR\fB}\fR
+.RS 4
+Test the existence of a file\&. An octal mode mask can be specified if needed\&.
+.RE
+.PP
+\fBPROGRAM\fR
+.RS 4
+Execute a program to determine whether there is a match; the key is true if the program returns successfully\&. The device properties are made available to the executed program in the environment\&. The program\*(Aqs stdout is available in the RESULT key\&.
+.sp
+This can only be used for very short\-running foreground tasks\&. For details see
+\fBRUN\fR\&.
+.RE
+.PP
+\fBRESULT\fR
+.RS 4
+Match the returned string of the last PROGRAM call\&. This key can be used in the same or in any later rule after a PROGRAM call\&.
+.RE
+.PP
+Most of the fields support shell\-style pattern matching\&. The following pattern characters are supported:
+.PP
+*
+.RS 4
+Matches zero or more characters\&.
+.RE
+.PP
+?
+.RS 4
+Matches any single character\&.
+.RE
+.PP
+[]
+.RS 4
+Matches any single character specified within the brackets\&. For example, the pattern string \*(Aqtty[SR]\*(Aq would match either \*(AqttyS\*(Aq or \*(AqttyR\*(Aq\&. Ranges are also supported via the \*(Aq\-\*(Aq character\&. For example, to match on the range of all digits, the pattern [0\-9] could be used\&. If the first character following the \*(Aq[\*(Aq is a \*(Aq!\*(Aq, any characters not enclosed are matched\&.
+.RE
+.PP
+The following keys can get values assigned:
+.PP
+\fBNAME\fR
+.RS 4
+The name to use for a network interface\&. The name of a device node cannot be changed by udev, only additional symlinks can be created\&.
+.RE
+.PP
+\fBSYMLINK\fR
+.RS 4
+The name of a symlink targeting the node\&. Every matching rule adds this value to the list of symlinks to be created\&.
+.sp
+The set of characters to name a symlink is limited\&. Allowed characters are [0\-9A\-Za\-z#+\-\&.:=@_/], valid utf8 character sequences, and "\ex00" hex encoding\&. All other characters are replaced by a \*(Aq_\*(Aq character\&.
+.sp
+Multiple symlinks may be specified by separating the names by the space character\&. In case multiple devices claim the same name, the link always points to the device with the highest link_priority\&. If the current device goes away, the links are re\-evaluated and the device with the next highest link_priority becomes the owner of the link\&. If no link_priority is specified, the order of the devices (and which one of them owns the link) is undefined\&.
+.sp
+Symlink names must never conflict with the kernel\*(Aqs default device node names, as that would result in unpredictable behavior\&.
+.RE
+.PP
+\fBOWNER\fR, \fBGROUP\fR, \fBMODE\fR
+.RS 4
+The permissions for the device node\&. Every specified value overrides the compiled\-in default value\&.
+.RE
+.PP
+\fBATTR{\fR\fB\fIkey\fR\fR\fB}\fR
+.RS 4
+The value that should be written to a sysfs attribute of the event device\&.
+.RE
+.PP
+\fBENV{\fR\fB\fIkey\fR\fR\fB}\fR
+.RS 4
+Set a device property value\&. Property names with a leading \*(Aq\&.\*(Aq are neither stored in the database nor exported to events or external tools (run by, say, the PROGRAM match key)\&.
+.RE
+.PP
+\fBTAG\fR
+.RS 4
+Attach a tag to a device\&. This is used to filter events for users of libudev\*(Aqs monitor functionality, or to enumerate a group of tagged devices\&. The implementation can only work efficiently if only a few tags are attached to a device\&. It is only meant to be used in contexts with specific device filter requirements, and not as a general\-purpose flag\&. Excessive use might result in inefficient event handling\&.
+.RE
+.PP
+\fBRUN{\fR\fB\fItype\fR\fR\fB}\fR
+.RS 4
+Add a program to the list of programs to be executed after processing all the rules for a specific event, depending on
+type:
+.PP
+program
+.RS 4
+Execute an external program specified as the assigned value\&. If no absolute path is given, the program is expected to live in /usr/lib/udev, otherwise the absolute path must be specified\&.
+.sp
+This is the default if no
+\fItype\fR
+is specified\&.
+.RE
+.PP
+builtin
+.RS 4
+As
+\fBprogram\fR, but use one of the built\-in programs rather than an external one\&.
+.RE
+.sp
+The program name and following arguments are separated by spaces\&. Single quotes can be used to specify arguments with spaces\&.
+.sp
+This can only be used for very short\-running foreground tasks\&. Running an event process for a long period of time may block all further events for this or a dependent device\&.
+.sp
+Starting daemons or other long running processes is not appropriate for udev; the forked processes, detached or not, will be unconditionally killed after the event handling has finished\&.
+.RE
+.PP
+\fBLABEL\fR
+.RS 4
+A named label to which a GOTO may jump\&.
+.RE
+.PP
+\fBGOTO\fR
+.RS 4
+Jumps to the next LABEL with a matching name\&.
+.RE
+.PP
+\fBIMPORT{\fR\fB\fItype\fR\fR\fB}\fR
+.RS 4
+Import a set of variables as device properties, depending on
+type:
+.PP
+program
+.RS 4
+Execute an external program specified as the assigned value and import its output, which must be in environment key format\&. Path specification, command/argument separation, and quoting work like in
+\fBRUN\fR\&.
+.RE
+.PP
+builtin
+.RS 4
+As
+\fBprogram\fR, but use one of the built\-in programs rather than an external one\&.
+.RE
+.PP
+file
+.RS 4
+Import a text file specified as the assigned value, the content of which must be in environment key format\&.
+.RE
+.PP
+db
+.RS 4
+Import a single property specified as the assigned value from the current device database\&. This works only if the database is already populated by an earlier event\&.
+.RE
+.PP
+cmdline
+.RS 4
+Import a single property from the kernel command line\&. For simple flags the value of the property is set to \*(Aq1\*(Aq\&.
+.RE
+.PP
+parent
+.RS 4
+Import the stored keys from the parent device by reading the database entry of the parent device\&. The value assigned to
+\fBIMPORT{parent}\fR
+is used as a filter of key names to import (with the same shell\-style pattern matching used for comparisons)\&.
+.RE
+.sp
+This can only be used for very short\-running foreground tasks\&. For details see
+\fBRUN\fR\&.
+.RE
+.PP
+\fBWAIT_FOR\fR
+.RS 4
+Wait for a file to become available or until a timeout of 10 seconds expires\&. The path is relative to the sysfs device; if no path is specified, this waits for an attribute to appear\&.
+.RE
+.PP
+\fBOPTIONS\fR
+.RS 4
+Rule and device options:
+.PP
+\fBlink_priority=\fR\fB\fIvalue\fR\fR
+.RS 4
+Specify the priority of the created symlinks\&. Devices with higher priorities overwrite existing symlinks of other devices\&. The default is 0\&.
+.RE
+.PP
+\fBevent_timeout=\fR
+.RS 4
+Number of seconds an event waits for operations to finish before giving up and terminating itself\&.
+.RE
+.PP
+\fBstring_escape=\fR\fB\fInone|replace\fR\fR
+.RS 4
+Usually control and other possibly unsafe characters are replaced in strings used for device naming\&. The mode of replacement can be specified with this option\&.
+.RE
+.PP
+\fBstatic_node=\fR
+.RS 4
+Apply the permissions specified in this rule to the static device node with the specified name\&. Static device node creation can be requested by kernel modules\&. These nodes might not have a corresponding kernel device at the time udevd is started; they can trigger automatic kernel module loading\&.
+.RE
+.PP
+\fBwatch\fR
+.RS 4
+Watch the device node with inotify; when the node is closed after being opened for writing, a change uevent is synthesized\&.
+.RE
+.PP
+\fBnowatch\fR
+.RS 4
+Disable the watching of a device node with inotify\&.
+.RE
+.RE
+.PP
+The
+\fBNAME\fR,
+\fBSYMLINK\fR,
+\fBPROGRAM\fR,
+\fBOWNER\fR,
+\fBGROUP\fR,
+\fBMODE\fR
+and
+\fBRUN\fR
+fields support simple string substitutions\&. The
+\fBRUN\fR
+substitutions are performed after all rules have been processed, right before the program is executed, allowing for the use of device properties set by earlier matching rules\&. For all other fields, substitutions are performed while the individual rule is being processed\&. The available substitutions are:
+.PP
+\fB$kernel\fR, \fB%k\fR
+.RS 4
+The kernel name for this device\&.
+.RE
+.PP
+\fB$number\fR, \fB%n\fR
+.RS 4
+The kernel number for this device\&. For example, \*(Aqsda3\*(Aq has kernel number of \*(Aq3\*(Aq
+.RE
+.PP
+\fB$devpath\fR, \fB%p\fR
+.RS 4
+The devpath of the device\&.
+.RE
+.PP
+\fB$id\fR, \fB%b\fR
+.RS 4
+The name of the device matched while searching the devpath upwards for
+\fBSUBSYSTEMS\fR,
+\fBKERNELS\fR,
+\fBDRIVERS\fR
+and
+\fBATTRS\fR\&.
+.RE
+.PP
+\fB$driver\fR
+.RS 4
+The driver name of the device matched while searching the devpath upwards for
+\fBSUBSYSTEMS\fR,
+\fBKERNELS\fR,
+\fBDRIVERS\fR
+and
+\fBATTRS\fR\&.
+.RE
+.PP
+\fB$attr{\fR\fB\fIfile\fR\fR\fB}\fR, \fB%s{\fR\fB\fIfile\fR\fR\fB}\fR
+.RS 4
+The value of a sysfs attribute found at the device where all keys of the rule have matched\&. If the matching device does not have such an attribute, and a previous KERNELS, SUBSYSTEMS, DRIVERS, or ATTRS test selected a parent device, then the attribute from that parent device is used\&.
+.sp
+If the attribute is a symlink, the last element of the symlink target is returned as the value\&.
+.RE
+.PP
+\fB$env{\fR\fB\fIkey\fR\fR\fB}\fR, \fB%E{\fR\fB\fIkey\fR\fR\fB}\fR
+.RS 4
+A device property value\&.
+.RE
+.PP
+\fB$major\fR, \fB%M\fR
+.RS 4
+The kernel major number for the device\&.
+.RE
+.PP
+\fB$minor\fR, \fB%m\fR
+.RS 4
+The kernel minor number for the device\&.
+.RE
+.PP
+\fB$result\fR, \fB%c\fR
+.RS 4
+The string returned by the external program requested with PROGRAM\&. A single part of the string, separated by a space character, may be selected by specifying the part number as an attribute:
+\fB%c{N}\fR\&. If the number is followed by the \*(Aq+\*(Aq character, this part plus all remaining parts of the result string are substituted:
+\fB%c{N+}\fR
+.RE
+.PP
+\fB$parent\fR, \fB%P\fR
+.RS 4
+The node name of the parent device\&.
+.RE
+.PP
+\fB$name\fR
+.RS 4
+The current name of the device\&. If not changed by a rule, it is the name of the kernel device\&.
+.RE
+.PP
+\fB$links\fR
+.RS 4
+A space\-separated list of the current symlinks\&. The value is only set during a remove event or if an earlier rule assigned a value\&.
+.RE
+.PP
+\fB$root\fR, \fB%r\fR
+.RS 4
+The udev_root value\&.
+.RE
+.PP
+\fB$sys\fR, \fB%S\fR
+.RS 4
+The sysfs mount point\&.
+.RE
+.PP
+\fB$devnode\fR, \fB%N\fR
+.RS 4
+The name of the device node\&.
+.RE
+.PP
+%%
+.RS 4
+The \*(Aq%\*(Aq character itself\&.
+.RE
+.PP
+$$
+.RS 4
+The \*(Aq$\*(Aq character itself\&.
+.RE
+.SH "SEE ALSO"
+.PP
+\fBudevd\fR(8),
+\fBudevadm\fR(8)
diff --git a/udev-lfs/udevadm.8 b/udev-lfs/udevadm.8
new file mode 100644
index 000000000..56b57801a
--- /dev/null
+++ b/udev-lfs/udevadm.8
@@ -0,0 +1,372 @@
+'\" t
+.TH "UDEVADM" "8" "" "systemd 199" "udevadm"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+udevadm \- udev management tool
+.SH "SYNOPSIS"
+.HP \w'\fBudevadm\fR\ 'u
+\fBudevadm\fR [\fB\-\-debug\fR] [\fB\-\-version\fR] [\fB\-\-help\fR]
+.HP \w'\fBudevadm\ info\ \fR\fB\fIoptions\fR\fR\ 'u
+\fBudevadm info \fR\fB\fIoptions\fR\fR
+.HP \w'\fBudevadm\ trigger\ \fR\fB[options]\fR\ 'u
+\fBudevadm trigger \fR\fB[options]\fR
+.HP \w'\fBudevadm\ settle\ \fR\fB[options]\fR\ 'u
+\fBudevadm settle \fR\fB[options]\fR
+.HP \w'\fBudevadm\ control\ \fR\fB\fIcommand\fR\fR\ 'u
+\fBudevadm control \fR\fB\fIcommand\fR\fR
+.HP \w'\fBudevadm\ monitor\ \fR\fB[options]\fR\ 'u
+\fBudevadm monitor \fR\fB[options]\fR
+.HP \w'\fBudevadm\ hwdb\ \fR\fB[options]\fR\ 'u
+\fBudevadm hwdb \fR\fB[options]\fR
+.HP \w'\fBudevadm\ test\ \fR\fB[options]\fR\fB\ \fR\fB\fIdevpath\fR\fR\ 'u
+\fBudevadm test \fR\fB[options]\fR\fB \fR\fB\fIdevpath\fR\fR
+.HP \w'\fBudevadm\ test\-builtin\ \fR\fB[options]\fR\fB\ \fR\fB\fIcommand\fR\fR\fB\ \fR\fB\fIdevpath\fR\fR\ 'u
+\fBudevadm test\-builtin \fR\fB[options]\fR\fB \fR\fB\fIcommand\fR\fR\fB \fR\fB\fIdevpath\fR\fR
+.SH "DESCRIPTION"
+.PP
+udevadm expects a command and command specific options\&. It controls the runtime behavior of udev, requests kernel events, manages the event queue, and provides simple debugging mechanisms\&.
+.SH "OPTIONS"
+.PP
+\fB\-\-debug\fR
+.RS 4
+Print debug messages to stderr\&.
+.RE
+.PP
+\fB\-\-version\fR
+.RS 4
+Print version number\&.
+.RE
+.PP
+\fB\-\-help\fR
+.RS 4
+Print help text\&.
+.RE
+.SS "udevadm info \fIoptions\fR"
+.PP
+Queries the udev database for device information stored in the udev database\&. It can also query the properties of a device from its sysfs representation to help creating udev rules that match this device\&.
+.PP
+\fB\-\-query=\fR\fB\fItype\fR\fR
+.RS 4
+Query the database for specified type of device data\&. It needs the
+\fB\-\-path\fR
+or
+\fB\-\-name\fR
+to identify the specified device\&. Valid queries are:
+\fBname\fR,
+\fBsymlink\fR,
+\fBpath\fR,
+\fBproperty\fR,
+\fBall\fR\&.
+.RE
+.PP
+\fB\-\-path=\fR\fB\fIdevpath\fR\fR
+.RS 4
+The devpath of the device to query\&.
+.RE
+.PP
+\fB\-\-name=\fR\fB\fIfile\fR\fR
+.RS 4
+The name of the device node or a symlink to query
+.RE
+.PP
+\fB\-\-root\fR
+.RS 4
+Print absolute paths in
+\fBname\fR
+or
+\fBsymlink\fR
+query\&.
+.RE
+.PP
+\fB\-\-attribute\-walk\fR
+.RS 4
+Print all sysfs properties of the specified device that can be used in udev rules to match the specified device\&. It prints all devices along the chain, up to the root of sysfs that can be used in udev rules\&.
+.RE
+.PP
+\fB\-\-export\fR
+.RS 4
+Print output as key/value pairs\&. Values are enclosed in single quotes\&.
+.RE
+.PP
+\fB\-\-export\-prefix=\fR\fB\fIname\fR\fR
+.RS 4
+Add a prefix to the key name of exported values\&.
+.RE
+.PP
+\fB\-\-device\-id\-of\-file=\fR\fB\fIfile\fR\fR
+.RS 4
+Print major/minor numbers of the underlying device, where the file lives on\&.
+.RE
+.PP
+\fB\-\-export\-db\fR
+.RS 4
+Export the content of the udev database\&.
+.RE
+.PP
+\fB\-\-cleanup\-db\fR
+.RS 4
+Cleanup the udev database\&.
+.RE
+.PP
+\fB\-\-version\fR
+.RS 4
+Print version\&.
+.RE
+.PP
+\fB\-\-help\fR
+.RS 4
+Print help text\&.
+.RE
+.SS "udevadm trigger [options]"
+.PP
+Request device events from the kernel\&. Primarily used to replay events at system coldplug time\&.
+.PP
+\fB\-\-verbose\fR
+.RS 4
+Print the list of devices which will be triggered\&.
+.RE
+.PP
+\fB\-\-dry\-run\fR
+.RS 4
+Do not actually trigger the event\&.
+.RE
+.PP
+\fB\-\-type=\fR\fB\fItype\fR\fR
+.RS 4
+Trigger a specific type of devices\&. Valid types are:
+\fBdevices\fR,
+\fBsubsystems\fR\&. The default value is
+\fBdevices\fR\&.
+.RE
+.PP
+\fB\-\-action=\fR\fB\fIaction\fR\fR
+.RS 4
+Type of event to be triggered\&. The default value is
+\fBchange\fR\&.
+.RE
+.PP
+\fB\-\-subsystem\-match=\fR\fB\fIsubsystem\fR\fR
+.RS 4
+Trigger events for devices which belong to a matching subsystem\&. This option can be specified multiple times and supports shell style pattern matching\&.
+.RE
+.PP
+\fB\-\-subsystem\-nomatch=\fR\fB\fIsubsystem\fR\fR
+.RS 4
+Do not trigger events for devices which belong to a matching subsystem\&. This option can be specified multiple times and supports shell style pattern matching\&.
+.RE
+.PP
+\fB\-\-attr\-match=\fR\fB\fIattribute\fR\fR\fB=\fR\fB\fIvalue\fR\fR
+.RS 4
+Trigger events for devices with a matching sysfs attribute\&. If a value is specified along with the attribute name, the content of the attribute is matched against the given value using shell style pattern matching\&. If no value is specified, the existence of the sysfs attribute is checked\&. This option can be specified multiple times\&.
+.RE
+.PP
+\fB\-\-attr\-nomatch=\fR\fB\fIattribute\fR\fR\fB=\fR\fB\fIvalue\fR\fR
+.RS 4
+Do not trigger events for devices with a matching sysfs attribute\&. If a value is specified along with the attribute name, the content of the attribute is matched against the given value using shell style pattern matching\&. If no value is specified, the existence of the sysfs attribute is checked\&. This option can be specified multiple times\&.
+.RE
+.PP
+\fB\-\-property\-match=\fR\fB\fIproperty\fR\fR\fB=\fR\fB\fIvalue\fR\fR
+.RS 4
+Trigger events for devices with a matching property value\&. This option can be specified multiple times and supports shell style pattern matching\&.
+.RE
+.PP
+\fB\-\-tag\-match=\fR\fB\fIproperty\fR\fR
+.RS 4
+Trigger events for devices with a matching tag\&. This option can be specified multiple times\&.
+.RE
+.PP
+\fB\-\-sysname\-match=\fR\fB\fIname\fR\fR
+.RS 4
+Trigger events for devices with a matching sys device name\&. This option can be specified multiple times and supports shell style pattern matching\&.
+.RE
+.PP
+\fB\-\-parent\-match=\fR\fB\fIsyspath\fR\fR
+.RS 4
+Trigger events for all children of a given device\&.
+.RE
+.SS "udevadm settle [options]"
+.PP
+Watches the udev event queue, and exits if all current events are handled\&.
+.PP
+\fB\-\-timeout=\fR\fB\fIseconds\fR\fR
+.RS 4
+Maximum number of seconds to wait for the event queue to become empty\&. The default value is 120 seconds\&. A value of 0 will check if the queue is empty and always return immediately\&.
+.RE
+.PP
+\fB\-\-seq\-start=\fR\fB\fIseqnum\fR\fR
+.RS 4
+Wait only for events after the given sequence number\&.
+.RE
+.PP
+\fB\-\-seq\-end=\fR\fB\fIseqnum\fR\fR
+.RS 4
+Wait only for events before the given sequence number\&.
+.RE
+.PP
+\fB\-\-exit\-if\-exists=\fR\fB\fIfile\fR\fR
+.RS 4
+Stop waiting if file exists\&.
+.RE
+.PP
+\fB\-\-quiet\fR
+.RS 4
+Do not print any output, like the remaining queue entries when reaching the timeout\&.
+.RE
+.PP
+\fB\-\-help\fR
+.RS 4
+Print help text\&.
+.RE
+.SS "udevadm control \fIcommand\fR"
+.PP
+Modify the internal state of the running udev daemon\&.
+.PP
+\fB\-\-exit\fR
+.RS 4
+Signal and wait for udevd to exit\&.
+.RE
+.PP
+\fB\-\-log\-priority=\fR\fB\fIvalue\fR\fR
+.RS 4
+Set the internal log level of udevd\&. Valid values are the numerical syslog priorities or their textual representations:
+\fBerr\fR,
+\fBinfo\fR
+and
+\fBdebug\fR\&.
+.RE
+.PP
+\fB\-\-stop\-exec\-queue\fR
+.RS 4
+Signal udevd to stop executing new events\&. Incoming events will be queued\&.
+.RE
+.PP
+\fB\-\-start\-exec\-queue\fR
+.RS 4
+Signal udevd to enable the execution of events\&.
+.RE
+.PP
+\fB\-\-reload\fR
+.RS 4
+Signal udevd to reload the rules files and other databases like the kernel module index\&. Reloading rules and databases does not apply any changes to already existing devices; the new configuration will only be applied to new events\&.
+.RE
+.PP
+\fB\-\-property=\fR\fB\fIKEY\fR\fR\fB=\fR\fB\fIvalue\fR\fR
+.RS 4
+Set a global property for all events\&.
+.RE
+.PP
+\fB\-\-children\-max=\fR\fIvalue\fR
+.RS 4
+Set the maximum number of events, udevd will handle at the same time\&.
+.RE
+.PP
+\fB\-\-timeout=\fR\fIseconds\fR
+.RS 4
+The maximum number of seconds to wait for a reply from udevd\&.
+.RE
+.PP
+\fB\-\-help\fR
+.RS 4
+Print help text\&.
+.RE
+.SS "udevadm monitor [options]"
+.PP
+Listens to the kernel uevents and events sent out by a udev rule and prints the devpath of the event to the console\&. It can be used to analyze the event timing, by comparing the timestamps of the kernel uevent and the udev event\&.
+.PP
+\fB\-\-kernel\fR
+.RS 4
+Print the kernel uevents\&.
+.RE
+.PP
+\fB\-\-udev\fR
+.RS 4
+Print the udev event after the rule processing\&.
+.RE
+.PP
+\fB\-\-property\fR
+.RS 4
+Also print the properties of the event\&.
+.RE
+.PP
+\fB\-\-subsystem\-match=\fR\fB\fIstring[/string]\fR\fR
+.RS 4
+Filter events by subsystem[/devtype]\&. Only udev events with a matching subsystem value will pass\&.
+.RE
+.PP
+\fB\-\-tag\-match=\fR\fB\fIstring\fR\fR
+.RS 4
+Filter events by property\&. Only udev events with a given tag attached will pass\&.
+.RE
+.PP
+\fB\-\-help\fR
+.RS 4
+Print help text\&.
+.RE
+.SS "udevadm hwdb [options]"
+.PP
+Maintain the hardware database index in
+/etc/udev/hwdb\&.bin\&.
+.PP
+\fB\-\-update\fR
+.RS 4
+Compile the hardware database information located in /usr/lib/udev/hwdb\&.d/, /etc/udev/hwdb\&.d/ and store it in
+/etc/udev/hwdb\&.bin\&. This should be done after any update to the source files; it will not be called automatically\&. The running udev daemon will detect a new database on its own and does not need to be notified about it\&.
+.RE
+.PP
+\fB\-\-test=\fR\fB\fIstring\fR\fR
+.RS 4
+Query the database with a modalias string, and print the retrieved properties\&.
+.RE
+.PP
+\fB\-\-root=\fR\fB\fIstring\fR\fR
+.RS 4
+Alternative root path in the filesystem for reading and writing files\&.
+.RE
+.SS "udevadm test [options] \fIdevpath\fR"
+.PP
+Simulate a udev event run for the given device, and print debug output\&.
+.PP
+\fB\-\-action=\fR\fB\fIstring\fR\fR
+.RS 4
+The action string\&.
+.RE
+.PP
+\fB\-\-subsystem=\fR\fB\fIstring\fR\fR
+.RS 4
+The subsystem string\&.
+.RE
+.PP
+\fB\-\-help\fR
+.RS 4
+Print help text\&.
+.RE
+.SS "udevadm test\-builtin [options] \fIcommand\fR \fIdevpath\fR"
+.PP
+Run a built\-in command for the given device, and print debug output\&.
+.PP
+\fB\-\-help\fR
+.RS 4
+Print help text\&.
+.RE
+.SH "SEE ALSO"
+.PP
+\fBudev\fR(7)
+\fBudevd.service\fR(8)
diff --git a/udev-lfs/udevd.8 b/udev-lfs/udevd.8
index 12010da8e..94d93dcc1 100644
--- a/udev-lfs/udevd.8
+++ b/udev-lfs/udevd.8
@@ -1,16 +1,5 @@
-.\" Title: systemd-udevd.service
-.\" Author: Kay Sievers <kay@vrfy.org>
-.\" Generator: DocBook XSL Stylesheets v1.77.1 <http://docbook.sf.net/>
-.\" Date: 07/20/2012
-.\" Manual: systemd-udevd.service
-.\" Source: systemd
-.\" Language: English
-.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-.\" Manually updated for udev only for LFS by BRuce Dubbs
-.\" <bdubbs@linuxfromscratch.org>
-.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-.\"
-.TH "UDEVD" "8" "" "systemd (LFS modified man page)" "udevd"
+'\" t
+.TH "SYSTEMD\-UDEVD\&.SERVICE" "8" "" "systemd 199" "udevd"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -33,12 +22,12 @@
.SH "NAME"
udevd \- Device event managing daemon
.SH "SYNOPSIS"
-.PP
.HP \w'\fB/usr/lib/udevd\fR\ 'u
-\fB/lib/udev/udevd\fR [\fB\-\-daemon\fR] [\fB\-\-debug\fR] [\fB\-\-children\-max=\fR] [\fB\-\-exec\-delay=\fR] \ [\fB\-\-resolve\-names=early|late|never\fR] [\fB\-\-version\fR] [\fB\-\-help\fR]
+\fB/lib/udev/udevd\fR [\fB\-\-daemon\fR] [\fB\-\-debug\fR] [\fB\-\-children\-max=\fR] [\fB\-\-exec\-delay=\fR] [\fB\-\-resolve\-names=early|late|never\fR] [\fB\-\-version\fR] [\fB\-\-help\fR]
.SH "DESCRIPTION"
.PP
-udevd listens to kernel uevents\&. For every event, udevd executes matching instructions specified in udev rules\&. See
+\fBudevd\fR
+listens to kernel uevents\&. For every event, udevd executes matching instructions specified in udev rules\&. See
\fBudev\fR(7)\&.
.PP
The behavior of the running daemon can be changed with
@@ -57,12 +46,12 @@ Print debug messages to stderr\&.
.PP
\fB\-\-children\-max=\fR
.RS 4
-Limit the number of parallel executed events\&.
+Limit the number of events executed in parallel\&.
.RE
.PP
\fB\-\-exec\-delay=\fR
.RS 4
-Number of seconds to delay the execution of RUN instructions\&. This might be useful when debugging system crashes during coldplug cause by loading non\-working kernel modules\&.
+Delay the execution of RUN instruction by the given number of seconds\&. This option might be useful when debugging system crashes during coldplug caused by loading non\-working kernel modules\&.
.RE
.PP
\fB\-\-resolve\-names=\fR
@@ -87,13 +76,15 @@ Print help text\&.
.RE
.SH "ENVIRONMENT"
.PP
-\fIUDEV_LOG=\fR
+\fI$UDEV_LOG=\fR
.RS 4
Set the logging priority\&.
.RE
.SH "KERNEL COMMAND LINE"
.PP
-The parameters starting with "rd\&.", will be read when udev is used in an initrd\&.
+Parameters starting with "rd\&." will be read when
+\fBudevd\fR
+is used in an initrd\&.
.PP
\fIudev\&.log\-priority=\fR, \fIrd\&.udev\&.log\-priority=\fR
.RS 4
@@ -102,12 +93,30 @@ Set the logging priority\&.
.PP
\fIudev\&.children\-max=\fR, \fIrd\&.udev\&.children\-max=\fR
.RS 4
-Limit the number of parallel executed events\&.
+Limit the number of events executed in parallel\&.
.RE
.PP
\fIudev\&.exec\-delay=\fR, \fIrd\&.udev\&.exec\-delay=\fR
.RS 4
-Number of seconds to delay the execution of RUN instructions\&. This might be useful when debugging system crashes during coldplug cause by loading non\-working kernel modules\&.
+Delay the execution of RUN instruction by the given number of seconds\&. This option might be useful when debugging system crashes during coldplug caused by loading non\-working kernel modules\&.
+.RE
+.PP
+\fInet\&.ifnames=\fR
+.RS 4
+Network interfaces are renamed to give them predictable names when possible\&. It is enabled by default, specifying 0 disables it\&.
+.RE
+.SH "CONFIGURATION FILE"
+.PP
+udev expects its main configuration file at
+/etc/udev/udev\&.conf\&. It consists of a set of variables allowing the user to override default udev values\&. All empty lines or lines beginning with \*(Aq#\*(Aq are ignored\&. The following variables can be set:
+.PP
+\fIudev_log\fR
+.RS 4
+The logging priority\&. Valid values are the numerical syslog priorities or their textual representations:
+\fBerr\fR,
+\fBinfo\fR
+and
+\fBdebug\fR\&.
.RE
.SH "SEE ALSO"
.PP