source: general/sysutils/hal.xml@ 76705c06

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 6.2 6.2.0 6.2.0-rc1 6.2.0-rc2 6.3 6.3-rc1 6.3-rc2 6.3-rc3 7.10 7.4 7.5 7.6 7.6-blfs 7.6-systemd 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind gnome kde5-13430 kde5-14269 kde5-14686 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts krejzi/svn lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition systemd-11177 systemd-13485 trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 76705c06 was 76705c06, checked in by Dan Nichilson <dnicholson@…>, 17 years ago

Updated to HAL-0.5.7.1

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@6412 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 23.3 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
3 "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY hal-download-http "http://freedesktop.org/~david/dist/hal-&hal-version;.tar.gz">
8 <!ENTITY hal-download-ftp "ftp://ftp.fu-berlin.de/unix/linux/mirrors/gentoo/distfiles/hal-&hal-version;.tar.gz">
9 <!ENTITY hal-md5sum "d7a7741808ba130f8aff3f5d3b5689e4">
10 <!ENTITY hal-size "1.5 MB">
11 <!ENTITY hal-buildsize "19.0 MB">
12 <!ENTITY hal-time "0.5 SBU">
13]>
14
15<sect1 id="hal" xreflabel="HAL-&hal-version;">
16 <?dbhtml filename="hal.html"?>
17
18 <sect1info>
19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 </sect1info>
22
23 <title>HAL-&hal-version;</title>
24
25 <indexterm zone="hal">
26 <primary sortas="a-HAL">HAL</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to HAL</title>
31
32 <para><application>HAL</application> is a hardware abstraction layer, which
33 is a piece of software that provides a view of the various hardware
34 attached to a system. In addition to this, <application>HAL</application>
35 keeps detailed metadata for each piece of hardware and provides hooks such
36 that system and desktop-level software can react to changes in the hardware
37 configuration in order to maintain system policy.</para>
38
39 <para>The most important goal of <application>HAL</application> is to
40 provide plug-and-play facilities for UNIX-like desktops with focus on
41 providing a rich and extensible description of device characteristics and
42 features. One example of the functionality provided by
43 <application>HAL</application> is when you plug in a USB storage device.
44 <application>HAL</application> can automatically create a mount point in
45 <filename class="directory">/media</filename> and mount the device.</para>
46
47 <bridgehead renderas="sect3">Package Information</bridgehead>
48 <itemizedlist spacing="compact">
49 <listitem>
50 <para>Download (HTTP): <ulink url="&hal-download-http;"/></para>
51 </listitem>
52 <listitem>
53 <para>Download (FTP): <ulink url="&hal-download-ftp;"/></para>
54 </listitem>
55 <listitem>
56 <para>Download MD5 sum: &hal-md5sum;</para>
57 </listitem>
58 <listitem>
59 <para>Download size: &hal-size;</para>
60 </listitem>
61 <listitem>
62 <para>Estimated disk space required: &hal-buildsize;</para>
63 </listitem>
64 <listitem>
65 <para>Estimated build time: &hal-time;</para>
66 </listitem>
67 </itemizedlist>
68
69 <bridgehead renderas="sect3">HAL Dependencies</bridgehead>
70
71 <bridgehead renderas="sect4">Required</bridgehead>
72 <para role="required"><xref linkend="glib2"/>,
73 <xref linkend="dbus"/> (see the <xref linkend="hal-requirements"/>),
74 <xref linkend="python"/>, and
75 <xref linkend="perl-xml-parser"/></para>
76
77 <bridgehead renderas="sect4">Recommended</bridgehead>
78 <para role="recommended"><xref linkend="pciutils"/>
79 (with a current <filename>pci.ids</filename> file) and
80 <xref linkend="usbutils"/>
81 (with a current <filename>usb.ids</filename> file)</para>
82
83 <bridgehead renderas="sect4">Optional</bridgehead>
84 <para role="optional"><xref linkend="pkgconfig"/>,
85 <xref linkend="intltool"/>,
86 <xref linkend="libusb"/>,
87 <xref linkend="doxygen"/>, and
88 <xref linkend="docbook-utils"/></para>
89
90 <para condition="html" role="usernotes">User Notes:
91 <ulink url="&blfs-wiki;/hal"/></para>
92
93 </sect2>
94
95 <sect2 role="installation">
96 <title>Installation of HAL</title>
97
98 <para>You must create a dedicated user and group before installing the
99 package. Though the default BLFS instructions run the
100 <application>HAL</application> daemon as the
101 <systemitem class="username">root</systemitem> user, a configuration file
102 is installed which has the dedicated user's name hard-coded in it. This
103 causes a confusing message to be generated when starting the
104 <application>D-BUS</application> daemon. Issue the following commands as
105 the <systemitem class="username">root</systemitem> user:</para>
106
107<screen role="root"><userinput>groupadd -g 19 haldaemon &amp;&amp;
108useradd -c "HAL Daemon User" -d /dev/null -u 19 \
109 -g haldaemon -s /bin/false haldaemon</userinput></screen>
110
111 <para>Install <application>HAL</application> by running the following
112 commands:</para>
113
114<screen><userinput>./configure --prefix=/usr \
115 --sysconfdir=/etc \
116 --libexecdir=/usr/lib/hal \
117 --localstatedir=/var &amp;&amp;
118make</userinput></screen>
119
120 <para>To test the results, issue <command>make check</command>.</para>
121
122 <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
123
124<screen role="root"><userinput>make install &amp;&amp;
125install -v -m755 -d /var/run/hald</userinput></screen>
126
127 </sect2>
128
129 <sect2 role="commands">
130 <title>Command Explanations</title>
131
132 <para><parameter>--libexecdir=/usr/lib/hal</parameter>: This parameter
133 forces the installation of libexec files to
134 <filename class='directory'>/usr/lib/hal</filename> instead of
135 <filename class='directory'>/usr/libexec</filename>.</para>
136
137 <para><parameter>--localstatedir=/var</parameter>: This parameter forces
138 the creation of the <filename>pid</filename> file to
139 <filename class='directory'>/var/run/hald</filename> instead of
140 <filename class='directory'>/usr/var/run/hald</filename>.</para>
141
142 </sect2>
143
144 <sect2 id="hal-runtime-dependencies" xreflabel="GNOME-Python">
145 <title>Run-Time Dependencies</title>
146
147 <para>The <xref linkend="hal-device-manager"/> program requires several
148 additional packages to be installed before it will run. The list is
149 significant and requires a substantial commitment to install them. It is
150 left up to you to determine if the time and effort spent installing the
151 following packages is worth using the <command>hal-device-manager</command>
152 program.</para>
153
154 <para>Though the only requirement to run the
155 <command>hal-device-manager</command> program is installing
156 <ulink url="&gnome-download-http;/gnome-python/">
157 GNOME-Python</ulink>, the dependency list is staggering. The following
158 list does not include the dependencies already identified in the BLFS
159 book. For example, <application>libgnome</application> already lists
160 <application>GNOME VFS</application>, <application>GConf</application>,
161 etc., so they are not repeated here. Note that some of the dependencies
162 have their own dependencies, which have their own, and so forth and so
163 on.</para>
164
165 <itemizedlist>
166 <listitem>
167 <para><ulink
168 url="&gnome-download-http;/gnome-python/">GNOME-Python</ulink>
169 </para>
170
171 <itemizedlist>
172 <listitem>
173 <para><ulink
174 url="http://www.pygtk.org/">PyGTK</ulink> (required)
175 </para>
176
177 <itemizedlist>
178 <listitem>
179 <para><ulink
180 url="http://www.cairographics.org/pycairo">Pycairo</ulink> (optional)
181 </para>
182
183 <itemizedlist>
184 <listitem>
185 <para><ulink
186 url="http://www.cairographics.org/snapshots/">libsvg-cairo</ulink> (optional)
187 </para>
188
189 <itemizedlist>
190 <listitem>
191 <para><ulink
192 url="http://www.cairographics.org/snapshots/">libsvg</ulink> (required)
193 </para>
194 </listitem>
195 </itemizedlist>
196
197 </listitem>
198 <listitem>
199 <para><ulink
200 url="http://www.pygtk.org/">PyGTK</ulink> (optional, and circular)
201 </para>
202 </listitem>
203 <listitem>
204 <para><ulink
205 url="http://sourceforge.net/projects/numpy">Numerical Python</ulink> (optional)
206 </para>
207 </listitem>
208 </itemizedlist>
209
210 </listitem>
211 <listitem>
212 <para><ulink
213 url="http://sourceforge.net/projects/numpy">Numerical Python</ulink> (optional)
214 </para>
215 </listitem>
216 <listitem>
217 <para><xref linkend="libglade"/> (required)</para>
218 </listitem>
219 </itemizedlist>
220
221 </listitem>
222 <listitem>
223 <para><xref linkend="libgnomeui"/> (optional)</para>
224 </listitem>
225 <listitem>
226 <para><xref linkend="libgnome"/> (required)</para>
227 </listitem>
228 <listitem>
229 <para><ulink
230 url="&gnome-download-http;/pyorbit/">PyORBit</ulink> (optional)
231 </para>
232
233 <itemizedlist>
234 <listitem>
235 <para><xref linkend="ORBit2"/> (required)</para>
236 </listitem>
237 </itemizedlist>
238
239 </listitem>
240 </itemizedlist>
241
242 </listitem>
243 </itemizedlist>
244
245 <note>
246 <para>The dependency list is designed to start at the bottom and work
247 your way up until the last package to install is
248 <application>GNOME-Python</application>. Note that the dependencies
249 marked as <quote>required</quote> are required for the package it is
250 listed under. For example, you don't need to install
251 <application>ORBit</application> if you don't plan on installing
252 <application>PyORBit</application>. The minimum packages you could
253 install to support running <xref linkend="hal-device-manager"/> would be
254 (in this order): <xref linkend="libgnome"/>, <xref linkend="libglade"/>,
255 <ulink url="http://www.pygtk.org/">PyGTK</ulink> and <ulink
256 url="&gnome-download-http;/gnome-python/">
257 GNOME-Python</ulink>.</para>
258 </note>
259
260 </sect2>
261
262 <sect2 role="configuration">
263 <title>Configuring HAL</title>
264
265 <sect3 id="hal-config">
266 <title>Config Files</title>
267 <para><filename>/etc/dbus-1/system.d/hal.conf</filename>,
268 <filename>/etc/dbus-1/system.d/halusers.conf</filename> and
269 <filename>/etc/hal/*</filename></para>
270
271 <indexterm zone="hal hal-config">
272 <primary sortas="e-etc-dbus-1-system.d-hal.conf">/etc/dbus-1/system.d/hal.conf</primary>
273 </indexterm>
274
275 <indexterm zone="hal hal-config">
276 <primary sortas="e-etc-dbus-1-system.d-halusers.conf">/etc/dbus-1/system.d/halusers.conf</primary>
277 </indexterm>
278
279 <indexterm zone="hal hal-config">
280 <primary sortas="e-etc-hal-star">/etc/hal/*</primary>
281 </indexterm>
282 </sect3>
283
284 <sect3><title>Configuration Information</title>
285
286 <para>The default setup for <application>HAL</application> is to allow
287 only certain users to invoke methods such as Mount(). These are
288 the <systemitem class="username">root</systemitem> user and the user
289 determined to be at the active console using <ulink
290 url="&blfs-wiki;/linux-pam">pam_console</ulink>. If you are not set
291 up to use <xref linkend="linux-pam"/> and <ulink
292 url="&blfs-wiki;/linux-pam">pam_console</ulink>, create a group that
293 is allowed to invoke <application>HAL</application> methods with the
294 following commands:</para>
295
296<screen role="root"><userinput>groupadd -g 61 halusers &amp;&amp;
297cat &gt; /etc/dbus-1/system.d/halusers.conf &lt;&lt; "EOF"
298<literal>&lt;!DOCTYPE busconfig PUBLIC
299 "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
300 "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd"&gt;
301&lt;busconfig&gt;
302
303 &lt;!-- Allow users in the halusers group invoke HAL methods --&gt;
304 &lt;policy group="halusers"&gt;
305 &lt;allow send_interface="org.freedesktop.Hal.Device.SystemPowerManagement"/&gt;
306 &lt;allow send_interface="org.freedesktop.Hal.Device.LaptopPanel"/&gt;
307 &lt;allow send_interface="org.freedesktop.Hal.Device.Volume"/&gt;
308 &lt;allow send_interface="org.freedesktop.Hal.Device.Volume.Crypto"/&gt;
309 &lt;/policy&gt;
310
311&lt;/busconfig&gt;</literal>
312EOF</userinput></screen>
313
314 <para>Now add the users you would like to the <systemitem
315 class="groupname">halusers</systemitem> group to use
316 <application>HAL</application>. Note that these users still need
317 to have appropriate permissions to access the devices that
318 <application>HAL</application> will invoke its methods on.</para>
319
320 <para><application>HAL</application> only provides the methods such
321 as Mount() to act on hardware. In order to take advantage of these,
322 a <application>HAL</application> event handler such as
323 <xref linkend="gnome-volume-manager"/> or <ulink
324 url="http://ivman.sourceforge.net/">Ivman</ulink> should be
325 installed.</para>
326
327 <!-- Following note is only relevant for HAL-0.5.7.x.
328 Fixed upstream. -->
329 <note>
330 <para><application>HAL</application> will ignore any devices listed
331 in <filename>/etc/fstab</filename> for the purpose of automounting.
332 You must remove any listings for devices that you would like
333 automounted such as CD-ROMs or USB keys.</para>
334 </note>
335
336 <!-- This section commented out for now until it is determined what should
337 be placed in this section
338
339 FIXME: I think this information is still relevant with the
340 exception of its interaction with /etc/fstab. Needs investigation.
341
342 <para>No configuration is necessary for the majority of installations
343 on systems configured with ISO-8859-1 compatible locales. The defaults
344 should work just fine. For some installations, tweaking of the various
345 policies may be required. One such configuration change necessary in some
346 locales is identifying the <option>iocharset</option> and
347 <option>codepage</option> variables in the
348 <filename>/etc/fstab</filename> entries created by the
349 <command>fstab-sync</command> program. If changes are required to the
350 configuration so that your locale is properly identified in the entries
351 created in <filename>/etc/fstab</filename>, issue the following commands
352 as the <systemitem class="username">root</systemitem> user (you must
353 substitute the proper data for the
354 <replaceable>&lt;iocharset&gt;</replaceable> and
355 <replaceable>&lt;codepage&gt;</replaceable> info):</para>
356
357<screen role="root"><userinput>install -v -m755 -d /etc/hal/fdi/policy/30user &amp;&amp;
358cat &gt; /etc/hal/fdi/policy/30user/30user-policy.fdi &lt;&lt; "EOF"
359<literal>&lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;!- -*- SGML -*- -&gt;
360
361&lt;!-
362This file is used to set custom options to the HAL policy settings.
363The default policy settings are defined in files contained in the
364/usr/share/hal/fdi/policy directories. User defined customizations
365should be in files contained in the /etc/hal/fdi/policy directories.
366-&gt;
367
368&lt;deviceinfo version="0.2"&gt;
369
370 &lt;device&gt;
371 &lt;match key="info.udi"
372 string="/org/freedesktop/Hal/devices/computer"&gt;
373
374 &lt;!- Set the iocharset variable in the /etc/fstab file entry -&gt;
375 &lt;merge
376 key="storage.policy.default.mount_option.iocharset=<replaceable>&lt;iocharset&gt;</replaceable>"
377 type="bool"&gt;true&lt;/merge&gt;
378
379 &lt;!- Set the codepage variable in the /etc/fstab file entry -&gt;
380 &lt;merge
381 key="storage.policy.default.mount_option.codepage=<replaceable>&lt;codepage&gt;</replaceable>"
382 type="bool"&gt;true&lt;/merge&gt;
383
384 &lt;/match&gt;
385 &lt;/device&gt;
386
387&lt;/deviceinfo&gt;</literal>
388
389EOF</userinput></screen>
390
391 <note>
392 <para>The previous commands created a file named
393 <filename>/etc/hal/fdi/policy/30user/30user-policy.fdi</filename>. To
394 ease readability of the file, put everything between the
395 &lt;angle brackets&gt; and &lt;merge&gt;&lt;/merge&gt; tags on one
396 line. You must have at least one space character
397 where the ends of the lines were. The file would then look like this
398 (trimmed at the top and bottom for brevity):</para>
399
400<screen><literal> &lt;device&gt;
401 &lt;match key="<replaceable>&lt;text&gt;</replaceable>" string="<replaceable>&lt;text&gt;</replaceable>"&gt;
402
403 &lt;!- Set the iocharset variable in the /etc/fstab file entry -&gt;
404 &lt;merge key="<replaceable>&lt;iocharset text&gt;</replaceable>" type="bool"&gt;true&lt;/merge&gt;
405
406 &lt;!- Set the codepage variable in the /etc/fstab file entry -&gt;
407 &lt;merge key="<replaceable>&lt;codepage text&gt;</replaceable>" type="bool"&gt;true&lt;/merge&gt;
408
409 &lt;/match&gt;
410 &lt;/device&gt;</literal></screen>
411
412 </note>
413
414 -->
415
416 </sect3>
417
418 <sect3 id="hal-init">
419 <title>Boot Script</title>
420
421 <para>To automatically start the <command>hald</command> daemon
422 when the system is rebooted, install the
423 <filename>/etc/rc.d/init.d/haldaemon</filename>
424 bootscript from the
425 <xref linkend="bootscripts"/> package.</para>
426
427 <indexterm zone="hal hal-init">
428 <primary sortas="f-haldaemon">haldaemon</primary>
429 </indexterm>
430
431 <!-- Not sure if this is still required any longer as the HAL daemon
432 used to hang if you didn't first restart the DBUS daemon. This is
433 not the case any longer, but it still seems that D-Bus should be
434 restarted, as the hald.conf file is read by the D-BUS daemon.
435 Leaving it in for now until it is positively confirmed it is not
436 required. -->
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-device-manager,
462 hal-find-by-capability, hal-find-by-property, hal-get-property,
463 hal-set-property, hald and lshal</seg>
464 <seg>libhal.{so,a} and libhal-storage,{so,a}</seg>
465 <seg>/etc/hal, /usr/include/hal, /usr/lib/hal,
466 /usr/share/doc/hal-&hal-version;, /usr/share/hal
467 and /var/run/hald</seg>
468 </seglistitem>
469 </segmentedlist>
470
471 <variablelist>
472 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
473 <?dbfo list-presentation="list"?>
474 <?dbhtml list-presentation="table"?>
475
476 <varlistentry id="hal-device">
477 <term><command>hal-device</command></term>
478 <listitem>
479 <para>is used to create, remove or show a
480 <application>HAL</application> device.</para>
481 <indexterm zone="hal hal-device">
482 <primary sortas="b-hal-device">hal-device</primary>
483 </indexterm>
484 </listitem>
485 </varlistentry>
486
487 <varlistentry id="hal-device-manager">
488 <term><command>hal-device-manager</command></term>
489 <listitem>
490 <para>shows a graphical representation of all the devices
491 <application>HAL</application> is aware of. This program requires
492 <xref linkend="hal-runtime-dependencies"/>. Here is a <ulink
493 url="http://cvs.freedesktop.org/*checkout*/hal/hal/doc/spec/hal-devices1.png">
494 screenshot</ulink> of <command>hal-device-manager</command>
495 communicating with the HAL daemon and displaying a tree of device
496 objects. The shown properties in the screenshot are for a device
497 object representing a hard disk.</para>
498 <indexterm zone="hal hal-device-manager">
499 <primary sortas="b-hal-device-manager">hal-device-manager</primary>
500 </indexterm>
501 </listitem>
502 </varlistentry>
503
504 <varlistentry id="hal-find-by-capability">
505 <term><command>hal-find-by-capability</command></term>
506 <listitem>
507 <para>prints the Unique Device Identifiers for
508 <application>HAL</application> device objects of a given
509 capability.</para>
510 <indexterm zone="hal hal-find-by-capability">
511 <primary sortas="b-hal-find-by-capability">hal-find-by-capability</primary>
512 </indexterm>
513 </listitem>
514 </varlistentry>
515
516 <varlistentry id="hal-find-by-property">
517 <term><command>hal-find-by-property</command></term>
518 <listitem>
519 <para>prints the Unique Device Identifiers for
520 <application>HAL</application> device objects where a given property
521 assumes a given value.</para>
522 <indexterm zone="hal hal-find-by-property">
523 <primary sortas="b-hal-find-by-property">hal-find-by-property</primary>
524 </indexterm>
525 </listitem>
526 </varlistentry>
527
528 <varlistentry id="hal-get-property">
529 <term><command>hal-get-property</command></term>
530 <listitem>
531 <para>retrieves a property from a device.</para>
532 <indexterm zone="hal hal-get-property">
533 <primary sortas="b-hal-get-property">hal-get-property</primary>
534 </indexterm>
535 </listitem>
536 </varlistentry>
537
538 <varlistentry id="hal-set-property">
539 <term><command>hal-set-property</command></term>
540 <listitem>
541 <para>attempts to set property for a device. Note that, due to
542 security considerations, it may not be possible to set a
543 property.</para>
544 <indexterm zone="hal hal-set-property">
545 <primary sortas="b-hal-set-property">hal-set-property</primary>
546 </indexterm>
547 </listitem>
548 </varlistentry>
549
550 <varlistentry id="hald">
551 <term><command>hald</command></term>
552 <listitem>
553 <para>is the <application>HAL</application> daemon program.</para>
554 <indexterm zone="hal hald">
555 <primary sortas="b-hald">hald</primary>
556 </indexterm>
557 </listitem>
558 </varlistentry>
559
560 <varlistentry id="lshal">
561 <term><command>lshal</command></term>
562 <listitem>
563 <para>shows all devices and their properties. If the --monitor option
564 is given then the device list and all devices are monitored for
565 changes.</para>
566 <indexterm zone="hal lshal">
567 <primary sortas="b-lshal">lshal</primary>
568 </indexterm>
569 </listitem>
570 </varlistentry>
571
572 <varlistentry id="libhal">
573 <term><filename class='libraryfile'>libhal.{so,a}</filename></term>
574 <listitem>
575 <para>contains the API functions required by the
576 <application>HAL</application> programs.</para>
577 <indexterm zone="hal libhal">
578 <primary sortas="c-libhal">libhal.{so,a}</primary>
579 </indexterm>
580 </listitem>
581 </varlistentry>
582
583 <varlistentry id="libhal-storage">
584 <term><filename class='libraryfile'>libhal-storage.{so,a}</filename></term>
585 <listitem>
586 <para>contains the API functions required by the
587 <application>HAL</application> storage and volume utility
588 programs.</para>
589 <indexterm zone="hal libhal-storage">
590 <primary sortas="c-libhal-storage">libhal-storage.{so,a}</primary>
591 </indexterm>
592 </listitem>
593 </varlistentry>
594
595 </variablelist>
596
597 </sect2>
598
599</sect1>
Note: See TracBrowser for help on using the repository browser.