source: archive/hal.xml@ fa91d2e

11.0 qt5new trunk
Last change on this file since fa91d2e was 45ab6c7, checked in by Xi Ruoyao <xry111@…>, 5 months ago

more SVN prop clean up

Remove "$LastChanged$" everywhere, and also some unused $Date$

  • Property mode set to 100644
File size: 24.4 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY hal-download-http "http://hal.freedesktop.org/releases/hal-&hal-version;.tar.bz2">
8 <!ENTITY hal-download-ftp " ">
9 <!ENTITY hal-md5sum "c627d8fb0f9afff94f3c687b5216bc06">
10 <!ENTITY hal-size "924 KB">
11 <!ENTITY hal-buildsize "25 MB">
12 <!ENTITY hal-time "0.5 SBU">
13
14 <!ENTITY hal-info-version "20091130">
15 <!ENTITY hal-info-download-http "http://hal.freedesktop.org/releases/hal-info-&hal-info-version;.tar.bz2">
16 <!ENTITY hal-info-download-ftp " ">
17 <!ENTITY hal-info-md5sum "995b8d2dbfb0646b07c92bb8d23cbcf1">
18 <!ENTITY hal-info-size "108 KB">
19]>
20
21<sect1 id="hal" xreflabel="HAL-&hal-version;">
22 <?dbhtml filename="hal.html"?>
23
24 <sect1info>
25 <date>$Date$</date>
26 </sect1info>
27
28 <title>HAL-&hal-version;</title>
29
30 <indexterm zone="hal">
31 <primary sortas="a-HAL">HAL</primary>
32 </indexterm>
33
34 <sect2 role="package">
35 <title>Introduction to HAL</title>
36
37 <para><application>HAL</application> is a hardware abstraction layer, which
38 is a piece of software that provides a view of the various hardware
39 attached to a system. In addition to this, <application>HAL</application>
40 keeps detailed metadata for each piece of hardware and provides hooks such
41 that system and desktop-level software can react to changes in the hardware
42 configuration in order to maintain system policy.</para>
43
44 <para>The most important goal of <application>HAL</application> is to
45 provide plug-and-play facilities for UNIX-like desktops with focus on
46 providing a rich and extensible description of device characteristics and
47 features. One example of the functionality provided by
48 <application>HAL</application> is when you plug in a USB storage device.
49 <application>HAL</application> can automatically create a mount point in
50 <filename class="directory">/media</filename> and mount the device.</para>
51
52 <bridgehead renderas="sect3">Package Information</bridgehead>
53 <itemizedlist spacing="compact">
54 <listitem>
55 <para>Download (HTTP): <ulink url="&hal-download-http;"/></para>
56 </listitem>
57 <listitem>
58 <para>Download (FTP): <ulink url="&hal-download-ftp;"/></para>
59 </listitem>
60 <listitem>
61 <para>Download MD5 sum: &hal-md5sum;</para>
62 </listitem>
63 <listitem>
64 <para>Download size: &hal-size;</para>
65 </listitem>
66 <listitem>
67 <para>Estimated disk space required: &hal-buildsize;</para>
68 </listitem>
69 <listitem>
70 <para>Estimated build time: &hal-time;</para>
71 </listitem>
72 </itemizedlist>
73
74 <bridgehead renderas="sect3">Additional Package Download</bridgehead>
75 <itemizedlist spacing='compact'>
76 <title>Required Hardware Data</title>
77 <listitem>
78 <para>Download (HTTP): <ulink url="&hal-info-download-http;"/></para>
79 </listitem>
80 <listitem>
81 <para>Download (FTP): <ulink url="&hal-info-download-ftp;"/></para>
82 </listitem>
83 <listitem>
84 <para>Download MD5 sum: &hal-info-md5sum;</para>
85 </listitem>
86 <listitem>
87 <para>Download size: &hal-info-size;</para>
88 </listitem>
89 </itemizedlist>
90
91 <bridgehead renderas="sect3">HAL Dependencies</bridgehead>
92
93 <bridgehead renderas="sect4">Required</bridgehead>
94 <para role="required"><xref linkend="dbus-glib"/></para>
95
96 <bridgehead renderas="sect4">Recommended</bridgehead>
97 <para role="recommended"><xref linkend="pciutils"/>
98 (with a current <filename>pci.ids</filename> file) and
99 <xref linkend="usbutils"/>
100 (with a current <filename>usb.ids</filename> file)</para>
101
102 <bridgehead renderas="sect4">Optional (to Create Documentation)</bridgehead>
103 <para role="optional"><xref linkend="xmlto"/></para>
104
105 <bridgehead renderas="sect4">Optional</bridgehead>
106 <para role="optional"><xref linkend="gtk-doc"/>,
107 <xref linkend="acl"/>,
108 <xref linkend="gperf"/>,
109 <ulink url="http://www.freedesktop.org/wiki/Software/PolicyKit">PolicyKit</ulink>,
110 <xref linkend="consolekit"/>,
111 <xref linkend="intltool"/>,
112 <xref linkend="parted"/>, and
113 <ulink url="https://fedorahosted.org/libsmbios/">libsmbios</ulink></para>
114
115 <para condition="html" role="usernotes">User Notes:
116 <ulink url="&blfs-wiki;/hal"/></para>
117
118 </sect2>
119
120 <sect2 role="installation">
121 <title>Installation of HAL</title>
122
123 <para>You must create a dedicated user and group before installing the
124 package. Though the default BLFS instructions run the
125 <application>HAL</application> daemon as the
126 <systemitem class="username">root</systemitem> user, a configuration file
127 is installed which has the dedicated user's name hard-coded in it. This
128 causes a confusing message to be generated when starting the
129 <application>D-BUS</application> daemon. Issue the following commands as
130 the <systemitem class="username">root</systemitem> user:</para>
131
132<screen role="root"><userinput>groupadd -fg 19 haldaemon &amp;&amp;
133useradd -c "HAL Daemon User" -d /dev/null -u 19 \
134 -g haldaemon -s /bin/false haldaemon || [ $? == 9 ]</userinput></screen>
135
136 <para>Install <application>HAL</application> by running the following
137 commands:</para>
138
139<screen><userinput>./configure --prefix=/usr \
140 --sysconfdir=/etc \
141 --libexecdir=/usr/lib/hal \
142 --localstatedir=/var \
143 --docdir=/usr/share/doc/hal-&hal-version; \
144 --enable-policy-kit=no &amp;&amp;
145make</userinput></screen>
146
147 <para>To test the results, issue: <command>make check</command>.</para>
148
149 <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
150
151<screen role="root"><userinput>make install</userinput></screen>
152
153 <para>Install the <application>HAL</application> hardware data with the
154 following commands:</para>
155
156<screen><userinput>tar -xf ../hal-info-&hal-info-version;.tar.bz2 &amp;&amp;
157cd hal-info-&hal-info-version; &amp;&amp;
158./configure --prefix=/usr --sysconfdir=/etc</userinput></screen>
159
160 <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
161
162<screen role="root"><userinput>make install</userinput></screen>
163
164 </sect2>
165
166 <sect2 role="commands">
167 <title>Command Explanations</title>
168
169 <para><parameter>--libexecdir=/usr/lib/hal</parameter>: This parameter
170 forces the installation of libexec files to
171 <filename class='directory'>/usr/lib/hal</filename> instead of
172 <filename class='directory'>/usr/libexec</filename>.</para>
173
174 <para><parameter>--localstatedir=/var</parameter>: This parameter forces
175 the creation of the <filename>pid</filename> file to
176 <filename class='directory'>/var/run/hald</filename> instead of
177 <filename class='directory'>/usr/var/run/hald</filename>.</para>
178
179 <para><parameter>--enable-policy-kit=no</parameter>: This parameter is
180 required if PolicyKit is not installed. Remove it if PolicyKit is
181 installed.</para>
182
183 <para><parameter>--enable-docbook-docs
184 --docdir=/usr/share/doc/hal-&hal-version;</parameter>: If <xref
185 linkend="xmlto"/> is available, these parameters enable the
186 <application>HAL</application> specification documentation to be
187 built.</para>
188
189 </sect2>
190
191 <sect2>
192 <title>Run-Time Dependencies</title>
193
194 <para>A few more packages enable more functionality in
195 <application>HAL</application> at run-time.
196 These include <xref linkend="eject"/>, <ulink
197 url="http://www.nongnu.org/dmidecode/">dmidecode</ulink>,
198 <xref linkend="lvm2"/> (device-mapper),
199 <ulink url="http://luks.endorphin.org/dm-crypt">Cryptsetup-LUKS</ulink>, and
200 <ulink url="http://pm-utils.freedesktop.org/wiki/">pm-utils</ulink>.</para>
201
202 </sect2>
203
204 <sect2 role="configuration">
205 <title>Configuring HAL</title>
206
207 <sect3 id="hal-config">
208 <title>Config Files</title>
209 <para><filename>/etc/dbus-1/system.d/hal.conf</filename>,
210 <filename>/etc/dbus-1/system.d/halusers.conf</filename> and
211 <filename>/etc/hal/*</filename></para>
212
213 <indexterm zone="hal hal-config">
214 <primary sortas="e-etc-dbus-1-system.d-hal.conf">/etc/dbus-1/system.d/hal.conf</primary>
215 </indexterm>
216
217 <indexterm zone="hal hal-config">
218 <primary sortas="e-etc-dbus-1-system.d-halusers.conf">/etc/dbus-1/system.d/halusers.conf</primary>
219 </indexterm>
220
221 <indexterm zone="hal hal-config">
222 <primary sortas="e-etc-hal-star">/etc/hal/*</primary>
223 </indexterm>
224 </sect3>
225
226 <sect3><title>Configuration Information</title>
227 <sect4><title>Allowing users to invoke HAL methods</title>
228
229 <para>The default setup for <application>HAL</application> is to allow
230 only certain users to invoke methods such as Mount(). These are
231 the <systemitem class="username">root</systemitem> user and the user
232 determined to be at the active console using <ulink
233 url="&blfs-wiki;/linux-pam">pam_console</ulink>. If you are not set
234 up to use <xref linkend="linux-pam"/> and <ulink
235 url="&blfs-wiki;/linux-pam">pam_console</ulink>, create a group that
236 is allowed to invoke <application>HAL</application> methods with the
237 following commands:</para>
238
239<screen role="root"><userinput>groupadd -fg 61 halusers &amp;&amp;
240cat &gt; /etc/dbus-1/system.d/halusers.conf &lt;&lt; "EOF"
241<literal>&lt;!DOCTYPE busconfig PUBLIC
242 "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
243 "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd"&gt;
244&lt;busconfig&gt;
245
246 &lt;!-- Allow users in the halusers group invoke HAL methods --&gt;
247 &lt;policy group="halusers"&gt;
248 &lt;allow send_interface="org.freedesktop.Hal.Device.SystemPowerManagement"/&gt;
249 &lt;allow send_interface="org.freedesktop.Hal.Device.LaptopPanel"/&gt;
250 &lt;allow send_interface="org.freedesktop.Hal.Device.Volume"/&gt;
251 &lt;allow send_interface="org.freedesktop.Hal.Device.Volume.Crypto"/&gt;
252 &lt;/policy&gt;
253
254&lt;/busconfig&gt;</literal>
255EOF</userinput></screen>
256
257 <para>Now add the users you would like to the <systemitem
258 class="groupname">halusers</systemitem> group to use
259 <application>HAL</application>.</para>
260
261<screen role="root"><userinput>usermod -a -G halusers <replaceable>&lt;username&gt;</replaceable></userinput></screen>
262
263 <para>Note that these users still need
264 to have appropriate permissions to access the devices that
265 <application>HAL</application> will invoke its methods on.</para>
266
267 <para>With the above configuration in place, authorized users now
268 have the ability to unmount disk partitions mounted at non-standard
269 locations such as <filename class='directory'>/pub</filename>. If
270 you'd like to restrict this policy to only drives which are considered
271 removable or hotpluggable, add the following configuration file as
272 the <systemitem class='username'>root</systemitem> user:</para>
273
274<screen role="root"><userinput>cat &gt; /etc/hal/fdi/policy/no-fixed-drives.fdi &lt;&lt; "EOF"
275<literal>&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;!-- -*- SGML -*- --&gt;
276
277&lt;!-- Don't allow HAL methods on disks that are not
278 removable or hotpluggable --&gt;
279
280&lt;deviceinfo version="0.2"&gt;
281&lt;device&gt;
282 &lt;match key="@block.storage_device:storage.hotpluggable" bool="false"&gt;
283 &lt;match key="@block.storage_device:storage.removable" bool="false"&gt;
284 &lt;merge key="volume.ignore" type="bool"&gt;true&lt;/merge&gt;
285 &lt;/match&gt;
286 &lt;/match&gt;
287&lt;/device&gt;
288&lt;/deviceinfo&gt;</literal>
289EOF</userinput></screen>
290 </sect4>
291
292 <sect4><title>Installing mount helpers</title>
293 <para><application>HAL</application> only provides the methods such
294 as Mount() to act on hardware. In order to take advantage of these,
295 a <application>HAL</application> event handler such as <ulink
296 url="http://ivman.sourceforge.net/">Ivman</ulink> should be
297 installed.</para>
298 <!-- FIXME: is Ivman still alive? -->
299 <!-- FIXME: explicitly name the mount helpers
300 from KDE (???) and Xfce (exo-mount) -->
301 </sect4>
302
303 <sect4><title>Changing default mount options</title>
304 <para>In some cases, it is necessary to specify some default mount
305 options for filesystems. E.g., in non-English environments, the
306 <option>iocharset</option> and <option>codepage</option> options
307 are needed for filesystems of Windows origin in order to show
308 national characters correctly. Also, due to a
309 <ulink url="https://launchpad.net/bugs/133567">bug</ulink> in the
310 Linux kernel version in LFS (2.6.22.x), you may want to pass the
311 <option>usefree</option> option to vfat filesystems in order to reduce
312 the time needed to determine the amount of free space on the
313 filesystem.</para>
314
315 <para>Google search results for <quote>hal default mount options</quote>
316 are still full of recommendations to create <filename>*.fdi</filename>
317 files mentioning either
318 <option>volume.policy</option> or <option>storage.policy</option> keys.
319 Such recommendations worked for HAL-0.4.x only and are invalid now.
320 For HAL-&hal-version;, mount options are expected to be handled
321 as follows:</para>
322
323 <itemizedlist>
324 <listitem>
325 <para>An event handler from the desktop environment receives an
326 event describing the newly-added storage device.</para>
327 </listitem>
328 <listitem>
329 <para>If the storage device is not already mentioned in
330 <filename>/etc/fstab</filename>, mount options are fetched from
331 a database of user preferences, which is specific to the desktop
332 environment, and passed back to HAL.
333 This process can be influenced by the filesystem type
334 and possibly other volume properties available from HAL.</para>
335 </listitem>
336 <listitem>
337 <para>If the options are in the list of permitted ones, HAL
338 mounts the volume.</para>
339 </listitem>
340 </itemizedlist>
341
342 <para>The important point above is that the configuration procedure is
343 desktop-specific. However, as of December, 2007, only GNOME allows the
344 user to set default mount options on a per-filesystem basis,
345 as described in the next paragraph.
346 KDE allows the mount options to be set only on a per-volume basis,
347 not per-filesystem, which is a
348 <ulink url="http://bugs.kde.org/show_bug.cgi?id=133456">bug</ulink>,
349 because, as mentioned in the report, <quote>for every new device (let's
350 say your friend's USB stick) you have to first not mount it, then change
351 options and then mount</quote>. Xfce, if compiled with HAL support,
352 <ulink url="http://bugzilla.xfce.org/show_bug.cgi?id=2891">hard-codes</ulink>
353 the mount options without any means to override them,
354 which is even worse.
355 <!-- (for BLFS editors only: they mention policy-kit as a future
356 solution, but, from the description, policy-kit looks like
357 an XML-ized sudo-like configuration parser, which has nothing
358 common with the "default mount options" problem. -->
359 In KDE and Xfce, if the built-in default mount options are not suitable,
360 it is needed to mention every possible removable storage device in
361 <filename>/etc/fstab</filename> with the correct options, thus mostly
362 defeating the point of installing HAL.</para>
363
364 <para>In order to adjust the default mount options, GNOME users should
365 change the
366 <systemitem>/system/storage/default_options/[fs_type]/mount_options</systemitem>
367 GConf key <!--either using <xref linkend="gconf-editor"/>, or -->from the
368 command line, as demonstrated in the following example:</para>
369
370<screen><userinput>gconftool-2 --type list --list-type=string \
371 --set /system/storage/default_options/vfat/mount_options \
372 "[shortname=mixed,uid=,usefree,iocharset=koi8-r,codepage=866]"</userinput></screen>
373
374 <para>See more details in the gnome-mount(1) manual page.</para>
375 </sect4>
376
377 <sect4><title>Adding allowed mount options</title>
378 <para>The list of mount options permitted in the default HAL
379 configuration resides in the
380 <filename>/usr/share/hal/fdi/policy/10osvendor/20-storage-methods.fdi</filename>
381 file. GNOME and KDE users may want to use options not in this
382 list (in the above example, this applies to the <option>usefree</option>
383 option). In this case, as <systemitem class="username">root</systemitem>
384 user, create a custom policy file that mentions unknown mount
385 options:</para>
386
387<screen role="root"><userinput>cat &gt; /etc/hal/fdi/policy/user-options.fdi &lt;&lt; "EOF"
388<literal>&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;!-- -*- SGML -*- --&gt;
389
390&lt;!--
391This file is used to set custom options to the HAL policy settings.
392The default policy settings are defined in files contained in the
393/usr/share/hal/fdi/policy subdirectories. User defined customizations
394should be in files contained in the /etc/hal/fdi/policy directory.
395--&gt;
396
397&lt;deviceinfo version="0.2"&gt;
398 &lt;device&gt;
399
400 &lt;!-- this is to be able to mount media in drives we cannot poll,
401 e.g. IDE Zip Drives and PC style floppy drives --&gt;
402 &lt;match key="storage.media_check_enabled" bool="false"&gt;
403 &lt;match key="storage.no_partitions_hint" bool="true"&gt;
404 &lt;append key="volume.mount.valid_options" type="strlist"&gt;usefree&lt;/append&gt;
405 &lt;!-- Insert other options here --&gt;
406 &lt;/match&gt;
407 &lt;/match&gt;
408
409 &lt;match key="volume.fsusage" string="filesystem"&gt;
410
411 &lt;!-- allow these mount options for vfat --&gt;
412 &lt;match key="volume.fstype" string="vfat"&gt;
413 &lt;append key="volume.mount.valid_options" type="strlist"&gt;usefree&lt;/append&gt;
414 &lt;!-- Insert other options here --&gt;
415 &lt;/match&gt;
416 &lt;/match&gt;
417
418 &lt;/device&gt;
419&lt;/deviceinfo&gt;</literal>
420EOF</userinput></screen>
421
422 </sect4>
423 </sect3>
424
425 <sect3 id="hal-init">
426 <title>Boot Script</title>
427
428 <para>To automatically start the <command>hald</command> daemon
429 when the system is rebooted, install the
430 <filename>/etc/rc.d/init.d/haldaemon</filename>
431 bootscript from the
432 <xref linkend="bootscripts"/> package.</para>
433
434 <indexterm zone="hal hal-init">
435 <primary sortas="f-haldaemon">haldaemon</primary>
436 </indexterm>
437
438 <important>
439 <para>If the system-wide <application>D-BUS</application> daemon was
440 running during the installation of <application>HAL</application>,
441 ensure you stop and restart the <application>D-BUS</application>
442 daemon before attempting to start the <command>hald</command>
443 daemon.</para>
444 </important>
445
446<screen role="root"><userinput>make install-haldaemon</userinput></screen>
447
448 </sect3>
449
450 </sect2>
451
452 <sect2 role="content">
453 <title>Contents</title>
454
455 <segmentedlist>
456 <segtitle>Installed Programs</segtitle>
457 <segtitle>Installed Libraries</segtitle>
458 <segtitle>Installed Directories</segtitle>
459
460 <seglistitem>
461 <seg>hal-device, hal-disable-polling,
462 hal-find-by-capability, hal-find-by-property, hal-get-property,
463 hal-is-caller-locked-out, hal-lock, hal-set-property, hald and
464 lshal</seg>
465 <seg>libhal.{so,a} and libhal-storage,{so,a}</seg>
466 <seg>/etc/hal, /usr/include/hal, /usr/lib/hal,
467 /usr/share/doc/hal-&hal-version;, /usr/share/hal, /var/cache/hald,
468 /var/lib/hal, and /var/run/hald</seg>
469 </seglistitem>
470 </segmentedlist>
471
472 <variablelist>
473 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
474 <?dbfo list-presentation="list"?>
475 <?dbhtml list-presentation="table"?>
476
477 <varlistentry id="hal-device">
478 <term><command>hal-device</command></term>
479 <listitem>
480 <para>is used to create, remove or show a
481 <application>HAL</application> device.</para>
482 <indexterm zone="hal hal-device">
483 <primary sortas="b-hal-device">hal-device</primary>
484 </indexterm>
485 </listitem>
486 </varlistentry>
487
488 <varlistentry id="hal-disable-polling">
489 <term><command>hal-disable-polling</command></term>
490 <listitem>
491 <para>can be used to to disable and enable media detection on
492 drives with removable storage.</para>
493 <indexterm zone="hal hal-disable-polling">
494 <primary sortas="b-hal-disable-polling">hal-disable-polling</primary>
495 </indexterm>
496 </listitem>
497 </varlistentry>
498
499 <varlistentry id="hal-find-by-capability">
500 <term><command>hal-find-by-capability</command></term>
501 <listitem>
502 <para>prints the Unique Device Identifiers for
503 <application>HAL</application> device objects of a given
504 capability.</para>
505 <indexterm zone="hal hal-find-by-capability">
506 <primary sortas="b-hal-find-by-capability">hal-find-by-capability</primary>
507 </indexterm>
508 </listitem>
509 </varlistentry>
510
511 <varlistentry id="hal-find-by-property">
512 <term><command>hal-find-by-property</command></term>
513 <listitem>
514 <para>prints the Unique Device Identifiers for
515 <application>HAL</application> device objects where a given property
516 assumes a given value.</para>
517 <indexterm zone="hal hal-find-by-property">
518 <primary sortas="b-hal-find-by-property">hal-find-by-property</primary>
519 </indexterm>
520 </listitem>
521 </varlistentry>
522
523 <varlistentry id="hal-get-property">
524 <term><command>hal-get-property</command></term>
525 <listitem>
526 <para>retrieves a property from a device.</para>
527 <indexterm zone="hal hal-get-property">
528 <primary sortas="b-hal-get-property">hal-get-property</primary>
529 </indexterm>
530 </listitem>
531 </varlistentry>
532
533 <varlistentry id="hal-set-property">
534 <term><command>hal-set-property</command></term>
535 <listitem>
536 <para>attempts to set property for a device. Note that, due to
537 security considerations, it may not be possible to set a
538 property.</para>
539 <indexterm zone="hal hal-set-property">
540 <primary sortas="b-hal-set-property">hal-set-property</primary>
541 </indexterm>
542 </listitem>
543 </varlistentry>
544
545 <varlistentry id="hal-is-caller-locked-out">
546 <term><command>hal-is-caller-locked-out</command></term>
547 <listitem>
548 <para>determines if a specific caller is locked out of a specific
549 <application>D-Bus</application> interface on a specific device.</para>
550 <indexterm zone="hal hal-is-caller-locked-out">
551 <primary sortas="b-hal-is-caller-locked-out">hal-is-caller-locked-out</primary>
552 </indexterm>
553 </listitem>
554 </varlistentry>
555
556 <varlistentry id="hald">
557 <term><command>hald</command></term>
558 <listitem>
559 <para>is the <application>HAL</application> daemon program.</para>
560 <indexterm zone="hal hald">
561 <primary sortas="b-hald">hald</primary>
562 </indexterm>
563 </listitem>
564 </varlistentry>
565
566 <varlistentry id="lshal">
567 <term><command>lshal</command></term>
568 <listitem>
569 <para>shows all devices and their properties. If the --monitor option
570 is given then the device list and all devices are monitored for
571 changes.</para>
572 <indexterm zone="hal lshal">
573 <primary sortas="b-lshal">lshal</primary>
574 </indexterm>
575 </listitem>
576 </varlistentry>
577
578 <varlistentry id="libhal">
579 <term><filename class='libraryfile'>libhal.{so,a}</filename></term>
580 <listitem>
581 <para>contains the API functions required by the
582 <application>HAL</application> programs.</para>
583 <indexterm zone="hal libhal">
584 <primary sortas="c-libhal">libhal.{so,a}</primary>
585 </indexterm>
586 </listitem>
587 </varlistentry>
588
589 <varlistentry id="libhal-storage">
590 <term><filename class='libraryfile'>libhal-storage.{so,a}</filename></term>
591 <listitem>
592 <para>contains the API functions required by the
593 <application>HAL</application> storage and volume utility
594 programs.</para>
595 <indexterm zone="hal libhal-storage">
596 <primary sortas="c-libhal-storage">libhal-storage.{so,a}</primary>
597 </indexterm>
598 </listitem>
599 </varlistentry>
600
601 </variablelist>
602
603 </sect2>
604
605</sect1>
Note: See TracBrowser for help on using the repository browser.