hal: Branch 'master'

Rob Taylor robtaylor at kemper.freedesktop.org
Thu Jan 11 14:32:58 PST 2007


 doc/spec/hal-spec-properties.xml |   12 
 doc/spec/hal-spec.html           | 1049 +++++++++++++--------------------------
 hald/dummy/osspec.c              |    1 
 hald/linux/blockdev.c            |    1 
 hald/linux/device.c              |   22 
 hald/linux/osspec.c              |    5 
 6 files changed, 364 insertions(+), 726 deletions(-)

New commits:
diff-tree e6d942a65d9e0fdebf6367b1f874742066bce73b (from de7ada8fd2a5675554d6723b9145afa4e719e8a0)
Author: Rob Taylor <rob.taylor at collabora.co.uk>
Date:   Thu Jan 11 23:30:21 2007 +0200

    Remove linux.sysfs_path_device key
    
    linux.sysfs_path_device is no longer needed internally in HAL.
    Removing without going through deprectation process as this key was documen
    as only used internally and not guaranteed to exist, so noone should be usi
    it.
    Also fixes problems with mmc and scsi devices getting incorrectly parented in
    the device tree.

diff --git a/doc/spec/hal-spec-properties.xml b/doc/spec/hal-spec-properties.xml
index a3a5de1..c28e477 100644
--- a/doc/spec/hal-spec-properties.xml
+++ b/doc/spec/hal-spec-properties.xml
@@ -225,18 +225,6 @@
             </row>
             <row>
               <entry>
-                <literal>linux.sysfs_path_device</literal> (string)
-              </entry>
-              <entry></entry>
-              <entry>Yes (only if available for the device) </entry>
-              <entry>Normally this property assumes the same value as
-                linux.sysfs_path, however for some devices it assumes an
-                alternate location in the sysfs filesystem. It is used
-                internally in HAL
-              </entry>
-            </row>
-            <row>
-              <entry>
                 <literal>linux.acpi_path</literal> (string)
               </entry>
               <entry>example: /proc/acpi/button/power/PWRF, /proc/pmu/battery_0</entry>
diff --git a/doc/spec/hal-spec.html b/doc/spec/hal-spec.html
index efd911e..f926cbf 100644
--- a/doc/spec/hal-spec.html
+++ b/doc/spec/hal-spec.html
@@ -1,4 +1,4 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
 <HTML
 ><HEAD
 ><TITLE
@@ -49,9 +49,6 @@ HREF="mailto:david at fubar.dk"
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</P
 ></DIV
 ></DIV
-><SPAN
-CLASS="releaseinfo"
->Version 0.5.9<BR></SPAN
 ><HR></DIV
 ><DIV
 CLASS="TOC"
@@ -61,65 +58,65 @@ CLASS="TOC"
 >Table of Contents</B
 ></DT
 ><DT
-><A
+>1. <A
 HREF="#introduction"
 >Introduction</A
 ></DT
 ><DD
 ><DL
 ><DT
-><A
+>1.1. <A
 HREF="#AEN15"
 >About</A
 ></DT
 ><DT
-><A
+>1.2. <A
 HREF="#AEN24"
 >Acknowledgements</A
 ></DT
 ><DT
-><A
+>1.3. <A
 HREF="#ov_halarch"
 >Architecture of HAL</A
 ></DT
 ><DT
-><A
+>1.4. <A
 HREF="#ov_hal_linux26"
 >HAL on Linux 2.6</A
 ></DT
 ><DT
-><A
+>1.5. <A
 HREF="#AEN84"
 >Device Objects</A
 ></DT
 ><DT
-><A
+>1.6. <A
 HREF="#device-capabilities"
 >Device Capabilities</A
 ></DT
 ><DT
-><A
+>1.7. <A
 HREF="#using-devices"
 >Using devices</A
 ></DT
 ></DL
 ></DD
 ><DT
-><A
+>2. <A
 HREF="#device-properties"
 >Device Properties</A
 ></DT
 ><DD
 ><DL
 ><DT
-><A
+>2.1. <A
 HREF="#properties-metadata"
 >Metadata Properties</A
 ></DT
 ><DD
 ><DL
 ><DT
-><A
+>2.1.1. <A
 HREF="#device-properties-info"
 ><TT
 CLASS="literal"
@@ -127,7 +124,7 @@ CLASS="literal"
 > namespace</A
 ></DT
 ><DT
-><A
+>2.1.2. <A
 HREF="#device-properties-linux"
 ><TT
 CLASS="literal"
@@ -137,14 +134,14 @@ CLASS="literal"
 ></DL
 ></DD
 ><DT
-><A
+>2.2. <A
 HREF="#properties-bus"
 >Physical Properties</A
 ></DT
 ><DD
 ><DL
 ><DT
-><A
+>2.2.1. <A
 HREF="#device-properties-pci"
 ><TT
 CLASS="literal"
@@ -152,7 +149,7 @@ CLASS="literal"
 > namespace</A
 ></DT
 ><DT
-><A
+>2.2.2. <A
 HREF="#device-properties-serialif"
 ><TT
 CLASS="literal"
@@ -160,7 +157,7 @@ CLASS="literal"
 > namespace</A
 ></DT
 ><DT
-><A
+>2.2.3. <A
 HREF="#device-properties-usb"
 ><TT
 CLASS="literal"
@@ -168,7 +165,7 @@ CLASS="literal"
 > namespace</A
 ></DT
 ><DT
-><A
+>2.2.4. <A
 HREF="#device-properties-usbif"
 ><TT
 CLASS="literal"
@@ -176,7 +173,7 @@ CLASS="literal"
 > namespace</A
 ></DT
 ><DT
-><A
+>2.2.5. <A
 HREF="#device-properties-platform"
 ><TT
 CLASS="literal"
@@ -184,7 +181,7 @@ CLASS="literal"
 > namespace</A
 ></DT
 ><DT
-><A
+>2.2.6. <A
 HREF="#device-properties-ide-host"
 ><TT
 CLASS="literal"
@@ -192,7 +189,7 @@ CLASS="literal"
 > namespace</A
 ></DT
 ><DT
-><A
+>2.2.7. <A
 HREF="#device-properties-ide"
 ><TT
 CLASS="literal"
@@ -200,7 +197,7 @@ CLASS="literal"
 > namespace</A
 ></DT
 ><DT
-><A
+>2.2.8. <A
 HREF="#device-properties-scsi_host"
 ><TT
 CLASS="literal"
@@ -208,7 +205,7 @@ CLASS="literal"
 > namespace</A
 ></DT
 ><DT
-><A
+>2.2.9. <A
 HREF="#device-properties-scsi"
 ><TT
 CLASS="literal"
@@ -216,7 +213,7 @@ CLASS="literal"
 > namespace</A
 ></DT
 ><DT
-><A
+>2.2.10. <A
 HREF="#device-properties-ieee1394_host"
 ><TT
 CLASS="literal"
@@ -224,7 +221,7 @@ CLASS="literal"
 > namespace</A
 ></DT
 ><DT
-><A
+>2.2.11. <A
 HREF="#device-properties-ieee1394_node"
 ><TT
 CLASS="literal"
@@ -232,7 +229,7 @@ CLASS="literal"
 > namespace</A
 ></DT
 ><DT
-><A
+>2.2.12. <A
 HREF="#device-properties-ieee1394"
 ><TT
 CLASS="literal"
@@ -240,7 +237,7 @@ CLASS="literal"
 > namespace</A
 ></DT
 ><DT
-><A
+>2.2.13. <A
 HREF="#device-properties-mmc_host"
 ><TT
 CLASS="literal"
@@ -248,7 +245,7 @@ CLASS="literal"
 > namespace</A
 ></DT
 ><DT
-><A
+>2.2.14. <A
 HREF="#device-properties-mmc"
 ><TT
 CLASS="literal"
@@ -256,7 +253,7 @@ CLASS="literal"
 > namespace</A
 ></DT
 ><DT
-><A
+>2.2.15. <A
 HREF="#device-properties-ccw"
 ><TT
 CLASS="literal"
@@ -264,7 +261,7 @@ CLASS="literal"
 > namespace</A
 ></DT
 ><DT
-><A
+>2.2.16. <A
 HREF="#device-properties-ccwgroup"
 ><TT
 CLASS="literal"
@@ -272,7 +269,7 @@ CLASS="literal"
 > namespace</A
 ></DT
 ><DT
-><A
+>2.2.17. <A
 HREF="#device-properties-iucv"
 ><TT
 CLASS="literal"
@@ -280,7 +277,7 @@ CLASS="literal"
 > namespace</A
 ></DT
 ><DT
-><A
+>2.2.18. <A
 HREF="#device-properties-block"
 ><TT
 CLASS="literal"
@@ -288,7 +285,7 @@ CLASS="literal"
 > namespace</A
 ></DT
 ><DT
-><A
+>2.2.19. <A
 HREF="#device-properties-xen"
 ><TT
 CLASS="literal"
@@ -298,14 +295,14 @@ CLASS="literal"
 ></DL
 ></DD
 ><DT
-><A
+>2.3. <A
 HREF="#properties-functional"
 >Functional Properties</A
 ></DT
 ><DD
 ><DL
 ><DT
-><A
+>2.3.1. <A
 HREF="#device-properties-volume"
 ><TT
 CLASS="literal"
@@ -313,7 +310,7 @@ CLASS="literal"
 > namespace</A
 ></DT
 ><DT
-><A
+>2.3.2. <A
 HREF="#device-properties-kernel"
 ><TT
 CLASS="literal"
@@ -321,7 +318,7 @@ CLASS="literal"
 > namespace</A
 ></DT
 ><DT
-><A
+>2.3.3. <A
 HREF="#device-properties-volume-disc"
 ><TT
 CLASS="literal"
@@ -329,7 +326,7 @@ CLASS="literal"
 > namespace</A
 ></DT
 ><DT
-><A
+>2.3.4. <A
 HREF="#device-properties-storage"
 ><TT
 CLASS="literal"
@@ -337,7 +334,7 @@ CLASS="literal"
 > namespace</A
 ></DT
 ><DT
-><A
+>2.3.5. <A
 HREF="#device-properties-storage-cdrom"
 ><TT
 CLASS="literal"
@@ -345,7 +342,7 @@ CLASS="literal"
 > namespace</A
 ></DT
 ><DT
-><A
+>2.3.6. <A
 HREF="#device-properties-net"
 ><TT
 CLASS="literal"
@@ -353,7 +350,7 @@ CLASS="literal"
 > namespace</A
 ></DT
 ><DT
-><A
+>2.3.7. <A
 HREF="#device-properties-net-80203"
 ><TT
 CLASS="literal"
@@ -361,7 +358,7 @@ CLASS="literal"
 > namespace</A
 ></DT
 ><DT
-><A
+>2.3.8. <A
 HREF="#device-properties-net-80211"
 ><TT
 CLASS="literal"
@@ -369,7 +366,7 @@ CLASS="literal"
 > namespace</A
 ></DT
 ><DT
-><A
+>2.3.9. <A
 HREF="#device-properties-net-irda"
 ><TT
 CLASS="literal"
@@ -377,7 +374,7 @@ CLASS="literal"
 > namespace</A
 ></DT
 ><DT
-><A
+>2.3.10. <A
 HREF="#device-properties-net-80211control"
 ><TT
 CLASS="literal"
@@ -385,7 +382,7 @@ CLASS="literal"
 > namespace</A
 ></DT
 ><DT
-><A
+>2.3.11. <A
 HREF="#device-properties-input"
 ><TT
 CLASS="literal"
@@ -393,7 +390,7 @@ CLASS="literal"
 > namespace</A
 ></DT
 ><DT
-><A
+>2.3.12. <A
 HREF="#device-properties-pcmcia_socket"
 ><TT
 CLASS="literal"
@@ -401,7 +398,7 @@ CLASS="literal"
 ></A
 ></DT
 ><DT
-><A
+>2.3.13. <A
 HREF="#device-properties-printer"
 ><TT
 CLASS="literal"
@@ -409,7 +406,7 @@ CLASS="literal"
 > namespace</A
 ></DT
 ><DT
-><A
+>2.3.14. <A
 HREF="#device-properties-portable_audio_player"
 ><TT
 CLASS="literal"
@@ -417,7 +414,7 @@ CLASS="literal"
 > namespace</A
 ></DT
 ><DT
-><A
+>2.3.15. <A
 HREF="#device-properties-alsa"
 ><TT
 CLASS="literal"
@@ -425,7 +422,7 @@ CLASS="literal"
 > namespace</A
 ></DT
 ><DT
-><A
+>2.3.16. <A
 HREF="#device-properties-oss"
 ><TT
 CLASS="literal"
@@ -433,7 +430,7 @@ CLASS="literal"
 > namespace</A
 ></DT
 ><DT
-><A
+>2.3.17. <A
 HREF="#device-properties-camera"
 ><TT
 CLASS="literal"
@@ -441,7 +438,7 @@ CLASS="literal"
 > namespace</A
 ></DT
 ><DT
-><A
+>2.3.18. <A
 HREF="#device-properties-laptop-panel"
 ><TT
 CLASS="literal"
@@ -449,7 +446,7 @@ CLASS="literal"
 > namespace</A
 ></DT
 ><DT
-><A
+>2.3.19. <A
 HREF="#device-properties-ac_adaptor"
 ><TT
 CLASS="literal"
@@ -457,7 +454,7 @@ CLASS="literal"
 > namespace</A
 ></DT
 ><DT
-><A
+>2.3.20. <A
 HREF="#device-properties-battery"
 ><TT
 CLASS="literal"
@@ -465,7 +462,7 @@ CLASS="literal"
 > namespace</A
 ></DT
 ><DT
-><A
+>2.3.21. <A
 HREF="#device-properties-button"
 ><TT
 CLASS="literal"
@@ -473,7 +470,7 @@ CLASS="literal"
 > namespace</A
 ></DT
 ><DT
-><A
+>2.3.22. <A
 HREF="#device-properties-processor"
 ><TT
 CLASS="literal"
@@ -481,7 +478,7 @@ CLASS="literal"
 > namespace</A
 ></DT
 ><DT
-><A
+>2.3.23. <A
 HREF="#device-properties-display_device"
 ><TT
 CLASS="literal"
@@ -489,7 +486,7 @@ CLASS="literal"
 > namespace</A
 ></DT
 ><DT
-><A
+>2.3.24. <A
 HREF="#device-properties-sensor"
 ><TT
 CLASS="literal"
@@ -497,7 +494,7 @@ CLASS="literal"
 > namespace</A
 ></DT
 ><DT
-><A
+>2.3.25. <A
 HREF="#device-properties-power-management"
 ><TT
 CLASS="literal"
@@ -505,7 +502,7 @@ CLASS="literal"
 > namespace</A
 ></DT
 ><DT
-><A
+>2.3.26. <A
 HREF="#device-properties-tape"
 ><TT
 CLASS="literal"
@@ -515,14 +512,14 @@ CLASS="literal"
 ></DL
 ></DD
 ><DT
-><A
+>2.4. <A
 HREF="#properties-policy"
 >Policy Properties</A
 ></DT
 ><DD
 ><DL
 ><DT
-><A
+>2.4.1. <A
 HREF="#device-properties-storage-policy-default"
 ><TT
 CLASS="literal"
@@ -530,7 +527,7 @@ CLASS="literal"
 > namespace</A
 ></DT
 ><DT
-><A
+>2.4.2. <A
 HREF="#device-properties-storage-policy"
 ><TT
 CLASS="literal"
@@ -538,7 +535,7 @@ CLASS="literal"
 > namespace</A
 ></DT
 ><DT
-><A
+>2.4.3. <A
 HREF="#device-properties-volume-policy"
 ><TT
 CLASS="literal"
@@ -550,45 +547,45 @@ CLASS="literal"
 ></DL
 ></DD
 ><DT
-><A
+>3. <A
 HREF="#spec-device-info"
 >Device Information Files</A
 ></DT
 ><DD
 ><DL
 ><DT
-><A
+>3.1. <A
 HREF="#fdi-facts"
 >Facts about devices</A
 ></DT
 ><DD
 ><DL
 ><DT
-><A
+>3.1.1. <A
 HREF="#fdi-example-mp3player"
 >Example: MP3 player</A
 ></DT
 ><DT
-><A
+>3.1.2. <A
 HREF="#fdi-example-camera"
 >Example: Digital Still Camera</A
 ></DT
 ><DT
-><A
+>3.1.3. <A
 HREF="#fdi-example-6in1"
 >Example: Card Reader</A
 ></DT
 ></DL
 ></DD
 ><DT
-><A
+>3.2. <A
 HREF="#fdi-policy"
 >Policy settings for devices</A
 ></DT
 ><DD
 ><DL
 ><DT
-><A
+>3.2.1. <A
 HREF="#fdi-example-mountsetting"
 >Storage Devices</A
 ></DT
@@ -597,55 +594,55 @@ HREF="#fdi-example-mountsetting"
 ></DL
 ></DD
 ><DT
-><A
+>4. <A
 HREF="#examples"
 >Examples and other stuff</A
 ></DT
 ><DD
 ><DL
 ><DT
-><A
+>4.1. <A
 HREF="#callouts"
 >Callouts</A
 ></DT
 ><DT
-><A
+>4.2. <A
 HREF="#dbus-api"
 >D-BUS Network API</A
 ></DT
 ><DD
 ><DL
 ><DT
-><A
-HREF="#AEN4345"
+>4.2.1. <A
+HREF="#AEN4339"
 >Interface org.freedesktop.Hal.Manager</A
 ></DT
 ><DT
-><A
-HREF="#AEN4364"
+>4.2.2. <A
+HREF="#AEN4358"
 >Interface org.freedesktop.Hal.Device</A
 ></DT
 ><DT
-><A
-HREF="#AEN4373"
+>4.2.3. <A
+HREF="#AEN4367"
 >Interface org.freedesktop.Hal.Device.Volume</A
 ></DT
 ><DT
-><A
-HREF="#AEN4377"
+>4.2.4. <A
+HREF="#AEN4371"
 >Interface org.freedesktop.Hal.Device.Storage</A
 ></DT
 ></DL
 ></DD
 ><DT
-><A
+>4.3. <A
 HREF="#enforcing-policy"
 >Enforcing Policy</A
 ></DT
 ><DD
 ><DL
 ><DT
-><A
+>4.3.1. <A
 HREF="#enforcing-stor-vol"
 >Storage Devices</A
 ></DT
@@ -661,14 +658,14 @@ CLASS="chapter"
 ><A
 NAME="introduction"
 ></A
->Introduction</H1
+>Chapter 1. Introduction</H1
 ><DIV
 CLASS="sect1"
 ><H2
 CLASS="sect1"
 ><A
 NAME="AEN15"
->About</A
+>1.1. About</A
 ></H2
 ><P
 >&#13;      This document concerns the specification of HAL which is a
@@ -680,19 +677,28 @@ NAME="AEN15"
       policy.
     </P
 ><P
->&#13;      HAL represents a piece of hardware as a <I
+>&#13;      HAL represents a piece of hardware as a <SPAN
+CLASS="emphasis"
+><I
 CLASS="emphasis"
 >device object</I
+></SPAN
 >.
       A device object is identified by a unique identifer and carries a set of
-      key/value paris referred to as <I
+      key/value paris referred to as <SPAN
+CLASS="emphasis"
+><I
 CLASS="emphasis"
 >device properties</I
+></SPAN
 >.
       Some properties are derived from the actual hardware, some are merged
-      from <I
+      from <SPAN
+CLASS="emphasis"
+><I
 CLASS="emphasis"
 >device information files</I
+></SPAN
 >
       and some are related to the
       actual device configuration. This document specifies the set
@@ -726,7 +732,7 @@ CLASS="sect1"
 CLASS="sect1"
 ><A
 NAME="AEN24"
->Acknowledgements</A
+>1.2. Acknowledgements</A
 ></H2
 ><P
 >&#13;      Havoc Pennington's article
@@ -761,7 +767,7 @@ CLASS="sect1"
 CLASS="sect1"
 ><A
 NAME="ov_halarch"
->Architecture of HAL</A
+>1.3. Architecture of HAL</A
 ></H2
 ><P
 >&#13;      The HAL consists of a number of components as outlined in the
@@ -779,9 +785,12 @@ SRC="hal-arch.png">
 ><UL
 ><LI
 ><P
->&#13;            <I
+>&#13;            <SPAN
+CLASS="emphasis"
+><I
 CLASS="emphasis"
 >HAL daemon</I
+></SPAN
 >
           </P
 ><P
@@ -798,9 +807,12 @@ CLASS="emphasis"
 ></LI
 ><LI
 ><P
->&#13;            <I
+>&#13;            <SPAN
+CLASS="emphasis"
+><I
 CLASS="emphasis"
 >Applications</I
+></SPAN
 >
           </P
 ><P
@@ -833,9 +845,12 @@ CLASS="emphasis"
 ></LI
 ><LI
 ><P
->&#13;            <I
+>&#13;            <SPAN
+CLASS="emphasis"
+><I
 CLASS="emphasis"
 >Callouts</I
+></SPAN
 >
           </P
 ><P
@@ -860,11 +875,7 @@ CLASS="literal"
       easily access the services offered by HAL. The D-BUS API is
       detailed in <A
 HREF="#dbus-api"
->the Section called <I
->D-BUS Network API</I
-> in the Chapter called <I
->Examples and other stuff</I
-></A
+>Section 4.2</A
 >
       .
       Note that HAL doesn't
@@ -874,11 +885,7 @@ HREF="#dbus-api"
       environments, recommendations and best practises on how to
       enforce policy is discussed in <A
 HREF="#enforcing-policy"
->the Section called <I
->Enforcing Policy</I
-> in the Chapter called <I
->Examples and other stuff</I
-></A
+>Section 4.3</A
 >
       .
     </P
@@ -889,7 +896,7 @@ CLASS="sect1"
 CLASS="sect1"
 ><A
 NAME="ov_hal_linux26"
->HAL on Linux 2.6</A
+>1.4. HAL on Linux 2.6</A
 ></H2
 ><P
 >&#13;      On a Linux 2.6 system HAL is implemented as shown in the diagram
@@ -977,11 +984,7 @@ CLASS="literal"
             or use another setuid mount wrapper.
             See <A
 HREF="#enforcing-policy"
->the Section called <I
->Enforcing Policy</I
-> in the Chapter called <I
->Examples and other stuff</I
-></A
+>Section 4.3</A
 >
             for more details.
           </P
@@ -996,7 +999,7 @@ CLASS="sect1"
 CLASS="sect1"
 ><A
 NAME="AEN84"
->Device Objects</A
+>1.5. Device Objects</A
 ></H2
 ><P
 >&#13;      It is important to precisely define the term HAL device
@@ -1055,16 +1058,12 @@ CLASS="literal"
       checking the properties that export the USB vendor and product
       identifiers.  See <A
 HREF="#device-capabilities"
->the Section called <I
->Device Capabilities</I
-></A
+>Section 1.6</A
 >
       and
       <A
 HREF="#device-properties"
->the Chapter called <I
->Device Properties</I
-></A
+>Chapter 2</A
 >
       for details.
     </P
@@ -1076,9 +1075,12 @@ HREF="#device-properties"
 ><UL
 ><LI
 ><P
->&#13;          <I
+>&#13;          <SPAN
+CLASS="emphasis"
+><I
 CLASS="emphasis"
 >UDI</I
+></SPAN
 >
         </P
 ><P
@@ -1092,9 +1094,12 @@ CLASS="emphasis"
 ></LI
 ><LI
 ><P
->&#13;          <I
+>&#13;          <SPAN
+CLASS="emphasis"
+><I
 CLASS="emphasis"
 >Properties</I
+></SPAN
 >
         </P
 ><P
@@ -1209,15 +1214,16 @@ CLASS="literal"
       administrator can edit. This specification is concerned with
       precisely defining several properties; see <A
 HREF="#device-properties"
->the Chapter called <I
->Device Properties</I
-></A
+>Chapter 2</A
 >
       and onwards for more
       information.  As a complement to device properties, HAL also
-      provides <I
+      provides <SPAN
+CLASS="emphasis"
+><I
 CLASS="emphasis"
 >conditions</I
+></SPAN
 > on HAL device
       objects. Conditions are used to relay events that are
       happening on devices which are not easily expressed in
@@ -1261,7 +1267,7 @@ CLASS="sect1"
 CLASS="sect1"
 ><A
 NAME="device-capabilities"
->Device Capabilities</A
+>1.6. Device Capabilities</A
 ></H2
 ><P
 >&#13;      Mainstream hardware isn't very good at reporting what they are,
@@ -1285,20 +1291,29 @@ CLASS="literal"
 CLASS="literal"
 >info.capabilities</TT
 >. The former describes
-      <I
+      <SPAN
+CLASS="emphasis"
+><I
 CLASS="emphasis"
 >what the device is</I
+></SPAN
 > (as a single
       alphanumeric keyword) and the latter describes
-      <I
+      <SPAN
+CLASS="emphasis"
+><I
 CLASS="emphasis"
 >what the device does</I
+></SPAN
 > (as a number of
       alphanumeric keywords separated by whitespace). The keywords
       available for use is defined in this document; we'll refer to
-      them in following simply as <I
+      them in following simply as <SPAN
+CLASS="emphasis"
+><I
 CLASS="emphasis"
 >capabilities</I
+></SPAN
 >.
     </P
 ><P
@@ -1357,7 +1372,7 @@ CLASS="sect1"
 CLASS="sect1"
 ><A
 NAME="using-devices"
->Using devices</A
+>1.7. Using devices</A
 ></H2
 ><P
 >&#13;      While the HAL daemon provides generic operations that apply to
@@ -1403,7 +1418,7 @@ CLASS="chapter"
 ><A
 NAME="device-properties"
 ></A
->Device Properties</H1
+>Chapter 2. Device Properties</H1
 ><P
 >&#13;    Properties are arranged in a namespaces using ''.'' as a separator
     and are key/value pairs. The value may assume different types; currently
@@ -1417,7 +1432,7 @@ CLASS="sect1"
 CLASS="sect1"
 ><A
 NAME="properties-metadata"
->Metadata Properties</A
+>2.1. Metadata Properties</A
 ></H2
 ><P
 >&#13;      The section represents properties that aren't tied to either
@@ -1430,7 +1445,7 @@ CLASS="sect2"
 CLASS="sect2"
 ><A
 NAME="device-properties-info"
-><TT
+>2.1.1. <TT
 CLASS="literal"
 >info</TT
 > namespace</A
@@ -1452,11 +1467,8 @@ NAME="AEN178"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -1739,7 +1751,7 @@ CLASS="sect2"
 CLASS="sect2"
 ><A
 NAME="device-properties-linux"
-><TT
+>2.1.2. <TT
 CLASS="literal"
 >linux</TT
 > namespace</A
@@ -1757,11 +1769,8 @@ NAME="AEN289"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -1794,24 +1803,6 @@ CLASS="literal"
 ><TD
 >&#13;                <TT
 CLASS="literal"
->linux.sysfs_path_device</TT
-> (string)
-              </TD
-><TD
->&nbsp;</TD
-><TD
->Yes (only if available for the device) </TD
-><TD
->Normally this property assumes the same value as
-                linux.sysfs_path, however for some devices it assumes an
-                alternate location in the sysfs filesystem. It is used
-                internally in HAL
-              </TD
-></TR
-><TR
-><TD
->&#13;                <TT
-CLASS="literal"
 >linux.acpi_path</TT
 > (string)
               </TD
@@ -1883,7 +1874,7 @@ CLASS="sect1"
 CLASS="sect1"
 ><A
 NAME="properties-bus"
->Physical Properties</A
+>2.2. Physical Properties</A
 ></H2
 ><P
 >&#13;      In this section properties for device objects that represent
@@ -1904,7 +1895,7 @@ CLASS="sect2"
 CLASS="sect2"
 ><A
 NAME="device-properties-pci"
-><TT
+>2.2.1. <TT
 CLASS="literal"
 >pci</TT
 > namespace</A
@@ -1925,15 +1916,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN345"
+NAME="AEN339"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -2134,7 +2122,7 @@ CLASS="sect2"
 CLASS="sect2"
 ><A
 NAME="device-properties-serialif"
-><TT
+>2.2.2. <TT
 CLASS="literal"
 >serial</TT
 > namespace</A
@@ -2148,15 +2136,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN432"
+NAME="AEN426"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -2246,7 +2231,7 @@ CLASS="sect2"
 CLASS="sect2"
 ><A
 NAME="device-properties-usb"
-><TT
+>2.2.3. <TT
 CLASS="literal"
 >usb_device</TT
 > namespace</A
@@ -2269,15 +2254,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN473"
+NAME="AEN467"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -2656,7 +2638,7 @@ CLASS="sect2"
 CLASS="sect2"
 ><A
 NAME="device-properties-usbif"
-><TT
+>2.2.4. <TT
 CLASS="literal"
 >usb</TT
 > namespace</A
@@ -2690,15 +2672,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN636"
+NAME="AEN630"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -2797,7 +2776,7 @@ CLASS="sect2"
 CLASS="sect2"
 ><A
 NAME="device-properties-platform"
-><TT
+>2.2.5. <TT
 CLASS="literal"
 >platform</TT
 > namespace</A
@@ -2820,15 +2799,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN682"
+NAME="AEN676"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -2867,7 +2843,7 @@ CLASS="sect2"
 CLASS="sect2"
 ><A
 NAME="device-properties-ide-host"
-><TT
+>2.2.6. <TT
 CLASS="literal"
 >ide_host</TT
 > namespace</A
@@ -2893,15 +2869,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN704"
+NAME="AEN698"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -2958,7 +2931,7 @@ CLASS="sect2"
 CLASS="sect2"
 ><A
 NAME="device-properties-ide"
-><TT
+>2.2.7. <TT
 CLASS="literal"
 >ide</TT
 > namespace</A
@@ -2979,15 +2952,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN732"
+NAME="AEN726"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -3050,7 +3020,7 @@ CLASS="sect2"
 CLASS="sect2"
 ><A
 NAME="device-properties-scsi_host"
-><TT
+>2.2.8. <TT
 CLASS="literal"
 >scsi_host</TT
 > namespace</A
@@ -3076,15 +3046,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN762"
+NAME="AEN756"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -3123,7 +3090,7 @@ CLASS="sect2"
 CLASS="sect2"
 ><A
 NAME="device-properties-scsi"
-><TT
+>2.2.9. <TT
 CLASS="literal"
 >scsi</TT
 > namespace</A
@@ -3144,15 +3111,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN783"
+NAME="AEN777"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -3356,7 +3320,7 @@ CLASS="sect2"
 CLASS="sect2"
 ><A
 NAME="device-properties-ieee1394_host"
-><TT
+>2.2.10. <TT
 CLASS="literal"
 >ieee1394_host</TT
 > namespace</A
@@ -3378,15 +3342,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN880"
+NAME="AEN874"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -3481,7 +3442,7 @@ CLASS="sect2"
 CLASS="sect2"
 ><A
 NAME="device-properties-ieee1394_node"
-><TT
+>2.2.11. <TT
 CLASS="literal"
 >ieee1394_node</TT
 > namespace</A
@@ -3503,15 +3464,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN925"
+NAME="AEN919"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -3606,7 +3564,7 @@ CLASS="sect2"
 CLASS="sect2"
 ><A
 NAME="device-properties-ieee1394"
-><TT
+>2.2.12. <TT
 CLASS="literal"
 >ieee1394</TT
 > namespace</A
@@ -3627,15 +3585,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN970"
+NAME="AEN964"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -3674,7 +3629,7 @@ CLASS="sect2"
 CLASS="sect2"
 ><A
 NAME="device-properties-mmc_host"
-><TT
+>2.2.13. <TT
 CLASS="literal"
 >mmc_host</TT
 > namespace</A
@@ -3696,15 +3651,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN991"
+NAME="AEN985"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -3743,7 +3695,7 @@ CLASS="sect2"
 CLASS="sect2"
 ><A
 NAME="device-properties-mmc"
-><TT
+>2.2.14. <TT
 CLASS="literal"
 >mmc</TT
 > namespace</A
@@ -3765,15 +3717,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN1012"
+NAME="AEN1006"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -3926,7 +3875,7 @@ CLASS="sect2"
 CLASS="sect2"
 ><A
 NAME="device-properties-ccw"
-><TT
+>2.2.15. <TT
 CLASS="literal"
 >ccw</TT
 > namespace</A
@@ -3948,15 +3897,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN1081"
+NAME="AEN1075"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -4138,15 +4084,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN1155"
+NAME="AEN1149"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -4230,15 +4173,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN1187"
+NAME="AEN1181"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -4304,15 +4244,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN1212"
+NAME="AEN1206"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -4415,15 +4352,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN1251"
+NAME="AEN1245"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -4491,7 +4425,7 @@ CLASS="sect2"
 CLASS="sect2"
 ><A
 NAME="device-properties-ccwgroup"
-><TT
+>2.2.16. <TT
 CLASS="literal"
 >ccwgroup</TT
 > namespace</A
@@ -4515,15 +4449,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN1285"
+NAME="AEN1279"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -4587,15 +4518,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN1310"
+NAME="AEN1304"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -4872,15 +4800,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN1419"
+NAME="AEN1413"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -4958,15 +4883,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN1450"
+NAME="AEN1444"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -5044,15 +4966,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN1481"
+NAME="AEN1475"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -5179,7 +5098,7 @@ CLASS="sect2"
 CLASS="sect2"
 ><A
 NAME="device-properties-iucv"
-><TT
+>2.2.17. <TT
 CLASS="literal"
 >iucv</TT
 > namespace</A
@@ -5201,15 +5120,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN1541"
+NAME="AEN1535"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -5259,15 +5175,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN1560"
+NAME="AEN1554"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -5320,7 +5233,7 @@ CLASS="sect2"
 CLASS="sect2"
 ><A
 NAME="device-properties-block"
-><TT
+>2.2.18. <TT
 CLASS="literal"
 >block</TT
 > namespace</A
@@ -5345,15 +5258,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN1588"
+NAME="AEN1582"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -5498,7 +5408,7 @@ CLASS="sect2"
 CLASS="sect2"
 ><A
 NAME="device-properties-xen"
-><TT
+>2.2.19. <TT
 CLASS="literal"
 >xen</TT
 > namespace</A
@@ -5524,15 +5434,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN1644"
+NAME="AEN1638"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -5597,7 +5504,7 @@ CLASS="sect1"
 CLASS="sect1"
 ><A
 NAME="properties-functional"
->Functional Properties</A
+>2.3. Functional Properties</A
 ></H2
 ><P
 >&#13;      The section describe functional properties of device objects,
@@ -5614,7 +5521,7 @@ CLASS="sect2"
 CLASS="sect2"
 ><A
 NAME="device-properties-volume"
-><TT
+>2.3.1. <TT
 CLASS="literal"
 >volume</TT
 > namespace</A
@@ -5645,15 +5552,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN1682"
+NAME="AEN1676"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -6326,15 +6230,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN1935"
+NAME="AEN1929"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Condition Name</TH
@@ -6451,7 +6352,7 @@ CLASS="sect2"
 CLASS="sect2"
 ><A
 NAME="device-properties-kernel"
-><TT
+>2.3.2. <TT
 CLASS="literal"
 >system</TT
 > namespace</A
@@ -6466,15 +6367,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN1978"
+NAME="AEN1972"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -6618,7 +6516,7 @@ CLASS="sect2"
 CLASS="sect2"
 ><A
 NAME="device-properties-volume-disc"
-><TT
+>2.3.3. <TT
 CLASS="literal"
 >volume.disc</TT
 > namespace</A
@@ -6640,15 +6538,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN2036"
+NAME="AEN2030"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -6973,7 +6868,7 @@ CLASS="sect2"
 CLASS="sect2"
 ><A
 NAME="device-properties-storage"
-><TT
+>2.3.4. <TT
 CLASS="literal"
 >storage</TT
 > namespace</A
@@ -7022,15 +6917,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN2197"
+NAME="AEN2191"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -7460,11 +7352,7 @@ CLASS="literal"
 >.
                 See <A
 HREF="#fdi-example-6in1"
->the Section called <I
->Example: Card Reader</I
-> in the Chapter called <I
->Device Information Files</I
-></A
+>Section 3.1.3</A
 > for an example.
               </TD
 ></TR
@@ -7582,7 +7470,7 @@ CLASS="sect2"
 CLASS="sect2"
 ><A
 NAME="device-properties-storage-cdrom"
-><TT
+>2.3.5. <TT
 CLASS="literal"
 >storage.cdrom</TT
 > namespace</A
@@ -7609,15 +7497,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN2430"
+NAME="AEN2424"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -7922,7 +7807,7 @@ CLASS="sect2"
 CLASS="sect2"
 ><A
 NAME="device-properties-net"
-><TT
+>2.3.6. <TT
 CLASS="literal"
 >net</TT
 > namespace</A
@@ -7943,15 +7828,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN2564"
+NAME="AEN2558"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -8076,7 +7958,7 @@ CLASS="sect2"
 CLASS="sect2"
 ><A
 NAME="device-properties-net-80203"
-><TT
+>2.3.7. <TT
 CLASS="literal"
 >net.80203</TT
 > namespace</A
@@ -8103,15 +7985,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN2622"
+NAME="AEN2616"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -8212,7 +8091,7 @@ CLASS="sect2"
 CLASS="sect2"
 ><A
 NAME="device-properties-net-80211"
-><TT
+>2.3.8. <TT
 CLASS="literal"
 >net.80211</TT
 > namespace</A
@@ -8239,15 +8118,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN2664"
+NAME="AEN2658"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -8292,7 +8168,7 @@ CLASS="sect2"
 CLASS="sect2"
 ><A
 NAME="device-properties-net-irda"
-><TT
+>2.3.9. <TT
 CLASS="literal"
 >net.irda</TT
 > namespace</A
@@ -8322,7 +8198,7 @@ CLASS="sect2"
 CLASS="sect2"
 ><A
 NAME="device-properties-net-80211control"
-><TT
+>2.3.10. <TT
 CLASS="literal"
 >net.80211control</TT
 > namespace</A
@@ -8354,7 +8230,7 @@ CLASS="sect2"
 CLASS="sect2"
 ><A
 NAME="device-properties-input"
-><TT
+>2.3.11. <TT
 CLASS="literal"
 >input</TT
 > namespace</A
@@ -8373,15 +8249,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN2702"
+NAME="AEN2696"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -8420,7 +8293,7 @@ CLASS="sect2"
 CLASS="sect2"
 ><A
 NAME="device-properties-pcmcia_socket"
-><TT
+>2.3.12. <TT
 CLASS="literal"
 >pcmcia_socket namespace</TT
 ></A
@@ -8439,15 +8312,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN2722"
+NAME="AEN2716"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -8486,7 +8356,7 @@ CLASS="sect2"
 CLASS="sect2"
 ><A
 NAME="device-properties-printer"
-><TT
+>2.3.13. <TT
 CLASS="literal"
 >printer</TT
 > namespace</A
@@ -8503,15 +8373,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN2742"
+NAME="AEN2736"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -8620,7 +8487,7 @@ CLASS="sect2"
 CLASS="sect2"
 ><A
 NAME="device-properties-portable_audio_player"
-><TT
+>2.3.14. <TT
 CLASS="literal"
 >portable_audio_player</TT
 > namespace</A
@@ -8647,15 +8514,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN2792"
+NAME="AEN2786"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -8845,7 +8709,7 @@ CLASS="sect2"
 CLASS="sect2"
 ><A
 NAME="device-properties-alsa"
-><TT
+>2.3.15. <TT
 CLASS="literal"
 >alsa</TT
 > namespace</A
@@ -8862,15 +8726,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN2864"
+NAME="AEN2858"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -9218,7 +9079,7 @@ CLASS="sect2"
 CLASS="sect2"
 ><A
 NAME="device-properties-oss"
-><TT
+>2.3.16. <TT
 CLASS="literal"
 >oss</TT
 > namespace</A
@@ -9241,15 +9102,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN3008"
+NAME="AEN3002"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -9466,7 +9324,7 @@ CLASS="sect2"
 CLASS="sect2"
 ><A
 NAME="device-properties-camera"
-><TT
+>2.3.17. <TT
 CLASS="literal"
 >camera</TT
 > namespace</A
@@ -9493,15 +9351,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN3097"
+NAME="AEN3091"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -9597,7 +9452,7 @@ CLASS="sect2"
 CLASS="sect2"
 ><A
 NAME="device-properties-laptop-panel"
-><TT
+>2.3.18. <TT
 CLASS="literal"
 >laptop_panel</TT
 > namespace</A
@@ -9614,15 +9469,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN3139"
+NAME="AEN3133"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -9702,15 +9554,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN3168"
+NAME="AEN3162"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Method (parameter types)</TH
@@ -9781,7 +9630,7 @@ CLASS="sect2"
 CLASS="sect2"
 ><A
 NAME="device-properties-ac_adaptor"
-><TT
+>2.3.19. <TT
 CLASS="literal"
 >ac_adaptor</TT
 > namespace</A
@@ -9798,15 +9647,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN3196"
+NAME="AEN3190"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -9847,7 +9693,7 @@ CLASS="sect2"
 CLASS="sect2"
 ><A
 NAME="device-properties-battery"
-><TT
+>2.3.20. <TT
 CLASS="literal"
 >battery</TT
 > namespace</A
@@ -9865,15 +9711,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN3216"
+NAME="AEN3210"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -10789,7 +10632,7 @@ CLASS="sect2"
 CLASS="sect2"
 ><A
 NAME="device-properties-button"
-><TT
+>2.3.21. <TT
 CLASS="literal"
 >button</TT
 > namespace</A
@@ -10806,15 +10649,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN3541"
+NAME="AEN3535"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -10921,15 +10761,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN3585"
+NAME="AEN3579"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Condition Name</TH
@@ -10972,7 +10809,7 @@ CLASS="sect2"
 CLASS="sect2"
 ><A
 NAME="device-properties-processor"
-><TT
+>2.3.22. <TT
 CLASS="literal"
 >processor</TT
 > namespace</A
@@ -10989,15 +10826,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN3606"
+NAME="AEN3600"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -11067,7 +10901,7 @@ CLASS="sect2"
 CLASS="sect2"
 ><A
 NAME="device-properties-display_device"
-><TT
+>2.3.23. <TT
 CLASS="literal"
 >display_device</TT
 > namespace</A
@@ -11084,15 +10918,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN3638"
+NAME="AEN3632"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -11179,7 +11010,7 @@ CLASS="sect2"
 CLASS="sect2"
 ><A
 NAME="device-properties-sensor"
-><TT
+>2.3.24. <TT
 CLASS="literal"
 >sensor</TT
 > namespace</A
@@ -11196,15 +11027,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN3680"
+NAME="AEN3674"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -11317,7 +11145,7 @@ CLASS="sect2"
 CLASS="sect2"
 ><A
 NAME="device-properties-power-management"
-><TT
+>2.3.25. <TT
 CLASS="literal"
 >power_management</TT
 > namespace</A
@@ -11335,15 +11163,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN3736"
+NAME="AEN3730"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -11600,15 +11425,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN3834"
+NAME="AEN3828"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Method (parameter types)</TH
@@ -11676,15 +11498,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN3857"
+NAME="AEN3851"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Method (parameter types)</TH
@@ -11840,15 +11659,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN3910"
+NAME="AEN3904"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Error</TH
@@ -11942,7 +11758,7 @@ CLASS="sect2"
 CLASS="sect2"
 ><A
 NAME="device-properties-tape"
-><TT
+>2.3.26. <TT
 CLASS="literal"
 >tape</TT
 > namespace</A
@@ -11959,15 +11775,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN3948"
+NAME="AEN3942"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -12021,7 +11834,7 @@ CLASS="sect1"
 CLASS="sect1"
 ><A
 NAME="properties-policy"
->Policy Properties</A
+>2.4. Policy Properties</A
 ></H2
 ><P
 >&#13;      The properties on a hal device object can be used to express
@@ -12037,7 +11850,7 @@ CLASS="sect2"
 CLASS="sect2"
 ><A
 NAME="device-properties-storage-policy-default"
-><TT
+>2.4.1. <TT
 CLASS="literal"
 >storage.policy.default</TT
 > namespace</A
@@ -12052,15 +11865,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN3976"
+NAME="AEN3970"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -12085,11 +11895,14 @@ CLASS="literal"
 ><TD
 >No</TD
 ><TD
->&#13;                Whether to use a <I
+>&#13;                Whether to use a <SPAN
+CLASS="emphasis"
+><I
 CLASS="emphasis"
 >managed no
                   operation
                 </I
+></SPAN
 >
                 keyword when adding entries to
                 the File Systems file (<TT
@@ -12205,7 +12018,7 @@ CLASS="sect2"
 CLASS="sect2"
 ><A
 NAME="device-properties-storage-policy"
-><TT
+>2.4.2. <TT
 CLASS="literal"
 >storage.policy</TT
 > namespace</A
@@ -12220,15 +12033,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN4028"
+NAME="AEN4022"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -12340,7 +12150,7 @@ CLASS="sect2"
 CLASS="sect2"
 ><A
 NAME="device-properties-volume-policy"
-><TT
+>2.4.3. <TT
 CLASS="literal"
 >volume.policy</TT
 > namespace</A
@@ -12355,15 +12165,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN4069"
+NAME="AEN4063"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -12457,7 +12264,7 @@ CLASS="chapter"
 ><A
 NAME="spec-device-info"
 ></A
->Device Information Files</H1
+>Chapter 3. Device Information Files</H1
 ><P
 >&#13;    Device information files (<TT
 CLASS="literal"
@@ -12983,7 +12790,7 @@ CLASS="sect1"
 CLASS="sect1"
 ><A
 NAME="fdi-facts"
->Facts about devices</A
+>3.1. Facts about devices</A
 ></H2
 ><DIV
 CLASS="sect2"
@@ -12991,14 +12798,8 @@ CLASS="sect2"
 CLASS="sect2"
 ><A
 NAME="fdi-example-mp3player"
->Example: MP3 player</A
+>3.1.1. Example: MP3 player</A
 ></H3
-><TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
 ><PRE
 CLASS="programlisting"
 >&#13;        &#60;?xml version="1.0" encoding="UTF-8"?&#62;
@@ -13022,9 +12823,6 @@ CLASS="programlisting"
   &#60;/device&#62;
 &#60;/deviceinfo&#62;
       </PRE
-></TD
-></TR
-></TABLE
 ><P
 >&#13;        The final set of properties look like this:
       </P
@@ -13039,14 +12837,8 @@ CLASS="sect2"
 CLASS="sect2"
 ><A
 NAME="fdi-example-camera"
->Example: Digital Still Camera</A
+>3.1.2. Example: Digital Still Camera</A
 ></H3
-><TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
 ><PRE
 CLASS="programlisting"
 >&#13;        &#60;?xml version="1.0" encoding="UTF-8"?&#62;
@@ -13068,9 +12860,6 @@ CLASS="programlisting"
   &#60;/device&#62;
 &#60;/deviceinfo&#62;
       </PRE
-></TD
-></TR
-></TABLE
 ><P
 >&#13;        The final set of properties look like this:
       </P
@@ -13085,14 +12874,8 @@ CLASS="sect2"
 CLASS="sect2"
 ><A
 NAME="fdi-example-6in1"
->Example: Card Reader</A
+>3.1.3. Example: Card Reader</A
 ></H3
-><TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
 ><PRE
 CLASS="programlisting"
 >&#13;        &#60;?xml version="1.0" encoding="UTF-8"?&#62;
@@ -13123,9 +12906,6 @@ CLASS="programlisting"
   &#60;/device&#62;
 &#60;/deviceinfo&#62;
       </PRE
-></TD
-></TR
-></TABLE
 ><P
 >&#13;        As described in the documentation for the
         <TT
@@ -13134,14 +12914,7 @@ CLASS="literal"
 > property in
         <A
 HREF="#device-properties-storage"
->the Section called <I
-><TT
-CLASS="literal"
->storage</TT
-> namespace</I
-> in the Chapter called <I
->Device Properties</I
-></A
+>Section 2.3.4</A
 > this device information
         file export information about each storage port through the
         property <TT
@@ -13167,7 +12940,7 @@ CLASS="sect1"
 CLASS="sect1"
 ><A
 NAME="fdi-policy"
->Policy settings for devices</A
+>3.2. Policy settings for devices</A
 ></H2
 ><P
 >&#13;      Policy settings specifies system specific settings that a
@@ -13182,7 +12955,7 @@ CLASS="sect2"
 CLASS="sect2"
 ><A
 NAME="fdi-example-mountsetting"
->Storage Devices</A
+>3.2.1. Storage Devices</A
 ></H3
 ><P
 >&#13;        Policy for storage devices is expressed in the
@@ -13200,20 +12973,10 @@ CLASS="literal"
 > namespaces, see
         <A
 HREF="#properties-policy"
->the Section called <I
->Policy Properties</I
-> in the Chapter called <I
->Device Properties</I
-></A
+>Section 2.4</A
 >
          for details.
       </P
-><TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
 ><PRE
 CLASS="programlisting"
 >&#13;        &#60;?xml version="1.0" encoding="UTF-8"?&#62;
@@ -13258,9 +13021,6 @@ CLASS="programlisting"
 
 &#60;/deviceinfo&#62;
       </PRE
-></TD
-></TR
-></TABLE
 ></DIV
 ></DIV
 ></DIV
@@ -13270,14 +13030,14 @@ CLASS="chapter"
 ><A
 NAME="examples"
 ></A
->Examples and other stuff</H1
+>Chapter 4. Examples and other stuff</H1
 ><DIV
 CLASS="sect1"
 ><H2
 CLASS="sect1"
 ><A
 NAME="callouts"
->Callouts</A
+>4.1. Callouts</A
 ></H2
 ><P
 >&#13;      Callouts are programs invoked when the device object list is
@@ -13300,15 +13060,12 @@ CLASS="informaltable"
 ><P
 ></P
 ><A
-NAME="AEN4303"
+NAME="AEN4297"
 ></A
 ><TABLE
 BORDER="1"
-BGCOLOR="#E0E0E0"
-CELLSPACING="0"
-CELLPADDING="4"
 CLASS="CALSTABLE"
-><THEAD
+><COL><COL><THEAD
 ><TR
 ><TH
 >Key (type)</TH
@@ -13429,7 +13186,7 @@ CLASS="sect1"
 CLASS="sect1"
 ><A
 NAME="dbus-api"
->D-BUS Network API</A
+>4.2. D-BUS Network API</A
 ></H2
 ><P
 >&#13;      The HAL daemon is a system-wide process that keeps track of a
@@ -13442,11 +13199,7 @@ NAME="dbus-api"
       a camera device, is outside the scope of the HAL daemon; see
       <A
 HREF="#using-devices"
->the Section called <I
->Using devices</I
-> in the Chapter called <I
->Introduction</I
-></A
+>Section 1.7</A
 >
        for more information.
     </P
@@ -13463,8 +13216,8 @@ CLASS="sect2"
 ><HR><H3
 CLASS="sect2"
 ><A
-NAME="AEN4345"
->Interface org.freedesktop.Hal.Manager</A
+NAME="AEN4339"
+>4.2.1. Interface org.freedesktop.Hal.Manager</A
 ></H3
 ><P
 >&#13;        Using D-BUS terminology, the HAL daemon provides the D-BUS
@@ -13484,12 +13237,6 @@ CLASS="literal"
 >, for
         querying device objects with the following methods:
       </P
-><TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
 ><PRE
 CLASS="programlisting"
 >&#13;# Return a list of all devices in the GDL
@@ -13518,9 +13265,6 @@ array{string} FindDeviceStringMatch(stri
 #
 array{string} FindDeviceByCapability(string capability)
       </PRE
-></TD
-></TR
-></TABLE
 ><P
 >&#13;        This object also emits the following signals on the
         <TT
@@ -13533,12 +13277,6 @@ CLASS="literal"
 > interface that
         applications can subscribe to using D-BUS:
       </P
-><TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
 ><PRE
 CLASS="programlisting"
 >&#13;# Notification that a new device have been added to the GDL
@@ -13559,26 +13297,17 @@ void DeviceRemoved(string udi)
 #
 void NewCapability(string udi, string capability)
       </PRE
-></TD
-></TR
-></TABLE
 ><DIV
 CLASS="sect3"
 ><HR><H4
 CLASS="sect3"
 ><A
-NAME="AEN4356"
->Example</A
+NAME="AEN4350"
+>4.2.1.1. Example</A
 ></H4
 ><P
 >&#13;          The following brief Python program demonstrates some of the API
         </P
-><TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
 ><PRE
 CLASS="programlisting"
 >&#13;          #!/usr/bin/python
@@ -13614,18 +13343,9 @@ bus.add_signal_receiver (device_removed,
 			 '/org/freedesktop/Hal/Manager')
 gtk.main()
         </PRE
-></TD
-></TR
-></TABLE
 ><P
 >&#13;          which gives the following output
         </P
-><TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
 ><PRE
 CLASS="programlisting"
 >&#13;Found device /org/freedesktop/Hal/devices/block_TORiSAN DVD-ROM DRD-U624-00000000000000000001-disc
@@ -13662,9 +13382,6 @@ Device /org/freedesktop/Hal/devices/usbi
 Device /org/freedesktop/Hal/devices/usb_46d_c001_410_-1_noserial was removed
 Device /org/freedesktop/Hal/devices/usbif_usb_46d_c001_410_-1_noserial_0 was removed
         </PRE
-></TD
-></TR
-></TABLE
 ><P
 >&#13;        </P
 ></DIV
@@ -13674,8 +13391,8 @@ CLASS="sect2"
 ><HR><H3
 CLASS="sect2"
 ><A
-NAME="AEN4364"
->Interface org.freedesktop.Hal.Device</A
+NAME="AEN4358"
+>4.2.2. Interface org.freedesktop.Hal.Device</A
 ></H3
 ><P
 >&#13;        Applications use
@@ -13693,12 +13410,6 @@ CLASS="literal"
         object denoted by the UDI. This interface has the following
         methods
       </P
-><TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
 ><PRE
 CLASS="programlisting"
 >&#13;# Set property
@@ -13780,20 +13491,11 @@ void Lock(string reason)
 #
 void Unlock()
       </PRE
-></TD
-></TR
-></TABLE
 ><P
 >&#13;        The device objects also emits the following signals on the
         org.freedesktop.Hal interface that applications can subscribe to
         using D-BUS
       </P
-><TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
 ><PRE
 CLASS="programlisting"
 >&#13;# Notification that property have been modified
@@ -13812,9 +13514,6 @@ void PropertyModified(string key, bool a
 # @param  ...                   Dependent on the condition name
 void Condition(string condition, ...)
       </PRE
-></TD
-></TR
-></TABLE
 ><P
 >&#13;        Note that D-BUS supports that applications can opt to receive
         signals for only a subset of the devices available.
@@ -13825,19 +13524,13 @@ CLASS="sect2"
 ><HR><H3
 CLASS="sect2"
 ><A
-NAME="AEN4373"
->Interface org.freedesktop.Hal.Device.Volume</A
+NAME="AEN4367"
+>4.2.3. Interface org.freedesktop.Hal.Device.Volume</A
 ></H3
 ><P
 >&#13;        The org.freedesktop.Hal.Device.Volume interface is used on objects
         with the "volume" capability. This interface has the following methods.
       </P
-><TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
 ><PRE
 CLASS="programlisting"
 >&#13;# Mount volume
@@ -13876,28 +13569,19 @@ void Unmount(array{string} options)
 #
 void Eject(array{string} options)
       </PRE
-></TD
-></TR
-></TABLE
 ></DIV
 ><DIV
 CLASS="sect2"
 ><HR><H3
 CLASS="sect2"
 ><A
-NAME="AEN4377"
->Interface org.freedesktop.Hal.Device.Storage</A
+NAME="AEN4371"
+>4.2.4. Interface org.freedesktop.Hal.Device.Storage</A
 ></H3
 ><P
 >&#13;        The org.freedesktop.Hal.Device.Storage interface is used on objects
         with the "storage" capability. This interface has the following methods.
       </P
-><TABLE
-BORDER="0"
-BGCOLOR="#E0E0E0"
-WIDTH="100%"
-><TR
-><TD
 ><PRE
 CLASS="programlisting"
 >&#13;# Eject media
@@ -13919,9 +13603,6 @@ void Eject(array{string} options)
 #
 void CloseTray(array{string} options)
       </PRE
-></TD
-></TR
-></TABLE
 ></DIV
 ></DIV
 ><DIV
@@ -13930,7 +13611,7 @@ CLASS="sect1"
 CLASS="sect1"
 ><A
 NAME="enforcing-policy"
->Enforcing Policy</A
+>4.3. Enforcing Policy</A
 ></H2
 ><P
 >&#13;      Notwithstanding the fact that HAL avoids to enforce any policy,
@@ -13945,7 +13626,7 @@ CLASS="sect2"
 CLASS="sect2"
 ><A
 NAME="enforcing-stor-vol"
->Storage Devices</A
+>4.3.1. Storage Devices</A
 ></H3
 ><DIV
 CLASS="sect3"
@@ -13953,7 +13634,7 @@ CLASS="sect3"
 CLASS="sect3"
 ><A
 NAME="stor-vol-policy"
->Policy for Volumes and Storage devices</A
+>4.3.1.1. Policy for Volumes and Storage devices</A
 ></H4
 ><P
 >&#13;          The properties in the <TT
@@ -13971,11 +13652,7 @@ CLASS="literal"
           be the preferred way to determine how and if a filesystem
           can be mounted. See <A
 HREF="#properties-policy"
->the Section called <I
->Policy Properties</I
-> in the Chapter called <I
->Device Properties</I
-></A
+>Section 2.4</A
 >
           for details.
         </P
@@ -13986,7 +13663,7 @@ CLASS="sect3"
 CLASS="sect3"
 ><A
 NAME="enforcing-storage-fstab"
->File systems file</A
+>4.3.1.2. File systems file</A
 ></H4
 ><P
 >&#13;          An operating system vendor should maintain the
@@ -14005,9 +13682,7 @@ CLASS="literal"
           a corresponding entry if applicable cf.
           <A
 HREF="#stor-vol-policy"
->the Section called <I
->Policy for Volumes and Storage devices</I
-></A
+>Section 4.3.1.1</A
 >
           .
         </P
@@ -14039,7 +13714,7 @@ CLASS="sect3"
 CLASS="sect3"
 ><A
 NAME="enforcing-storage-locking"
->Disabling policy agents</A
+>4.3.1.3. Disabling policy agents</A
 ></H4
 ><P
 >&#13;          Policy agents like volume mounters should ignore when media
diff --git a/hald/dummy/osspec.c b/hald/dummy/osspec.c
index 4d010f7..af7b326 100644
--- a/hald/dummy/osspec.c
+++ b/hald/dummy/osspec.c
@@ -61,7 +61,6 @@ osspec_probe (void)
 
 	root = hal_device_new ();
 	hal_device_property_set_string (root, "info.bus", "unknown");
-	hal_device_property_set_string (root, "linux.sysfs_path_device", "(none)");
 	hal_device_property_set_string (root, "info.product", "Computer");
 	hal_device_property_set_string (root, "info.udi", "/org/freedesktop/Hal/devices/computer");
 	hal_device_set_udi (root, "/org/freedesktop/Hal/devices/computer");
diff --git a/hald/linux/blockdev.c b/hald/linux/blockdev.c
index 0925698..52c6071 100644
--- a/hald/linux/blockdev.c
+++ b/hald/linux/blockdev.c
@@ -722,7 +722,6 @@ hotplug_event_begin_add_blockdev (const 
 	}
 
 	hal_device_property_set_string (d, "linux.sysfs_path", sysfs_path);
-	hal_device_property_set_string (d, "linux.sysfs_path_device", sysfs_path);
 	hal_device_property_set_string (d, "info.parent", hal_device_get_udi (parent));
 	hal_device_property_set_int (d, "linux.hotplug_type", HOTPLUG_EVENT_SYSFS_BLOCK);
 
diff --git a/hald/linux/device.c b/hald/linux/device.c
index 97c6b62..7508958 100644
--- a/hald/linux/device.c
+++ b/hald/linux/device.c
@@ -333,7 +333,6 @@ scsi_host_add (const gchar *sysfs_path, 
 
 	d = hal_device_new ();
 	hal_device_property_set_string (d, "linux.sysfs_path", sysfs_path);
-	hal_device_property_set_string (d, "linux.sysfs_path_device", parent_path);
 	
 	hal_device_property_set_string (d, "info.parent", hal_device_get_udi (parent_dev));
 
@@ -383,7 +382,6 @@ usbclass_add (const gchar *sysfs_path, c
 
 		d = hal_device_new ();
 		hal_device_property_set_string (d, "linux.sysfs_path", sysfs_path);
-		hal_device_property_set_string (d, "linux.sysfs_path_device", parent_path);
 		hal_device_property_set_string (d, "info.parent", hal_device_get_udi (parent_dev));
 
 		hal_device_property_set_string (d, "info.category", "hiddev");
@@ -396,7 +394,6 @@ usbclass_add (const gchar *sysfs_path, c
 
 		d = hal_device_new ();
 		hal_device_property_set_string (d, "linux.sysfs_path", sysfs_path);
-		hal_device_property_set_string (d, "linux.sysfs_path_device", parent_path);
 		hal_device_property_set_string (d, "info.parent", hal_device_get_udi (parent_dev));
 
 		hal_device_property_set_string (d, "info.category", "printer");
@@ -1006,7 +1003,6 @@ mmc_host_add (const gchar *sysfs_path, c
 
 	d = hal_device_new ();
 	hal_device_property_set_string (d, "linux.sysfs_path", sysfs_path);
-	hal_device_property_set_string (d, "linux.sysfs_path_device", parent_path);
 
 	hal_device_property_set_string (d, "info.parent", hal_device_get_udi (parent_dev));
 
@@ -1044,7 +1040,6 @@ pci_add (const gchar *sysfs_path, const 
 
 	d = hal_device_new ();
 	hal_device_property_set_string (d, "linux.sysfs_path", sysfs_path);
-	hal_device_property_set_string (d, "linux.sysfs_path_device", sysfs_path);
 	hal_device_property_set_string (d, "info.bus", "pci");
 	if (parent_dev != NULL) {
 		hal_device_property_set_string (d, "info.parent", hal_device_get_udi (parent_dev));
@@ -1209,7 +1204,6 @@ usb_add (const gchar *sysfs_path, const 
 
 	d = hal_device_new ();
 	hal_device_property_set_string (d, "linux.sysfs_path", sysfs_path);
-	hal_device_property_set_string (d, "linux.sysfs_path_device", sysfs_path);
 	if (parent_dev != NULL) {
 		hal_device_property_set_string (d, "info.parent", hal_device_get_udi (parent_dev));
 	}
@@ -1359,7 +1353,6 @@ ide_add (const gchar *sysfs_path, const 
 
 	d = hal_device_new ();
 	hal_device_property_set_string (d, "linux.sysfs_path", sysfs_path);
-	hal_device_property_set_string (d, "linux.sysfs_path_device", sysfs_path);
 	hal_device_property_set_string (d, "info.bus", "ide");
 	if (parent_dev != NULL) {
 		hal_device_property_set_string (d, "info.parent", hal_device_get_udi (parent_dev));
@@ -1410,7 +1403,6 @@ pnp_add (const gchar *sysfs_path, const 
 
 	d = hal_device_new ();
 	hal_device_property_set_string (d, "linux.sysfs_path", sysfs_path);
-	hal_device_property_set_string (d, "linux.sysfs_path_device", sysfs_path);
 	hal_device_property_set_string (d, "info.bus", "pnp");
 	if (parent_dev != NULL) {
 		hal_device_property_set_string (d, "info.parent", hal_device_get_udi (parent_dev));
@@ -1466,7 +1458,6 @@ platform_add (const gchar *sysfs_path, c
 
 	d = hal_device_new ();
 	hal_device_property_set_string (d, "linux.sysfs_path", sysfs_path);
-	hal_device_property_set_string (d, "linux.sysfs_path_device", sysfs_path);
 	hal_device_property_set_string (d, "info.bus", "platform");
 	if (parent_dev != NULL) {
 		hal_device_property_set_string (d, "info.parent", hal_device_get_udi (parent_dev));
@@ -1511,7 +1502,6 @@ serio_add (const gchar *sysfs_path, cons
 
 	d = hal_device_new ();
 	hal_device_property_set_string (d, "linux.sysfs_path", sysfs_path);
-	hal_device_property_set_string (d, "linux.sysfs_path_device", sysfs_path);
 	hal_device_property_set_string (d, "info.bus", "serio");
 	if (parent_dev != NULL) {
 		hal_device_property_set_string (d, "info.parent", hal_device_get_udi (parent_dev));
@@ -1559,7 +1549,6 @@ pcmcia_add (const gchar *sysfs_path, con
 
 	d = hal_device_new ();
 	hal_device_property_set_string (d, "linux.sysfs_path", sysfs_path);
-	hal_device_property_set_string (d, "linux.sysfs_path_device", sysfs_path);
 	hal_device_property_set_string (d, "info.bus", "pcmcia");
 	if (parent_dev != NULL) {
 		hal_device_property_set_string (d, "info.parent", hal_device_get_udi (parent_dev));
@@ -1640,7 +1629,6 @@ scsi_add (const gchar *sysfs_path, const
 
 	d = hal_device_new ();
 	hal_device_property_set_string (d, "linux.sysfs_path", sysfs_path);
-	hal_device_property_set_string (d, "linux.sysfs_path_device", sysfs_path);
 	hal_device_property_set_string (d, "info.bus", "scsi");
 	hal_device_property_set_string (d, "info.parent", hal_device_get_udi (parent_dev));
 
@@ -1734,7 +1722,6 @@ mmc_add (const gchar *sysfs_path, const 
 
 	d = hal_device_new ();
 	hal_device_property_set_string (d, "linux.sysfs_path", sysfs_path);
-	hal_device_property_set_string (d, "linux.sysfs_path_device", sysfs_path);
 	hal_device_property_set_string (d, "info.bus", "mmc");
 	hal_device_property_set_string (d, "info.parent", hal_device_get_udi (parent_dev));
 
@@ -1809,7 +1796,6 @@ xen_add (const gchar *sysfs_path, const 
 
 	d = hal_device_new ();
 	hal_device_property_set_string (d, "linux.sysfs_path", sysfs_path);
-	hal_device_property_set_string (d, "linux.sysfs_path_device", sysfs_path);
 	hal_device_property_set_string (d, "info.bus", "xen");
 	if (parent_dev != NULL) {
 		hal_device_property_set_string (d, "info.parent", hal_device_get_udi (parent_dev));
@@ -1887,7 +1873,6 @@ ieee1394_add (const gchar *sysfs_path, c
 
 	d = hal_device_new ();
 	hal_device_property_set_string (d, "linux.sysfs_path", sysfs_path);
-	hal_device_property_set_string (d, "linux.sysfs_path_device", sysfs_path);
 	hal_device_property_set_string (d, "info.bus", "ieee1394");
 	hal_device_property_set_string (d, "info.parent", hal_device_get_udi (parent_dev));
 
@@ -2024,8 +2009,6 @@ ccw_add (const gchar *sysfs_path, const 
 
 	d = hal_device_new ();
 	hal_device_property_set_string (d, "linux.sysfs_path", sysfs_path);
-	hal_device_property_set_string (d, "linux.sysfs_path_device",
-					sysfs_path);
 	hal_device_property_set_string (d, "info.bus", "ccw");
 	if (parent_dev != NULL)
                 hal_device_property_set_string (d, "info.parent", hal_device_get_udi (parent_dev));
@@ -2196,8 +2179,6 @@ ccwgroup_add (const gchar *sysfs_path, c
 
 	d = hal_device_new ();
 	hal_device_property_set_string (d, "linux.sysfs_path", sysfs_path);
-	hal_device_property_set_string (d, "linux.sysfs_path_device",
-					sysfs_path);
 	hal_device_property_set_string (d, "info.bus", "ccwgroup");
 	if (parent_dev != NULL)
                 hal_device_property_set_string (d, "info.parent", hal_device_get_udi (parent_dev));
@@ -2263,8 +2244,6 @@ iucv_add (const gchar *sysfs_path, const
 
 	d = hal_device_new ();
 	hal_device_property_set_string (d, "linux.sysfs_path", sysfs_path);
-	hal_device_property_set_string (d, "linux.sysfs_path_device",
-					sysfs_path);
 	hal_device_property_set_string (d, "info.bus", "iucv");
 	if (parent_dev != NULL)
                 hal_device_property_set_string (d, "info.parent", hal_device_get_udi (parent_dev));
@@ -2348,7 +2327,6 @@ pseudo_add (const gchar *sysfs_path, con
 
 	d = hal_device_new ();
 	hal_device_property_set_string (d, "linux.sysfs_path", sysfs_path);
-	hal_device_property_set_string (d, "linux.sysfs_path_device", sysfs_path);
 	hal_device_property_set_string (d, "info.bus", "pseudo");
 	if (parent_dev != NULL) {
 		hal_device_property_set_string (d, "info.parent", hal_device_get_udi (parent_dev));
diff --git a/hald/linux/osspec.c b/hald/linux/osspec.c
index a09debe..12047e0 100644
--- a/hald/linux/osspec.c
+++ b/hald/linux/osspec.c
@@ -581,7 +581,6 @@ osspec_probe (void)
 
 	root = hal_device_new ();
 	hal_device_property_set_string (root, "info.bus", "unknown");
-	hal_device_property_set_string (root, "linux.sysfs_path_device", "(none)");
 	hal_device_property_set_string (root, "info.product", "Computer");
 	hal_device_property_set_string (root, "info.udi", "/org/freedesktop/Hal/devices/computer");
 	hal_device_set_udi (root, "/org/freedesktop/Hal/devices/computer");
@@ -711,7 +710,7 @@ hal_util_find_known_parent (const gchar 
 			break;
 
 		parent_dev = hal_device_store_match_key_value_string (hald_get_gdl (),
-								      "linux.sysfs_path_device",
+								      "linux.sysfs_path",
 								      parent_devpath);
 		if (parent_dev != NULL)
 			goto out;
@@ -726,7 +725,7 @@ hal_util_find_known_parent (const gchar 
 
 		while (TRUE) {
 			parent_dev = hal_device_store_match_key_value_string (hald_get_gdl (),
-									      "linux.sysfs_path_device",
+									      "linux.sysfs_path",
 									      parent_devpath);
 			if (parent_dev != NULL)
 				goto out;


More information about the hal-commit mailing list