hal: Branch 'master'
Danny Kukawka
dkukawka at kemper.freedesktop.org
Thu Oct 23 05:47:23 PDT 2008
doc/spec/hal-spec-properties.xml | 4530 +++++++++++++++++++--------------------
1 file changed, 2287 insertions(+), 2243 deletions(-)
New commits:
commit ccdd663ece77b265fa50d49a53f2b97e1a76cba9
Author: Danny Kukawka <danny.kukawka at web.de>
Date: Thu Oct 23 14:46:44 2008 +0200
reorganise spec: sort 'Functional Properties' alphabetical
Reorganise spec: sort 'Functional Properties' in alphabetical order.
diff --git a/doc/spec/hal-spec-properties.xml b/doc/spec/hal-spec-properties.xml
index ff8abde..e5d6012 100644
--- a/doc/spec/hal-spec-properties.xml
+++ b/doc/spec/hal-spec-properties.xml
@@ -3393,14 +3393,13 @@ org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'}
may have been merged from device information files or callouts.
</para>
- <sect2 id="device-properties-kernel">
+ <sect2 id="device-properties-ac_adapter">
<title>
- system namespace
+ ac_adapter namespace
</title>
<para>
- This namespace is found on the toplevel "Computer" device,
- and represents information about the system and the currently
- running kernel.
+ Device objects with the capability <literal>ac_adapter</literal>
+ represent all the devices capable of powering the system from AC power
</para>
<informaltable>
<tgroup cols="2">
@@ -3415,207 +3414,265 @@ org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'}
<tbody>
<row>
<entry>
- <literal>system.kernel.name</literal> (string)
+ <literal>ac_adapter.present</literal> (bool)
</entry>
- <entry>example: Linux</entry>
- <entry>No</entry>
+ <entry></entry>
+ <entry>Yes</entry>
<entry>
- The name of the kernel, usually the equivalent of
- <literal>uname -s</literal>.
+ The state of the adapter, i.e. whether it is providing power to
+ the unit from mains power.
</entry>
</row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </sect2>
+
+ <sect2 id="device-properties-alsa">
+ <title>
+ alsa namespace
+ </title>
+ <para>
+ Device objects with the capability <literal>alsa</literal>
+ represent all the streams available through ALSA on a soundcard.
+ </para>
+ <informaltable>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Key (type)</entry>
+ <entry>Values</entry>
+ <entry>Mandatory</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+ <tbody>
<row>
<entry>
- <literal>system.kernel.version</literal> (string)
+ <literal>alsa.card</literal> (int)
</entry>
- <entry>example: 2.6.5-7.104-default</entry>
- <entry>No</entry>
+ <entry></entry>
+ <entry>Yes</entry>
<entry>
- The version of the currently running kernel. Usually
- the equivalent of <literal>uname -r</literal>.
+ Card number in system as registered by ALSA.
</entry>
</row>
<row>
<entry>
- <literal>system.kernel.machine</literal> (string)
+ <literal>alsa.card_id</literal> (string)
+ </entry>
+ <entry>
+ Examples: <literal>I82801DBICH4</literal>, <literal>MP3</literal>
</entry>
- <entry>example: i686</entry>
<entry>No</entry>
<entry>
- The "machine hardware name" of the currently running kernel.
- Usually the equivalent of <literal>uname -m</literal>.
+ Textual description of the card.
</entry>
</row>
<row>
<entry>
- <literal>system.formfactor</literal> (string)
+ <literal>alsa.device</literal> (int)
</entry>
- <entry>example: laptop, desktop, server, unknown</entry>
+ <entry></entry>
<entry>Yes</entry>
<entry>
- The formfactor of the system. Usually the equivalent of
- <literal>system.chassis.type</literal> or set from information
- about ACPI/APM/PMU properties.
+ Device number assigned by ALSA for a current card.
</entry>
</row>
<row>
<entry>
- <literal>system.hardware.vendor</literal> (string)
+ <literal>alsa.device_file</literal> (string)
</entry>
<entry></entry>
- <entry>No</entry>
+ <entry>Yes</entry>
<entry>
- The name of the manufacturer of the machine.
+ The device node to access the ALSA device.
</entry>
</row>
<row>
<entry>
- <literal>system.hardware.product</literal> (string)
+ <literal>alsa.device_id</literal> (string)
+ </entry>
+ <entry>
+ Examples: <literal>Intel 82801DB-ICH4 MIC2 ADC</literal>
</entry>
- <entry></entry>
<entry>No</entry>
<entry>
- The product name of the machine.
+ Textual description of the specific device for a card
</entry>
</row>
<row>
<entry>
- <literal>system.hardware.version</literal> (string)
+ <literal>alsa.pcm_class</literal> (string)
</entry>
<entry></entry>
<entry>No</entry>
<entry>
- The version of the machine.
+ The PCM class of the device.
</entry>
</row>
<row>
+ <entry></entry>
+ <entry>generic</entry>
+ <entry></entry>
<entry>
- <literal>system.hardware.serial</literal> (string)
+ A standard PCM sound device (SND_PCM_CLASS_GENERIC).
</entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry>multi</entry>
<entry></entry>
- <entry>No</entry>
<entry>
- The serial number of the machine.
+ A multichannel device PCM sound device (SND_PCM_CLASS_MULTI) which
+ e.g. contains a generic and a modem device.
</entry>
</row>
<row>
+ <entry></entry>
+ <entry>digitizer</entry>
+ <entry></entry>
<entry>
- <literal>system.hardware.uuid</literal> (string)
+ A PCM digitizer device (SND_PCM_CLASS_DIGITIZER).
</entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry>modem</entry>
<entry></entry>
- <entry>No</entry>
<entry>
- The unique ID of the machine.
+ A PCM modem device (SND_PCM_CLASS_MODEM).
</entry>
</row>
<row>
+ <entry></entry>
+ <entry>unknown</entry>
+ <entry></entry>
<entry>
- <literal>system.hardware.primary_video.vendor</literal> (int)
+ The value is 'unknown' if the kernel provide no information about the
+ PCM device class of the device (e.g. the file pcm_class is missing).
</entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry>none</entry>
<entry></entry>
- <entry>No</entry>
<entry>
- The PCI vendor ID of the primary graphics card in the system.
+ The value is 'none' if this there is no PCM class for this device.
</entry>
</row>
<row>
<entry>
- <literal>system.hardware.primary_video.product</literal> (int)
+ <literal>alsa.originating_device</literal> (string)
</entry>
<entry></entry>
- <entry>No</entry>
+ <entry>Yes</entry>
<entry>
- The PCI device ID of the primary graphics card in the system.
+ UDI of the device the ALSA device is bound to.
</entry>
</row>
<row>
<entry>
- <literal>system.firmware.vendor</literal> (string)
+ <literal>alsa.type</literal> (string)
</entry>
<entry></entry>
- <entry>No</entry>
+ <entry>Yes</entry>
<entry>
- The firmware vendor.
+ The type of the stream.
</entry>
</row>
<row>
+ <entry></entry>
<entry>
- <literal>system.firmware.version</literal> (string)
+ <literal>control</literal>
</entry>
<entry></entry>
- <entry>No</entry>
<entry>
- The firmware version.
+ Stream is control device.
</entry>
</row>
<row>
+ <entry></entry>
<entry>
- <literal>system.firmware.release_date</literal> (string)
+ <literal>capture</literal>
</entry>
<entry></entry>
- <entry>No</entry>
<entry>
- The release date of the firmware.
+ Stream is capture device.
</entry>
</row>
<row>
+ <entry></entry>
<entry>
- <literal>system.chassis.manufacturer</literal> (string)
+ <literal>midi</literal>
</entry>
<entry></entry>
- <entry>No</entry>
<entry>
- The manufacturer of the chassis.
+ Stream is MIDI device.
</entry>
</row>
<row>
+ <entry></entry>
<entry>
- <literal>system.chassis.type</literal> (string)
+ <literal>playback</literal>
</entry>
<entry></entry>
- <entry>No</entry>
<entry>
- The chassis type of the machine.
+ Stream is playback device.
+ </entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry>
+ <literal>unknown</literal>
+ </entry>
+ <entry></entry>
+ <entry>
+ The type of the device is unknown.
</entry>
</row>
<row>
+ <entry></entry>
<entry>
- <literal>system.board.vendor</literal> (string)
+ <literal>hw_specific</literal>
</entry>
<entry></entry>
- <entry>No</entry>
<entry>
- The name of the manufacturer of the base board.
+ This is a hardware specific device (as e.g. from snd_fm801 for Fortemedia FM801
+ PCI Audio). The driver can use it freely for purposes that are not covered by
+ standard ALSA API.
</entry>
</row>
<row>
+ <entry></entry>
<entry>
- <literal>system.board.product</literal> (string)
+ <literal>timer</literal>
</entry>
<entry></entry>
- <entry>No</entry>
<entry>
- The product name of the base board.
+ Stream is the global ALSA timer device.
+ This means, the device is for all ALSA devices/cards.
</entry>
</row>
<row>
+ <entry></entry>
<entry>
- <literal>system.board.version</literal> (string)
+ <literal>sequencer</literal>
</entry>
<entry></entry>
- <entry>No</entry>
<entry>
- The version of the base board.
+ Stream is the global ALSA sequencer device.
+ This means, the device is for all ALSA devices/cards.
</entry>
</row>
<row>
+ <entry></entry>
<entry>
- <literal>system.board.serial</literal> (string)
+ <literal>unknown</literal>
</entry>
<entry></entry>
- <entry>No</entry>
<entry>
- The serial number of the base board.
+ Stream is unknown device.
</entry>
</row>
</tbody>
@@ -3623,18 +3680,14 @@ org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'}
</informaltable>
</sect2>
- <sect2 id="device-properties-volume">
+ <sect2 id="device-properties-battery">
<title>
- volume namespace
+ battery namespace
</title>
<para>
- This namespace is for device objects that represent storage
- devices with a filesystem that can be mounted. Such device
- objects will have the capability <literal>volume</literal> and
- they will export the properties below. Note that device
- objects can only have the <literal>volume</literal> capability
- if they already have the capability <literal>block</literal>
- and the property <literal>block.is_volume</literal> set to TRUE.
+ Device objects with the capability <literal>battery</literal>
+ represent all the devices having some battery (in many cases -
+ rechargeable) inside.
</para>
<informaltable>
<tgroup cols="2">
@@ -3649,706 +3702,599 @@ org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'}
<tbody>
<row>
<entry>
- <literal>volume.ignore</literal> (bool)
+ <literal>battery.present</literal> (bool)
</entry>
<entry></entry>
<entry>Yes</entry>
- <entry>This is a hint to software higher in the stack
- that this volume should be ignored. If TRUE, the volume
- should be invisible in the UI and mount wrappers should
- refuse to mount it on behalf on an unprivileged
- user. This is useful for hiding e.g. firmware partitions
- (e.g. bootstrap on Mac's) and OS reinstall partitions on
- e.g. OEM systems.
+ <entry>
+ This is present as some smart batteries can have acpi/pmu
+ entries, and be physically missing.
</entry>
</row>
<row>
<entry>
- <literal>volume.is_mounted</literal> (bool)
+ <literal>battery.type</literal> (string)
</entry>
<entry></entry>
<entry>Yes</entry>
- <entry>This property is TRUE if and only if the volume is mounted</entry>
+ <entry>
+ This property defines the type of the device holding the
+ battery. This property is defined for the development
+ simplicity - battery indicators can use it to find the
+ proper iconic representation.
+ </entry>
</row>
<row>
+ <entry></entry>
<entry>
- <literal>volume.is_mounted_read_only</literal> (bool)
+ <literal>pda</literal>
</entry>
<entry></entry>
- <entry>Yes</entry>
- <entry>This property is TRUE if and only if the volume is mounted and
- the volume's file-system is read-only.
+ <entry>
+ The device containing the battery is a personal digital
+ assistant, e.g. a device that looks like a handheld computer
+ to do specific tasks such as keeping notes or containing
+ a personal database
</entry>
</row>
<row>
+ <entry></entry>
<entry>
- <literal>volume.mount_point</literal> (string)
+ <literal>ups</literal>
+ </entry>
+ <entry></entry>
+ <entry>
+ A battery powered power supply that is
+ guaranteed to provide power to a computer in the event of
+ interruptions in the incoming electrical power. Most of the
+ time this is an external device.
</entry>
- <entry>example: /media/compact_flash1 </entry>
- <entry>Yes (is blank only when volume.is_mounted is FALSE)</entry>
- <entry>A fully qualified path to the mount point of the volume</entry>
</row>
<row>
+ <entry></entry>
<entry>
- <literal>volume.fsusage</literal> (string)
+ <literal>primary</literal>
</entry>
- <entry>example: filesystem</entry>
- <entry>Yes</entry>
+ <entry></entry>
<entry>
- This property specifies the expected usage of the volume
+ The battery is a primary power source for the system - an
+ example are laptop batteries.
</entry>
</row>
<row>
<entry></entry>
- <entry>filesystem</entry>
+ <entry>
+ <literal>mouse</literal>
+ </entry>
<entry></entry>
- <entry>The volume is a mountable filesystem</entry>
+ <entry>
+ The device containing the battery is a mouse.
+ </entry>
</row>
<row>
<entry></entry>
- <entry>partitiontable</entry>
+ <entry>
+ <literal>keyboard</literal>
+ </entry>
<entry></entry>
<entry>
- The volume contains a partitiontable.
- </entry>
+ The device containing the battery is a keyboard.
+ </entry>
</row>
<row>
<entry></entry>
- <entry>raid</entry>
+ <entry>
+ <literal>keyboard_mouse</literal>
+ </entry>
<entry></entry>
- <entry>The volume is a member of a raid set and not mountable</entry>
+ <entry>
+ The device containing the battery is a combined mouse and keyboard.
+ </entry>
</row>
<row>
<entry></entry>
- <entry>other</entry>
+ <entry>
+ <literal>camera</literal>
+ </entry>
<entry></entry>
- <entry>The volume is not mountable like a swap partition</entry>
+ <entry>
+ The device containing the battery is a camera.
+ </entry>
</row>
<row>
<entry></entry>
- <entry>unused</entry>
+ <entry>
+ <literal>usb</literal>
+ </entry>
<entry></entry>
- <entry>The volume is marked a unused or free</entry>
- </row>
- <row>
<entry>
- <literal>volume.fstype</literal> (string)
+ The device containing the battery is a generic usb device.
</entry>
- <entry>examples: ext3, vfat</entry>
- <entry>Yes (is blank if the type is unknown)</entry>
- <entry>The specific type of either the file system or what the volume is used for, cf. volume.fsusage</entry>
</row>
<row>
+ <entry></entry>
<entry>
- <literal>volume.fsversion</literal> (string)
+ <literal>unknown</literal>
</entry>
- <entry>example: FAT32</entry>
<entry></entry>
- <entry>Version number or subtype of the filesystem</entry>
- </row>
- <row>
<entry>
- <literal>volume.label</literal> (string)
+ The device containing the battery is not covered by other types.
</entry>
- <entry>example: 'Fedora Core 1.90' </entry>
- <entry>Yes (is blank if no label is found)</entry>
- <entry>The label of the volume</entry>
</row>
<row>
<entry>
- <literal>volume.uuid</literal> (string)
+ <literal>battery.charge_level.unit</literal> (string)
+ </entry>
+ <entry>Examples:
+ <literal>mWh</literal>,
+ <literal>percent</literal>
+ </entry>
+ <entry>No</entry>
+ <entry>
+ The physical unit used by the charge level properties
+ (maximum and current). In many cases, this property is
+ omitted - which indicates that the charge properties
+ are measured in some unknown units.
+ The units should never be mAh as this is not a measurement
+ of charge.
</entry>
- <entry>example: 4060-6C11</entry>
- <entry>Yes (is blank if no UUID is found)</entry>
- <entry>The Universal Unique Identifer for the volume</entry>
</row>
<row>
<entry>
- <literal>volume.is_disc</literal> (bool)
+ <literal>battery.charge_level.design</literal> (int)
</entry>
<entry></entry>
<entry>Yes</entry>
- <entry>If the volume stems from an optical disc, this
- property is true and the device object will also have
- the capability <literal>volume.disc</literal>
+ <entry>
+ The maximum level of charge the device was designed for.
+ Measured in <literal>"battery.charge_level.unit"</literal>
+ units.
</entry>
</row>
<row>
<entry>
- <literal>volume.block_size</literal> (string)
+ <literal>battery.charge_level.last_full</literal> (int)
</entry>
<entry></entry>
- <entry>No</entry>
+ <entry>Yes</entry>
<entry>
- The block size of the volume
+ The maximum level of charge the device could hold the last
+ time it was full.
+ Measured in <literal>"battery.charge_level.unit"</literal>
+ units.
</entry>
</row>
<row>
<entry>
- <literal>volume.num_blocks</literal> (string)
+ <literal>battery.charge_level.current</literal> (int)
</entry>
<entry></entry>
- <entry>No</entry>
+ <entry>Yes</entry>
<entry>
- Number of blocks on the volume
+ The current level of charge which the device can is holding.
+ Measured in <literal>"battery.charge_level.unit"</literal>
+ units.
</entry>
</row>
<row>
<entry>
- <literal>volume.size</literal> (uint64)
+ <literal>battery.charge_level.rate</literal> (int)
</entry>
<entry></entry>
<entry>No</entry>
<entry>
- Size of the volume in bytes
+ The discharge/charge rate measured
+ in <literal>"battery.charge_level.unit"</literal>
+ units per second.
</entry>
</row>
<row>
<entry>
- <literal>volume.is_partition</literal> (bool)
+ <literal>battery.charge_level.warning</literal> (int)
</entry>
<entry></entry>
- <entry>Yes</entry>
+ <entry>No</entry>
<entry>
- If the volume stems from a partition on e.g. a hard
- disk, this property is set to <literal>TRUE</literal>.
+ Once the charge level of the battery drops below this value its
+ state changes to 'warning'.
+ Measured in <literal>"battery.charge_level.unit"</literal>
+ units.
</entry>
</row>
<row>
<entry>
- <literal>volume.linux.is_device_mapper</literal> (bool)
+ <literal>battery.charge_level.low</literal> (int)
</entry>
<entry></entry>
- <entry>Yes, but only on Linux</entry>
+ <entry>No</entry>
<entry>
- If the volume stems from the Linux Device Mapper this property is set to <literal>TRUE</literal>.
+ Once the charge level of the battery drops below this value its
+ state changes to 'low'.
+ Measured in <literal>"battery.charge_level.unit"</literal>
+ units.
</entry>
</row>
-
<row>
<entry>
- <literal>volume.partition.number</literal> (int)
+ <literal>battery.charge_level.granularity_1</literal> (int)
</entry>
<entry></entry>
+ <entry>No</entry>
<entry>
- If, and only if, <literal>volume.is_partition</literal>
- is set to <literal>TRUE</literal>.
- </entry>
- <entry>
- The number of the partition.
+ Granularity value one of the battery measured
+ in <literal>"battery.charge_level.unit"</literal>
+ units .
</entry>
</row>
-
-
<row>
<entry>
- <literal>volume.partition.label</literal> (string)
+ <literal>battery.charge_level.granularity_2</literal> (int)
</entry>
<entry></entry>
+ <entry>No</entry>
<entry>
- If, and only if, <literal>volume.is_partition</literal>
- is set to <literal>TRUE</literal>.
- </entry>
- <entry>
- Label of partition. Only available for "apm" and "gpt"
- partition tables. Note that this is not the same as the
- file system label defined in <literal>volume.label</literal>.
+ Granularity value two of the battery measured
+ in <literal>"battery.charge_level.unit"</literal>
+ units.
</entry>
</row>
<row>
<entry>
- <literal>volume.partition.uuid</literal> (string)
+ <literal>battery.reporting.unit</literal> (string)
</entry>
- <entry></entry>
- <entry>
- If, and only if, <literal>volume.is_partition</literal>
- is set to <literal>TRUE</literal>.
+ <entry>Examples:
+ <literal>mWh</literal>,
+ <literal>mAh</literal>,
+ <literal>percent</literal>
</entry>
+ <entry>No</entry>
<entry>
- The UUID or GUID of the partition table entry. Only available for
- "gpt" partition tables.
+ The physical unit used by the charge level properties
+ (maximum and current) as reported by the hardware.
+ In many cases, this property is omitted - which indicates
+ that the charge properties are measured in some unknown units.
</entry>
</row>
-
<row>
<entry>
- <literal>volume.partition.scheme</literal> (string)
+ <literal>battery.reporting.design</literal> (int)
</entry>
<entry></entry>
+ <entry>Yes</entry>
<entry>
- If, and only if, <literal>volume.is_partition</literal>
- is set to <literal>TRUE</literal>.
- </entry>
- <entry>
- The scheme of the partition table this entry is part of.
- Note that this is not necessarily the same as
- <literal>storage.partitioning_scheme</literal> as
- some partition tables can embed other partition tables.
+ The maximum level of charge the device was designed for,
+ as reported by the hardware.
+ Measured in <literal>"battery.reporting.unit"</literal>
+ units.
</entry>
</row>
<row>
- <entry></entry>
- <entry>mbr</entry>
- <entry></entry>
<entry>
- Master Boot Record
+ <literal>battery.reporting.last_full</literal> (int)
</entry>
- </row>
- <row>
- <entry></entry>
- <entry>embr</entry>
<entry></entry>
+ <entry>No</entry>
<entry>
- Extended Master Boot Record
+ The maximum level of charge the device could hold the last
+ time it was full, as reported by the hardware.
+ Measured in <literal>"battery.reporting.unit"</literal>
+ units.
</entry>
</row>
<row>
- <entry></entry>
- <entry>gpt</entry>
- <entry></entry>
<entry>
- GUID Partition Table as defined by EFI
+ <literal>battery.reporting.current</literal> (int)
</entry>
- </row>
- <row>
- <entry></entry>
- <entry>apm</entry>
<entry></entry>
+ <entry>No</entry>
<entry>
- Apple Partition Map
+ The current level of charge which the device is holding,
+ as reported by the hardware.
+ Measured in <literal>"battery.reporting.unit"</literal>
+ units.
</entry>
</row>
-
<row>
<entry>
- <literal>volume.partition.type</literal> (string)
- </entry>
- <entry></entry>
- <entry>
- If, and only if, <literal>volume.is_partition</literal>
- is set to <literal>TRUE</literal>.
- </entry>
- <entry>
- The type of the partition table entry. Depends on
- <literal>volume.partition.scheme</literal>.
+ <literal>battery.reporting.rate</literal> (int)
</entry>
- </row>
- <row>
- <entry></entry>
- <entry><literal>mbr</literal> and <literal>embr</literal> entries</entry>
<entry></entry>
+ <entry>No</entry>
<entry>
- The hexadecimal encoding of the 8-bit partition type, see
- http://www.win.tue.nl/~aeb/partitions/partition_types-1.html
- for a list. For example the Linux partition type is represented
- as the string "0x83".
+ The discharge/charge rate as reported by the hardware measured
+ in <literal>"battery.reporting.unit"</literal>
+ units per second.
</entry>
</row>
<row>
- <entry></entry>
- <entry><literal>gpt</literal> entries</entry>
- <entry></entry>
<entry>
- The GUID encoded as a string. See http://en.wikipedia.org/wiki/GUID_Partition_Table
- for a list of well-known GUID's.
+ <literal>battery.reporting.warning</literal> (int)
</entry>
- </row>
- <row>
- <entry></entry>
- <entry><literal>apm</literal> entries</entry>
<entry></entry>
+ <entry>No</entry>
<entry>
- Defined in http://developer.apple.com/documentation/mac/Devices/Devices-126.html.
- Also note that for FAT file systems, it appears that "DOS_FAT_32", "DOS_FAT_16"
- and "DOS_FAT_12" are also recognized under Mac OS X (I've tested this too) cf.
- http://lists.apple.com/archives/Darwin-drivers/2003/May/msg00021.html
+ Once the hardware charge level of the battery drops below
+ this value its state changes to 'warning'.
+ Measured in <literal>"battery.reporting.unit"</literal>
+ units.
</entry>
</row>
-
<row>
<entry>
- <literal>volume.partition.flags</literal> (strlist)
+ <literal>battery.reporting.low</literal> (int)
</entry>
<entry></entry>
+ <entry>No</entry>
<entry>
- If, and only if, <literal>volume.is_partition</literal>
- is set to <literal>TRUE</literal>.
- </entry>
- <entry>
- Flags conveying specific information about the partition
- entry. Dependent on the partitioning scheme.
+ Once the hardware charge level of the battery drops below
+ this value its state changes to 'low'.
+ Measured in <literal>"battery.reporting.unit"</literal>
+ units.
</entry>
</row>
<row>
- <entry></entry>
- <entry><literal>mbr</literal> and <literal>embr</literal> entries</entry>
- <entry></entry>
<entry>
- Only one flag, "boot", is defined. This is used by some BIOS'es and
- boot loaders to populate a boot menu. It means that a partition is
- bootable.
+ <literal>battery.reporting.granularity_1</literal> (int)
</entry>
- </row>
- <row>
- <entry></entry>
- <entry><literal>gpt</literal> entries</entry>
<entry></entry>
+ <entry>No</entry>
<entry>
- Only the flag "required" is recognized. This corresponds to
- bit 0 of the attibutes (at offset 48), meaning
- "Required for the platform to function. The system cannot
- function normally if this partition is removed. This
- partition should be considered as part of the hardware of the
- system, and if it is removed the system may not boot. It may
- contain diagnostics, recovery tools, or other code or data that is
- critical to the functioning of a system independent of any OS."
+ Hardware granularity value one of the battery measured
+ in <literal>"battery.reporting.unit"</literal>
+ units .
</entry>
</row>
<row>
+ <entry>
+ <literal>battery.reporting.granularity_2</literal> (int)
+ </entry>
<entry></entry>
- <entry><literal>apm</literal> entries</entry>
- <entry></entry>
+ <entry>No</entry>
<entry>
- The following flags are recognized:
- "allocated" if the partition is already allocated; and
- "in_use" if the partition is in use; may be cleared after a system reset; and
- "boot" if partition contains valid boot information; and
- "allow_read" if partition allows reading; and
- "allow_write"; if partition allows writing; and
- "boot_code_is_pic"; if boot code is position independent
+ Hardware granularity value two of the battery measured
+ in <literal>"battery.reporting.unit"</literal>
+ units.
</entry>
</row>
-
<row>
<entry>
- <literal>volume.partition.media_size</literal> (uint64)
+ <literal>battery.charge_level.capacity_state</literal> (string)
</entry>
- <entry>example: 500107862016</entry>
<entry>
- If, and only if, <literal>volume.is_partition</literal>
- is set to <literal>TRUE</literal>.
+ Examples: <literal>ok</literal>, <literal>critical</literal>
</entry>
+ <entry>No</entry>
<entry>
- If available, size of the current media or the fixed disk in the storage device.
+ The capacity state of the battery.
</entry>
</row>
<row>
<entry>
- <literal>volume.partition.start</literal> (uint64)
+ <literal>battery.voltage.unit</literal> (string)
</entry>
- <entry>example: 32256</entry>
<entry>
- If, and only if, <literal>volume.is_partition</literal>
- is set to <literal>TRUE</literal>.
+ Examples: <literal>mV</literal>
</entry>
+ <entry>No</entry>
<entry>
- If available, the offset where the partition starts on the media or the fixed disk in the storage device.
+ The physical measurement unit used by the voltage properties
+ (design and current).
</entry>
</row>
- </tbody>
- </tgroup>
- </informaltable>
- <para>
- Device objects with this capability may emit the following
- device conditions
- </para>
- <informaltable>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Condition Name</entry>
- <entry>Parameters</entry>
- <entry>Example</entry>
- <entry>Description</entry>
- </row>
- </thead>
- <tbody>
<row>
<entry>
- <literal>VolumeMount</literal>
- </entry>
- <entry>
- <literal>block.device</literal> (string),
- <literal>volume.mount_point</literal> (string)
+ <literal>battery.voltage.design</literal> (int)
</entry>
+ <entry></entry>
+ <entry>Yes</entry>
<entry>
- <literal>/dev/sda1</literal>,
- <literal>/media/compact_flash</literal>
+ The voltage level for which the battery is designed for.
+ Measured in <literal>"battery.voltage.unit"</literal>
+ units.
</entry>
- <entry>Emitted when a volume is mounted</entry>
</row>
<row>
<entry>
- <literal>VolumeUnmount</literal>
- </entry>
- <entry>
- <literal>block.device</literal> (string),
- <literal>volume.mount_point</literal> (string)
+ <literal>battery.voltage.current</literal> (int)
</entry>
+ <entry></entry>
+ <entry>Yes</entry>
<entry>
- <literal>/dev/sda1</literal>,
- <literal>/media/compact_flash</literal>
+ The voltage level currently emitted by the battery.
+ Measured in <literal>"battery.voltage.unit"</literal>
+ units.
</entry>
- <entry>Emitted when a volume is unmounted</entry>
</row>
<row>
<entry>
- <literal>VolumeUnmountForced</literal>
- </entry>
- <entry>
- <literal>block.device</literal> (string),
- <literal>volume.mount_point</literal> (string)
+ <literal>battery.alarm.unit</literal> (string)
</entry>
<entry>
- <literal>/dev/sda1</literal>,
- <literal>/media/compact_flash</literal>
+ Examples: <literal>mWh</literal>, <literal>mAh</literal>
</entry>
+ <entry>No</entry>
<entry>
- Emitted when a volume is forcibly unmounted because
- the media backing the volume was removed.
+ The physical measurement unit used by the alarm property.
</entry>
</row>
- </tbody>
- </tgroup>
- </informaltable>
- </sect2>
- <sect2 id="device-properties-volume-disc">
- <title>
- volume.disc namespace
- </title>
- <para>
- This namespace is for device objects that represent optical
- discs, e.g. device objects with the capability
- <literal>volume.disc</literal>. Such device objects will
- also have the capability <literal>volume</literal>.
- </para>
- <informaltable>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Key (type)</entry>
- <entry>Values</entry>
- <entry>Mandatory</entry>
- <entry>Description</entry>
- </row>
- </thead>
- <tbody>
<row>
<entry>
- <literal>volume.disc.has_audio</literal> (bool)
+ <literal>battery.alarm.design</literal> (int)
</entry>
<entry></entry>
- <entry>Yes</entry>
- <entry>Is true only if the disc contains audio</entry>
- </row>
- <row>
+ <entry>No</entry>
<entry>
- <literal>volume.disc.has_data</literal> (bool)
+ Once the charge level of the battery drops below this value
+ its state changes to 'alarm'.
+ Measured in <literal>"battery.alarm.unit"</literal>
+ units.
</entry>
- <entry></entry>
- <entry>Yes</entry>
- <entry>Is true only if the disc contains data</entry>
</row>
<row>
<entry>
- <literal>volume.disc.is_vcd</literal> (bool)
+ <literal>battery.remaining_time</literal> (int)
</entry>
<entry></entry>
- <entry>Yes</entry>
- <entry>Is true only if the disc is a Video CD</entry>
- </row>
- <row>
+ <entry>No</entry>
<entry>
- <literal>volume.disc.is_svcd</literal> (bool)
+ Remaining time, in seconds, that the battery can provide
+ power (if discharging) or the time until charged (if charging).
+ This is an estimate and may be imprecise.
+ This key is not present for invalid data.
</entry>
- <entry></entry>
- <entry>Yes</entry>
- <entry>Is true only if the disc is a Super Video CD</entry>
</row>
<row>
<entry>
- <literal>volume.disc.is_videodvd</literal> (bool)
+ <literal>battery.remaining_time.calculate_per_time</literal> (bool)
</entry>
<entry></entry>
- <entry>Yes</entry>
- <entry>Is true only if the disc is a Video DVD</entry>
- </row>
- <row>
+ <entry>No</entry>
<entry>
- <literal>volume.disc.is_appendable</literal> (bool)
+ If this property is <literal>true</literal> the
+ <literal>battery.remaining_time</literal> becomes guessed from
+ <literal>battery.charge_level.current</literal> and time.
</entry>
- <entry></entry>
- <entry>Yes</entry>
- <entry>Is true only if it's possible to write additional data</entry>
</row>
<row>
<entry>
- <literal>volume.disc.is_blank</literal> (bool)
+ <literal>battery.charge_level.percentage</literal> (int)
</entry>
<entry></entry>
- <entry>Yes</entry>
- <entry>Is true only if the disc is blank</entry>
- </row>
- <row>
+ <entry>No</entry>
<entry>
- <literal>volume.disc.is_rewritable</literal> (bool)
+ Charge, normalised to percent. This is useful if an application
+ does not want to process the raw values and do all the extra
+ checks on the result. This key is not present for invalid data.
</entry>
- <entry></entry>
- <entry>Yes</entry>
- <entry>Is true only if the disc is rewritable</entry>
</row>
<row>
<entry>
- <literal>volume.disc.capacity</literal> (uint64)
+ <literal>battery.is_rechargeable</literal> (bool)
</entry>
<entry></entry>
<entry>No</entry>
- <entry>Capacity of disc, in bytes</entry>
- </row>
- <row>
<entry>
- <literal>volume.disc.type</literal> (string)
+ True if the battery unit is rechargeable, false if its is
+ one-time (disposable after one usage).
</entry>
- <entry></entry>
- <entry>Yes</entry>
- <entry>This property specifies the physical type of the disc</entry>
- </row>
- <row>
- <entry></entry>
- <entry>cd_rom</entry>
- <entry></entry>
- <entry>CD-ROM disc</entry>
- </row>
- <row>
- <entry></entry>
- <entry>cd_r</entry>
- <entry></entry>
- <entry>CD-R disc</entry>
</row>
<row>
+ <entry>
+ <literal>battery.rechargeable.is_charging</literal> (bool)
+ </entry>
<entry></entry>
- <entry>cd_rw</entry>
- <entry></entry>
- <entry>CD-RW disc</entry>
- </row>
- <row>
- <entry></entry>
- <entry>dvd_rom</entry>
- <entry></entry>
- <entry>DVD-ROM disc</entry>
- </row>
- <row>
- <entry></entry>
- <entry>dvd_ram</entry>
- <entry></entry>
- <entry>DVD-RAM disc</entry>
- </row>
- <row>
- <entry></entry>
- <entry>dvd_r</entry>
- <entry></entry>
- <entry>DVD-R disc</entry>
- </row>
- <row>
- <entry></entry>
- <entry>dvd_rw</entry>
- <entry></entry>
- <entry>DVD-RW disc</entry>
- </row>
- <row>
- <entry></entry>
- <entry>dvd_r_dl</entry>
- <entry></entry>
- <entry>DVD-R dual layer disc</entry>
- </row>
- <row>
- <entry></entry>
- <entry>dvd_plus_r</entry>
- <entry></entry>
- <entry>DVD+R disc</entry>
- </row>
- <row>
- <entry></entry>
- <entry>dvd_plus_r_dl</entry>
- <entry></entry>
- <entry>DVD+R dual layer disc</entry>
- </row>
- <row>
- <entry></entry>
- <entry>dvd_plus_rw</entry>
- <entry></entry>
- <entry>DVD+RW disc</entry>
+ <entry>
+ Only if <literal>battery.is_rechargeable</literal> is TRUE
+ </entry>
+ <entry>
+ TRUE if, and only if, the battery is charging.
+ </entry>
</row>
<row>
+ <entry>
+ <literal>battery.rechargeable.is_discharging</literal> (bool)
+ </entry>
<entry></entry>
- <entry>dvd_plus_rw_dl</entry>
- <entry></entry>
- <entry>DVD+RW dual layer disc</entry>
+ <entry>
+ Only if <literal>battery.is_rechargeable</literal> is TRUE
+ </entry>
+ <entry>
+ TRUE if, and only if, the battery is discharging.
+ </entry>
</row>
<row>
+ <entry>
+ <literal>battery.command_interface</literal> (string)
+ </entry>
<entry></entry>
- <entry>bd_rom</entry>
- <entry></entry>
- <entry>BD-ROM disc</entry>
+ <entry>No</entry>
+ <entry>
+ The abstract name allowing daemons and/or user-level apps
+ to distinguish some groups of devices having similar
+ programming interface. Introduced mostly for the daemons'
+ coding simplicity.
+ </entry>
</row>
<row>
+ <entry>
+ <literal>battery.vendor</literal> (string)
+ </entry>
<entry></entry>
- <entry>bd_r</entry>
- <entry></entry>
- <entry>BD-R disc</entry>
+ <entry>No</entry>
+ <entry>
+ Vendor of the battery.
+ </entry>
</row>
<row>
+ <entry>
+ <literal>battery.model</literal> (string)
+ </entry>
<entry></entry>
- <entry>bd_re</entry>
- <entry></entry>
- <entry>BD-RE disc</entry>
+ <entry>No</entry>
+ <entry>
+ Make of the battery.
+ </entry>
</row>
<row>
- <entry></entry>
- <entry>hddvd_rom</entry>
- <entry></entry>
- <entry>HD DVD-ROM disc</entry>
+ <entry>
+ <literal>battery.reporting.technology</literal> (string)
+ </entry>
+ <entry>example: LION</entry>
+ <entry>No</entry>
+ <entry>
+ The technology of the battery as reported by the hardware.
+ </entry>
</row>
<row>
- <entry></entry>
- <entry>hddvd_r</entry>
- <entry></entry>
- <entry>HD DVD-R disc</entry>
+ <entry>
+ <literal>battery.technology</literal> (string)
+ </entry>
+ <entry>
+ lead-acid, lithium-ion, lithium-polymer,
+ nickel-metal-hydride, unknown
+ </entry>
+ <entry>No</entry>
+ <entry>
+ The technology of the battery processed to a few standard types.
+ This key is needed as the hardware often does not specify the
+ description text for a battery, and so we have to calculate it
+ from the output of <literal>battery.reporting.technology</literal>.
+ </entry>
</row>
<row>
+ <entry>
+ <literal>battery.serial</literal> (string)
+ </entry>
<entry></entry>
- <entry>hddvd_rw</entry>
- <entry></entry>
- <entry>HD DVD-Rewritable disc</entry>
+ <entry>No</entry>
+ <entry>
+ A string uniquely identifying the instance of the battery;
+ it will be different for two (otherwise) identical batteries.
+ </entry>
</row>
<row>
+ <entry>
+ <literal>battery.quirk.do_not_poll</literal> (bool)
+ </entry>
<entry></entry>
- <entry>unknown</entry>
- <entry></entry>
- <entry>Unknown type or lack of support from drive to determine the type</entry>
+ <entry>No</entry>
+ <entry>
+ True if HAL should not poll the battery, False or not available at all
+ if HAL should show the default behavior.
+ </entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect2>
- <sect2 id="device-properties-storage">
+
+ <sect2 id="device-properties-button">
<title>
- storage namespace
+ button namespace
</title>
<para>
- This namespace is used to describe storage devices
- and their capabilities. Such device objects will have the
- capability <literal>storage</literal> and
- they will export the properties below. Note that device
- objects can only have the <literal>storage</literal> capability
- if they already got capability <literal>block</literal> and the
- property <literal>block.is_volume</literal> set to FALSE.
- One significant between the <literal>storage</literal> and
- <literal>block</literal> namespace is that the properties
- exported in the <literal>storage</literal> represents
- constant vital product information, whereas the properties
- in the <literal>block</literal> namespace represent
- variable system-dependent information.
+ Device objects with the capability <literal>button</literal>
+ represent the devices capable of providing a state to the system.
</para>
<informaltable>
<tgroup cols="2">
@@ -4363,375 +4309,404 @@ org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'}
<tbody>
<row>
<entry>
- <literal>storage.bus</literal> (string)
+ <literal>button.type</literal> (string)
</entry>
<entry></entry>
- <entry>Yes</entry>
- <entry>Interface the storage device is attached to</entry>
- </row>
- <row>
- <entry></entry>
- <entry>bdi</entry>
- <entry></entry>
- <entry>BDI (Backing Device Information) interface</entry>
- </row>
- <row>
- <entry></entry>
- <entry>ccw</entry>
- <entry></entry>
- <entry>IBM s390/s390x ccw interface</entry>
- </row>
- <row>
- <entry></entry>
- <entry>ide</entry>
- <entry></entry>
- <entry>IDE or ATA interface</entry>
- </row>
- <row>
- <entry></entry>
- <entry>ieee1394</entry>
- <entry></entry>
- <entry>IEEE 1394 interface</entry>
- </row>
- <row>
- <entry></entry>
- <entry>linux_raid</entry>
- <entry></entry>
- <entry>Linux MD (multi disk) RAID device</entry>
- </row>
- <row>
- <entry></entry>
- <entry>mmc</entry>
- <entry></entry>
- <entry>MultiMediaCard (MMC) interface</entry>
- </row>
- <row>
- <entry></entry>
- <entry>pci</entry>
- <entry></entry>
- <entry>PCI interface</entry>
- </row>
- <row>
- <entry></entry>
- <entry>pcmcia</entry>
- <entry></entry>
- <entry>PCMCIA interface</entry>
- </row>
- <row>
- <entry></entry>
- <entry>platform</entry>
- <entry></entry>
- <entry>Legacy device that is part of the platform</entry>
- </row>
- <row>
- <entry></entry>
- <entry>sata</entry>
- <entry></entry>
- <entry>SATA interface</entry>
+ <entry>No</entry>
+ <entry>The type of button</entry>
</row>
<row>
<entry></entry>
- <entry>scsi</entry>
+ <entry>lid</entry>
<entry></entry>
- <entry>SCSI interface</entry>
+ <entry>
+ The switch on a laptop that senses whether the lid is
+ open or closed
+ </entry>
</row>
<row>
<entry></entry>
- <entry>usb</entry>
+ <entry>power</entry>
<entry></entry>
- <entry>USB interface</entry>
+ <entry>The main power button on the computer.</entry>
</row>
<row>
<entry></entry>
- <entry>vio</entry>
+ <entry>sleep</entry>
<entry></entry>
- <entry>IBM pSeries/iSeries Vio interface</entry>
+ <entry>
+ The sleep button on a computer capable of putting the computer
+ into a suspend state
+ </entry>
</row>
<row>
+ <entry>
+ <literal>button.has_state</literal> (bool)
+ </entry>
<entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
+ <entry>no</entry>
+ <entry>True if the button maintains state, e.g. can toggled on/off</entry>
</row>
<row>
<entry>
- <literal>storage.drive_type</literal> (string)
+ <literal>button.state.value</literal> (bool)
</entry>
<entry></entry>
- <entry>Yes</entry>
<entry>
- The type of the drive. Note that it may not be
- possible to probe for some of these properties so in
- some cases memory card readers may appear as
- harddisks. Device information files can be used to
- override this value.
+ Only when <literal>button.has_state</literal> is
+ TRUE
</entry>
+ <entry>State of the button, TRUE if it is enabled</entry>
</row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ <para>
+ Device objects with this capability may emit the following events.
+ </para>
+ <informaltable>
+ <tgroup cols="2">
+ <thead>
<row>
- <entry></entry>
- <entry>disk</entry>
- <entry></entry>
- <entry>The device is a harddisk</entry>
+ <entry>Condition Name</entry>
+ <entry>Parameters</entry>
+ <entry>Example</entry>
+ <entry>Description</entry>
</row>
+ </thead>
+ <tbody>
<row>
- <entry></entry>
- <entry>cdrom</entry>
- <entry></entry>
<entry>
- The device is an optical drive. The device object will also have the capability <literal>storage.cdrom</literal> in this case.
+ <literal>ButtonPressed</literal>
</entry>
- </row>
- <row>
- <entry></entry>
- <entry>floppy</entry>
- <entry></entry>
- <entry>The device is a floppy disk drive</entry>
- </row>
- <row>
- <entry></entry>
- <entry>tape</entry>
- <entry></entry>
- <entry>The device is a tape drive</entry>
- </row>
- <row>
- <entry></entry>
- <entry>compact_flash</entry>
- <entry></entry>
- <entry>The device is a card reader for Compact Flash memory cards</entry>
- </row>
- <row>
- <entry></entry>
- <entry>memory_stick</entry>
- <entry></entry>
- <entry>The device is a card reader for MemoryStick memory cards</entry>
- </row>
- <row>
- <entry></entry>
- <entry>smart_media</entry>
- <entry></entry>
- <entry>The device is a card reader for SmartMedia memory cards</entry>
- </row>
- <row>
- <entry></entry>
- <entry>sd_mmc</entry>
- <entry></entry>
- <entry>The device is a card reader for SecureDigital/MultiMediaCard memory cards</entry>
- </row>
- <row>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
- </row>
- <row>
<entry>
- <literal>storage.removable</literal> (bool)
+ <literal>button.type (string)</literal>
</entry>
- <entry></entry>
- <entry>Yes</entry>
- <entry>Media can be removed from the storage device</entry>
+ <entry>sleep</entry>
+ <entry>Emitted when a button is pressed</entry>
</row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </sect2>
+
+ <sect2 id="device-properties-camera">
+ <title>
+ camera namespace
+ </title>
+ <para>
+ Device objects with the capability <literal>camera</literal>
+ represent digital still cameras that can be attached to a
+ computer to exchange files. This does not include card readers
+ for memory cards used for cameras. This capability can't, in
+ general, be reliably probed from the hardware so the
+ information needs to be merged from either device information
+ files or callouts. Therefore this capability should be merged
+ on the appropriate device object that represents the
+ addressable piece of hardware that is the digital still
+ camera; for USB devices this would be the device object
+ representing the appropriate USB interface. The following
+ properties are available:
+ </para>
+ <informaltable>
+ <tgroup cols="2">
+ <thead>
<row>
- <entry>
- <literal>storage.removable.media_available</literal> (bool)
- </entry>
- <entry></entry>
- <entry>Yes</entry>
- <entry>true, if and only if, media have been detected in storage device</entry>
+ <entry>Key (type)</entry>
+ <entry>Values</entry>
+ <entry>Mandatory</entry>
+ <entry>Description</entry>
</row>
+ </thead>
+ <tbody>
<row>
<entry>
- <literal>storage.removable.media_size</literal> (uint64)
+ <literal>camera.access_method</literal> (string)
</entry>
<entry></entry>
<entry>Yes</entry>
- <entry>Size of media in storage device. Available only if media have been detected in storage device.</entry>
+ <entry>This property defines how the device is accessed </entry>
</row>
<row>
- <entry>
- <literal>storage.removable.support_async_notification</literal> (bool)
- </entry>
<entry></entry>
- <entry>Yes</entry>
- <entry>Whether the drive reports asynchronous notification for media change.</entry>
- </row>
- <row>
+ <entry>storage</entry>
+ <entry></entry>
<entry>
- <literal>storage.partitioning_scheme</literal> (string)
+ The device is accessed as a Mass Storage device
+ through a kernel driver. Application Developers
+ should descent down the device object tree to find the
+ device object of capability
+ <literal>storage</literal> in order to access the
+ device.
</entry>
- <entry></entry>
- <entry>Only when media is inserted and is partitioned</entry>
- <entry>The partitioning scheme of the media.</entry>
</row>
<row>
<entry></entry>
- <entry>mbr</entry>
+ <entry>user</entry>
<entry></entry>
- <entry>Master Boot Record partitioning scheme used in most PC's</entry>
+ <entry>
+ The device is accessed from userspace through
+ a userspace driver.
+ </entry>
</row>
<row>
<entry></entry>
- <entry>gpt</entry>
<entry></entry>
- <entry>GUID Partitioning Table as defined by UEFI</entry>
- </row>
- <row>
<entry></entry>
- <entry>apm</entry>
<entry></entry>
- <entry>Apple Partition Map, used in non-Intel Apple computers</entry>
</row>
<row>
<entry>
- <literal>storage.size</literal> (uint64)
+ <literal>camera.libgphoto2.support</literal> (bool)
</entry>
<entry></entry>
<entry>No</entry>
- <entry>size in bytes of the storage device - only meaningful if storage.removable is FALSE</entry>
- </row>
- <row>
<entry>
- <literal>storage.requires_eject</literal> (bool)
+ If true, the device is supported by a userspace driver
+ from the libgphoto2 project.
</entry>
- <entry></entry>
- <entry>Yes</entry>
- <entry>The eject ioctl is required to properly eject the media</entry>
</row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </sect2>
+
+ <sect2 id="device-properties-input">
+ <title>
+ input namespace
+ </title>
+ <para>
+ This namespace is concerned with human input devices such as
+ keyboards, mice, pointing devices and game controllers. If a
+ device object has the capability <literal>input</literal> then
+ the following properties are available
+ </para>
+ <informaltable>
+ <tgroup cols="2">
+ <thead>
<row>
- <entry>
- <literal>storage.hotpluggable</literal> (bool)
- </entry>
- <entry></entry>
- <entry>Yes</entry>
- <entry>The storage device can be removed while the system is running</entry>
+ <entry>Key (type)</entry>
+ <entry>Values</entry>
+ <entry>Mandatory</entry>
+ <entry>Description</entry>
</row>
+ </thead>
+ <tbody>
<row>
<entry>
- <literal>storage.media_check_enabled</literal> (bool)
+ <literal>input.device</literal> (string)
</entry>
<entry></entry>
<entry>Yes</entry>
- <entry>If this property is set to FALSE then HAL will not continuosly poll for media changes. </entry>
+ <entry>Special device file for recieving input events</entry>
</row>
<row>
<entry>
- <literal>storage.automount_enabled_hint</literal> (bool)
+ <literal>input.x11_driver</literal> (string)
</entry>
- <entry></entry>
- <entry>Yes</entry>
- <entry>This property is a hint to desktop file managers that they shouldn't automount volumes of the storage device when they appear.</entry>
+ <entry>e.g. "evdev"</entry>
+ <entry>No</entry>
+ <entry>X11 input driver to use</entry>
</row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </sect2>
+
+ <sect2 id="device-properties-input-joystick">
+ <title>
+ input.joystick namespace
+ </title>
+ <para>
+ The input device is a joystick. No namespace specific
+ properties.
+ </para>
+ </sect2>
+
+ <sect2 id="device-properties-input-keyboard">
+ <title>
+ input.keyboard namespace
+ </title>
+ <para>
+ The input device is a normal keyboard. No namespace specific
+ properties.
+ </para>
+ </sect2>
+
+ <sect2 id="device-properties-input-keymap">
+ <title>
+ input.keymap namespace
+ </title>
+ <para>
+ Device objects with the capability <literal>input.keymap</literal>
+ provide facilities to remap keyboard buttons.
+ </para>
+ <informaltable>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Key (type)</entry>
+ <entry>Values</entry>
+ <entry>Mandatory</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+ <tbody>
<row>
<entry>
- <literal>storage.no_partitions_hint</literal> (bool)
+ <literal>input.keymap.data</literal> (strlist)
</entry>
- <entry></entry>
- <entry>Yes</entry>
+ <entry>e.g. "e017:brightnessup"</entry>
+ <entry>No</entry>
<entry>
- This property is a hint to programs that maintain the
- <literal>/etc/fstab</literal> file to signal, when
- TRUE, that the storage drive (such as floppy or
- optical drives) is used for media with no partition
- table so an entry can be added ahead of media
- insertion time. Note that this is only a hint; media
- may be inserted that has partition tables that the
- kernel may respect. Conversely, when this is FALSE
- media without partition tables may be inserted (an
- example is a Compact Flash card; this media is normally
- formatted with a PC style partition table and a single
- FAT partition. However, it may be formatted with just
- a single FAT partition and no partition table).
+ The scancode is represented in hex and the keycode name as
+ as string. The keycode name is not case sensitive.
+ On Linux, the keycode name should be the same constant as
+ present in /usr/include/linux/input.h with the 'KEY_'
+ prefix removed, e.g. 'KEY_SLEEP' -> 'sleep'.
+ You can append as many <literal>input.keymap.data</literal>
+ values as there are keys to remap.
</entry>
</row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </sect2>
+
+ <sect2 id="device-properties-input-keypad">
+ <title>
+ input.keypad namespace
+ </title>
+ <para>
+ The input device have keypad keys. No namespace
+ specific properties.
+ </para>
+ </sect2>
+
+ <sect2 id="device-properties-input-keys">
+ <title>
+ input.keys namespace
+ </title>
+ <para>
+ The input device have keys that can be pressed. No namespace
+ specific properties.
+ </para>
+ </sect2>
+
+ <sect2 id="device-properties-input-mouse">
+ <title>
+ input.mouse namespace
+ </title>
+ <para>
+ The input device is a mouse. No namespace specific
+ properties.
+ </para>
+ </sect2>
+
+ <sect2 id="device-properties-input-switch">
+ <title>
+ input.switch namespace
+ </title>
+ <para>
+ The input device is a switch, e.g. it has buttons with
+ state. No namespace specific properties.
+ </para>
+ </sect2>
+
+ <sect2 id="device-properties-input-tablet">
+ <title>
+ input.tablet namespace
+ </title>
+ <para>
+ The input device is a tablet. No namespace specific
+ properties.
+ </para>
+ </sect2>
+
+ <sect2 id="device-properties-input-xkb">
+ <title>
+ input.xkb namespace
+ </title>
+ <para>
+ Device objects with the capability <literal>input.keys</literal>
+ can provide information about their physical layout.
+ </para>
+ <informaltable>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Key (type)</entry>
+ <entry>Values</entry>
+ <entry>Mandatory</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+ <tbody>
<row>
<entry>
- <literal>storage.originating_device</literal> (string)
+ <literal>input.xkb.rules</literal> (string)
</entry>
- <entry></entry>
+ <entry>e.g. "base"</entry>
<entry>Yes</entry>
<entry>
- This contains the UDI of the device object
- representing the device or blank if
- there is no such device.
+ XKB rules file to use; 'base' is standard, but 'xorg'
+ or 'xfree86' may be needed for backwards compatibility
+ with very old versions of XKB data.
</entry>
</row>
<row>
<entry>
- <literal>storage.model</literal> (string)
+ <literal>input.xkb.model</literal> (string)
</entry>
- <entry></entry>
+ <entry>e.g. "logicdp"</entry>
<entry>Yes</entry>
- <entry>The name of the drive</entry>
- </row>
- <row>
<entry>
- <literal>storage.vendor</literal> (string)
+ Physical keyboard model (e.g. Logitech Cordless Freedom
+ Pro), as given to XKB.
</entry>
- <entry></entry>
- <entry>Yes</entry>
- <entry>The vendor of the drive</entry>
</row>
<row>
<entry>
- <literal>storage.serial</literal> (string)
+ <literal>input.xkb.layout</literal> (string)
</entry>
- <entry></entry>
- <entry>No</entry>
- <entry>The serial number of the drive</entry>
- </row>
- <row>
+ <entry>e.g. "us"</entry>
+ <entry>Yes</entry>
<entry>
- <literal>storage.firmware_revision</literal> (string)
+ Keyboard layout (as engraved on the keys).
</entry>
- <entry></entry>
- <entry>No</entry>
- <entry>The revision of the firmware of the drive</entry>
</row>
<row>
<entry>
- <literal>storage.icon.drive</literal> (string)
+ <literal>input.xkb.variant</literal> (string)
</entry>
- <entry></entry>
+ <entry>e.g. "nodeadkeys"</entry>
<entry>No</entry>
<entry>
- Name of icon to use for displaying the drive. The name
- must comply with freedesktop.org icon-theme specification
- and must not be an absolute path.
- This property exists such that e.g. OEM's can install
- icons in <literal>/usr/share/icons/hicolor</literal>
- a device information file matching their device.
+ Variant of the XKB layout (if any) to use.
</entry>
</row>
<row>
<entry>
- <literal>storage.icon.volume</literal> (string)
+ <literal>input.xkb.options</literal> (strlist)
</entry>
- <entry></entry>
+ <entry>e.g. "ctrl:nocaps"</entry>
<entry>No</entry>
<entry>
- Name of icon to use for displaying volumes from the drive.
- The name must comply with freedesktop.org icon-theme
- specification and must not be an absolute path.
- This property exists such that e.g. OEM's can install
- icons in <literal>/usr/share/icons/hicolor</literal>
- a device information file matching their device.
+ Options to be provided to XKB.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect2>
- <sect2 id="device-properties-storage-cdrom">
+
+ <sect2 id="device-properties-killswitch">
<title>
- storage.cdrom namespace
+ killswitch namespace
</title>
<para>
- This namespace is used to describe optical storage drives
- and their capabilities.Such device objects will have the
- capability <literal>storage.cdrom</literal> and
- they will export the properties below. Note that device
- objects can only have the <literal>storage.cdrom</literal> capability
- if they already got the capability <literal>storage</literal>.
+ Device objects with the capability <literal>killswitch</literal>
+ represent switches to turn a radio on and off. See also <xref linkend="interface-device-killswitch"/>.
</para>
<informaltable>
<tgroup cols="2">
@@ -4746,224 +4721,167 @@ org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'}
<tbody>
<row>
<entry>
- <literal>storage.cdrom.cdr</literal> (bool)
- </entry>
- <entry></entry>
- <entry>Yes</entry>
- <entry>TRUE when the optical drive can write CD-R discs</entry>
- </row>
- <row>
- <entry>
- <literal>storage.cdrom.cdrw</literal> (bool)
+ <literal>killswitch.type</literal> (string)
</entry>
<entry></entry>
<entry>Yes</entry>
- <entry>TRUE when the optical drive can blank and write to CD-RW discs</entry>
+ <entry>Type of the kill switch</entry>
</row>
<row>
- <entry>
- <literal>storage.cdrom.dvd</literal> (bool)
- </entry>
<entry></entry>
- <entry>Yes</entry>
- <entry>TRUE when the optical drive can read DVD-ROM discs</entry>
- </row>
- <row>
- <entry>
- <literal>storage.cdrom.dvdr</literal> (bool)
- </entry>
+ <entry>wlan</entry>
<entry></entry>
- <entry>Yes</entry>
- <entry>TRUE when the optical drive can write to DVD-R discs</entry>
+ <entry>Kill switch is for turning Wireless LAN (WLAN) networking on/off</entry>
</row>
<row>
- <entry>
- <literal>storage.cdrom.dvdrw</literal> (bool)
- </entry>
<entry></entry>
- <entry>Yes</entry>
- <entry>TRUE when the optical drive can blank and write to DVD-RW discs</entry>
- </row>
- <row>
- <entry>
- <literal>storage.cdrom.dvdrdl</literal> (bool)
- </entry>
+ <entry>bluetooth</entry>
<entry></entry>
- <entry>Yes</entry>
- <entry>TRUE when the optical drive can write to DVD-R Dual-Layer discs</entry>
+ <entry>Kill switch is for turning Bluetooth on/off</entry>
</row>
<row>
- <entry>
- <literal>storage.cdrom.dvdram</literal> (bool)
- </entry>
<entry></entry>
- <entry>Yes</entry>
- <entry>TRUE when the optical drive can write to DVD-RAM discs</entry>
- </row>
- <row>
- <entry>
- <literal>storage.cdrom.dvdplusr</literal> (bool)
- </entry>
+ <entry>wwan</entry>
<entry></entry>
- <entry>Yes</entry>
- <entry>TRUE when the optical drive can write to DVD+R discs</entry>
+ <entry>Kill switch is for turning Wireless WAN (WWAN) networking on/off</entry>
</row>
<row>
<entry>
- <literal>storage.cdrom.dvdplusrw</literal> (bool)
+ <literal>killswitch.name</literal> (string)
</entry>
<entry></entry>
- <entry>Yes</entry>
- <entry>TRUE when the optical drive can blank and write to DVD+RW discs</entry>
+ <entry>No</entry>
+ <entry>Name of the kill switch (as reported by the kernel).</entry>
</row>
<row>
<entry>
- <literal>storage.cdrom.dvdplusrwdl</literal> (bool)
+ <literal>killswitch.access_method</literal> (string)
</entry>
<entry></entry>
<entry>Yes</entry>
- <entry>TRUE when the optical drive can blank and write to DVD+RW Dual-Layer discs</entry>
+ <entry>How HAL should program the switch</entry>
</row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </sect2>
+
+ <sect2 id="device-properties-laptop-panel">
+ <title>
+ laptop_panel namespace
+ </title>
+ <para>
+ Device objects with the capability <literal>laptop_panel</literal>
+ represent devices capable of changing the brightness of the display.
+ </para>
+ <informaltable>
+ <tgroup cols="2">
+ <thead>
<row>
- <entry>
- <literal>storage.cdrom.dvdplusrdl</literal> (bool)
- </entry>
- <entry></entry>
- <entry>Yes</entry>
- <entry>TRUE when the optical drive can write to DVD+R Dual-Layer discs</entry>
+ <entry>Key (type)</entry>
+ <entry>Values</entry>
+ <entry>Mandatory</entry>
+ <entry>Description</entry>
</row>
+ </thead>
+ <tbody>
<row>
<entry>
- <literal>storage.cdrom.bd</literal> (bool)
+ <literal>laptop_panel.num_levels</literal> (int)
</entry>
<entry></entry>
<entry>Yes</entry>
- <entry>TRUE when the optical drive can read Blu-ray ROM discs</entry>
- </row>
- <row>
<entry>
- <literal>storage.cdrom.bdr</literal> (bool)
+ The brightness levels supported by the adaptor.
</entry>
- <entry></entry>
- <entry>Yes</entry>
- <entry>TRUE when the optical drive can write to Blu-ray Recordable discs</entry>
</row>
<row>
<entry>
- <literal>storage.cdrom.bdre</literal> (bool)
+ <literal>laptop_panel.access_method</literal> (string)
</entry>
<entry></entry>
<entry>Yes</entry>
- <entry>TRUE when the optical drive can write to Blu-ray Rewritable discs</entry>
- </row>
- <row>
<entry>
- <literal>storage.cdrom.hddvd</literal> (bool)
+ The access method to use in scripts, e.g. pmu, toshiba, ibm, sony.
</entry>
- <entry></entry>
- <entry>Yes</entry>
- <entry>TRUE when the optical drive can read Read-only HD DVD discs</entry>
</row>
<row>
<entry>
- <literal>storage.cdrom.hddvdr</literal> (bool)
+ <literal>laptop_panel.brightness_in_hardware</literal> (bool)
</entry>
<entry></entry>
- <entry>Yes</entry>
- <entry>TRUE when the optical drive can write to Write-once HD DVD discs</entry>
- </row>
- <row>
+ <entry>No</entry>
<entry>
- <literal>storage.cdrom.hddvdrw</literal> (bool)
+ On some laptops, the brightness control is all done in hardware
+ but the hardware also synthesizes keypresses when the
+ brightness is changed.
+ If this key is set true, then any power manager software should
+ not attempt to set any new values on brightness keypress, as it
+ may cause the panel to flash uncontrollably.
</entry>
- <entry></entry>
- <entry>Yes</entry>
- <entry>TRUE when the optical drive can write to Rewritable HD DVD discs</entry>
</row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ <para>
+ The following methods exist on the interface
+ <literal>org.freedesktop.Hal.Device.LaptopPanel</literal>.
+ </para>
+ <informaltable>
+ <tgroup cols="2">
+ <thead>
<row>
- <entry>
- <literal>storage.cdrom.mrw</literal> (bool)
- </entry>
- <entry></entry>
- <entry>Yes</entry>
- <entry>TRUE when the optical drive can read MRW (Mount Rainier Rewrite) discs</entry>
+ <entry>Method (parameter types)</entry>
+ <entry>Parameters</entry>
+ <entry>Mandatory</entry>
+ <entry>Description</entry>
</row>
+ </thead>
+ <tbody>
<row>
<entry>
- <literal>storage.cdrom.mrw_w</literal> (bool)
+ <literal>SetBrightness</literal> (integer)
</entry>
- <entry></entry>
- <entry>Yes</entry>
- <entry>TRUE when the optical drive can write MRW (Mount Rainier Rewrite) discs</entry>
- </row>
- <row>
<entry>
- <literal>storage.cdrom.mo</literal> (bool)
+ The hardware brightness state, which should be between 0 and
+ <literal>laptop_panel.num_levels</literal> - 1.
</entry>
- <entry></entry>
<entry>No</entry>
- <entry>TRUE when the optical drive is a MO (Magneto Optical) device.</entry>
- </row>
- <row>
<entry>
- <literal>storage.cdrom.support_multisession</literal> (bool)
- </entry>
- <entry></entry>
- <entry>Yes</entry>
- <entry>TRUE if the drive can read multisession discs</entry>
- </row>
- <row>
- <entry>
- <literal>storage.cdrom.support_media_changed</literal> (bool)
+ This method adjusts the brightness on an laptop screen.
+ The values are returned as hardware values rather than
+ percentages as we cannot easily to floating point rounding in
+ shell code and therefore use the raw values to prevent integer
+ rounding errors.
</entry>
- <entry></entry>
- <entry>Yes</entry>
- <entry>TRUE if the drive can generate media changed events</entry>
</row>
<row>
<entry>
- <literal>storage.cdrom.read_speed</literal> (int)
+ integer <literal>GetBrightness</literal> (void)
</entry>
- <entry></entry>
- <entry>Yes</entry>
- <entry>The maximum reading speed, in kb/s</entry>
- </row>
- <row>
<entry>
- <literal>storage.cdrom.write_speed</literal> (int)
+ Returns the hardware brightness state, which should be
+ between 0 and <literal>laptop_panel.num_levels</literal> - 1.
</entry>
- <entry></entry>
- <entry>Yes</entry>
- <entry>The maximum writing speed, in kb/s</entry>
- </row>
- <row>
+ <entry>No</entry>
<entry>
- <literal>storage.cdrom.write_speeds</literal> (strlist)
+ This method gets the hardware brightness of the laptop screen,
+ which we may need to do fairly regually on hardware that
+ changes the values in hardware without a software event.
</entry>
- <entry></entry>
- <entry>No</entry>
- <entry>By the device supported write speeds in kb/s</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect2>
- <sect2 id="device-properties-storage-linux-raid">
+
+ <sect2 id="device-properties-light-sensor">
<title>
- storage.linux_raid namespace
+ light_sensor namespace
</title>
<para>
- This namespace is used to describe logical Software RAID
- devices under Linux using the <literal>md</literal> driver. By
- and large, all the same properties under
- the <literal>storage</literal> name space applies except
- that <literal>storage.serial</literal> is set to the UUID of
- the RAID set, <literal>storage.firmware_version</literal> is
- set to the version of the <literal>md</literal> driver and the
- value of <literal>storage.hotpluggable</literal> is taken from
- the enclosing drive of the first RAID component
- encountered. In addition, the following properties are
- available.
+ Device objects with the capability <literal>sensor</literal>
+ represent light sensors in the system.
</para>
<informaltable>
<tgroup cols="2">
@@ -4978,85 +4896,33 @@ org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'}
<tbody>
<row>
<entry>
- <literal>storage.linux_raid.level</literal> (string)
- </entry>
- <entry></entry>
- <entry>Yes</entry>
- <entry>the RAID level of the device as reported by the kernel (linear, raid0, raid1, raid4, raid5, raid6, raid10)</entry>
- </row>
- <row>
- <entry>
- <literal>storage.linux_raid.sysfs_path</literal> (string)
- </entry>
- <entry></entry>
- <entry>Yes</entry>
- <entry>sysfs path of device, e.g. /sys/block/md0</entry>
- </row>
- <row>
- <entry>
- <literal>storage.linux_raid.num_components</literal> (int)
- </entry>
- <entry></entry>
- <entry>Yes</entry>
- <entry>Number of components in the RAID array</entry>
- </row>
- <row>
- <entry>
- <literal>storage.linux_raid.num_components_active</literal> (int)
+ <literal>light_sensor.sensor_locations</literal> (strlist)
</entry>
<entry></entry>
<entry>Yes</entry>
- <entry>
- Number of active components in the RAID array. If less
- than <literal>storage.linux_raid.num_components</literal>
- it means that the RAID array is running in degraded
- mode.
- </entry>
+ <entry>The locations of the sensors</entry>
</row>
<row>
<entry>
- <literal>storage.linux_raid.components</literal> (strlist)
+ <literal>light_sensor.num_sensors</literal> (int)
</entry>
<entry></entry>
<entry>Yes</entry>
- <entry>UDI's of the volumes constituting the array.</entry>
+ <entry>Number of physical sensors</entry>
</row>
<row>
<entry>
- <literal>storage.linux_raid.is_syncing</literal> (bool)
+ <literal>light_sensor.num_levels</literal> (int)
</entry>
<entry></entry>
<entry>Yes</entry>
- <entry>TRUE if, and only if, the array is currently syncing</entry>
- </row>
- <row>
- <entry>
- <literal>storage.linux_raid.sync.action</literal> (string)
- </entry>
- <entry></entry>
- <entry>only if <literal>.is_syncing</literal> is TRUE</entry>
- <entry>The syncing mechanism as reported by the kernel (idle, resync, check, repair, recover)</entry>
- </row>
- <row>
- <entry>
- <literal>storage.linux_raid.sync.progress</literal> (double)
- </entry>
- <entry></entry>
- <entry>only if <literal>.is_syncing</literal> is TRUE</entry>
- <entry>Number between 0 and 1 representing progress of the sync operation. This is updated regulary when syncing is happening.</entry>
- </row>
- <row>
- <entry>
- <literal>storage.linux_raid.sync.speed</literal> (uint64)
- </entry>
- <entry></entry>
- <entry>only if <literal>.is_syncing</literal> is TRUE</entry>
- <entry>Speed of the sync operation, in kB/s. This is updated regulary when syncing is happening.</entry>
+ <entry>The number of levels of the sensors</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect2>
+
<sect2 id="device-properties-net">
<title>
net namespace
@@ -5143,6 +5009,7 @@ org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'}
</tgroup>
</informaltable>
</sect2>
+
<sect2 id="device-properties-net-80203">
<title>
net.80203 namespace
@@ -5210,6 +5077,7 @@ org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'}
<para>
</para>
</sect2>
+
<sect2 id="device-properties-net-80211">
<title>
net.80211 namespace
@@ -5249,59 +5117,24 @@ org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'}
<para>
</para>
</sect2>
- <sect2 id="device-properties-net-bridge">
+
+ <sect2 id="device-properties-net-80211control">
<title>
- net.bridge namespace
+ net.80211control namespace
</title>
<para>
- Bridge ethernet networking devices is described in this namespace
- for device objects with the capability
- <literal>net.bridge</literal>.
- Note that device
- objects can only have the <literal>net.bridge</literal> capability
- if they already have the capability <literal>net</literal>.
+ Control devices for Wireless ethernet networking devices are described in
+ this namespace for device objects with the capability
+ <literal>net.80211control</literal>.
+ Note that device objects can only have the <literal>net.80211control</literal>
+ capability if they already have the capability <literal>net</literal>.
+ Warning: You should know what you do if you touch this devices. They are
+ not always stable and can cause (kernel) crashes (on linux).
</para>
- <informaltable>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Key (type)</entry>
- <entry>Values</entry>
- <entry>Mandatory</entry>
- <entry>Description</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>
- <literal>net.bridge.mac_address</literal> (uint64)
- </entry>
- <entry>example: 0x0010605d8ef4</entry>
- <entry>
- Only if the <literal>net.bridge</literal> capability is set
- </entry>
- <entry>48-bit address</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
<para>
</para>
</sect2>
- <sect2 id="device-properties-net-loopback">
- <title>
- net.loopback namespace
- </title>
- <para>
- Loopback networking devices are described in this namespace
- for device objects with the capability <literal>net.loopback</literal>.
- Note that device objects can only have the <literal>net.loopback</literal> capability
- if they already have the capability <literal>net</literal>.
-
- No namespace specific properties.
- </para>
- </sect2>
<sect2 id="device-properties-net-bluetooth">
<title>
net.bluetooth namespace
@@ -5361,6 +5194,47 @@ org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'}
<para>
</para>
</sect2>
+
+ <sect2 id="device-properties-net-bridge">
+ <title>
+ net.bridge namespace
+ </title>
+ <para>
+ Bridge ethernet networking devices is described in this namespace
+ for device objects with the capability
+ <literal>net.bridge</literal>.
+ Note that device
+ objects can only have the <literal>net.bridge</literal> capability
+ if they already have the capability <literal>net</literal>.
+ </para>
+ <informaltable>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Key (type)</entry>
+ <entry>Values</entry>
+ <entry>Mandatory</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>
+ <literal>net.bridge.mac_address</literal> (uint64)
+ </entry>
+ <entry>example: 0x0010605d8ef4</entry>
+ <entry>
+ Only if the <literal>net.bridge</literal> capability is set
+ </entry>
+ <entry>48-bit address</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ <para>
+ </para>
+ </sect2>
+
<sect2 id="device-properties-net-irda">
<title>
net.irda namespace
@@ -5375,31 +5249,31 @@ org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'}
<para>
</para>
</sect2>
- <sect2 id="device-properties-net-80211control">
+
+ <sect2 id="device-properties-net-loopback">
<title>
- net.80211control namespace
+ net.loopback namespace
</title>
<para>
- Control devices for Wireless ethernet networking devices are described in
- this namespace for device objects with the capability
- <literal>net.80211control</literal>.
- Note that device objects can only have the <literal>net.80211control</literal>
- capability if they already have the capability <literal>net</literal>.
- Warning: You should know what you do if you touch this devices. They are
- not always stable and can cause (kernel) crashes (on linux).
- </para>
- <para>
+ Loopback networking devices are described in this namespace
+ for device objects with the capability <literal>net.loopback</literal>.
+
+ Note that device objects can only have the <literal>net.loopback</literal> capability
+ if they already have the capability <literal>net</literal>.
+
+ No namespace specific properties.
</para>
</sect2>
- <sect2 id="device-properties-input">
+
+ <sect2 id="device-properties-obex">
<title>
- input namespace
+ obex namespace
</title>
<para>
- This namespace is concerned with human input devices such as
- keyboards, mice, pointing devices and game controllers. If a
- device object has the capability <literal>input</literal> then
- the following properties are available
+ Device objects with the capability <literal>obex</literal>
+ represent devices that have implemented OBject EXchange protocol for communication.
+ Typically such devices are mobile phones and the protocol is used to transfer files,
+ synchronize data and manage mobile phone configuration. No namespace specific properties.
</para>
<informaltable>
<tgroup cols="2">
@@ -5414,94 +5288,60 @@ org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'}
<tbody>
<row>
<entry>
- <literal>input.device</literal> (string)
+ <literal>obex.type</literal> (sting)
+ </entry>
+ <entry>example: pcsuite, syncml</entry>
+ <entry>No</entry>
+ <entry>
</entry>
+ </row>
+ <row>
<entry></entry>
- <entry>Yes</entry>
- <entry>Special device file for recieving input events</entry>
+ <entry>pcsuite</entry>
+ <entry>No</entry>
+ <entry>
+ Device is meant to be used with Nokia PC Suite application. Standardized OBEX file
+ transfer is supported and possibly proprietary extensions.
+ </entry>
</row>
<row>
+ <entry></entry>
+ <entry>syncml</entry>
+ <entry>No</entry>
<entry>
- <literal>input.x11_driver</literal> (string)
+ Device supports SyncML over OBEX protocol.
</entry>
- <entry>e.g. "evdev"</entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry>syncml-sync</entry>
<entry>No</entry>
- <entry>X11 input driver to use</entry>
+ <entry>
+ Device supports SyncML over OBEX protocol for data synchronization.
+ </entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry>syncml-dm</entry>
+ <entry>No</entry>
+ <entry>
+ Device supports SyncML over OBEX protocol for data management.
+ </entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect2>
- <sect2 id="device-properties-input-keys">
- <title>
- input.keys namespace
- </title>
- <para>
- The input device have keys that can be pressed. No namespace
- specific properties.
- </para>
- </sect2>
- <sect2 id="device-properties-input-keypad">
- <title>
- input.keypad namespace
- </title>
- <para>
- The input device have keypad keys. No namespace
- specific properties.
- </para>
- </sect2>
- <sect2 id="device-properties-input-keyboard">
- <title>
- input.keyboard namespace
- </title>
- <para>
- The input device is a normal keyboard. No namespace specific
- properties.
- </para>
- </sect2>
- <sect2 id="device-properties-input-mouse">
- <title>
- input.mouse namespace
- </title>
- <para>
- The input device is a mouse. No namespace specific
- properties.
- </para>
- </sect2>
- <sect2 id="device-properties-input-switch">
- <title>
- input.switch namespace
- </title>
- <para>
- The input device is a switch, e.g. it has buttons with
- state. No namespace specific properties.
- </para>
- </sect2>
- <sect2 id="device-properties-input-joystick">
- <title>
- input.joystick namespace
- </title>
- <para>
- The input device is a joystick. No namespace specific
- properties.
- </para>
- </sect2>
- <sect2 id="device-properties-input-tablet">
- <title>
- input.tablet namespace
- </title>
- <para>
- The input device is a tablet. No namespace specific
- properties.
- </para>
- </sect2>
- <sect2 id="device-properties-input-keymap">
+
+ <sect2 id="device-properties-of_platform">
<title>
- input.keymap namespace
+ of_platform namespace
</title>
<para>
- Device objects with the capability <literal>input.keymap</literal>
- provide facilities to remap keyboard buttons.
+ Devices on the virtual 'of_platform' bus are represented
+ by device objects where <literal>info.subsystem</literal>
+ equals <literal>of_platform</literal>. The following
+ properties are available for such device objects.
</para>
<informaltable>
<tgroup cols="2">
@@ -5516,31 +5356,25 @@ org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'}
<tbody>
<row>
<entry>
- <literal>input.keymap.data</literal> (strlist)
- </entry>
- <entry>e.g. "e017:brightnessup"</entry>
- <entry>No</entry>
- <entry>
- The scancode is represented in hex and the keycode name as
- as string. The keycode name is not case sensitive.
- On Linux, the keycode name should be the same constant as
- present in /usr/include/linux/input.h with the 'KEY_'
- prefix removed, e.g. 'KEY_SLEEP' -> 'sleep'.
- You can append as many <literal>input.keymap.data</literal>
- values as there are keys to remap.
+ <literal>of_platform.id</literal> (string)
</entry>
+ <entry>example: f0003000.ethernet</entry>
+ <entry>Yes</entry>
+ <entry>Device identification</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect2>
- <sect2 id="device-properties-input-xkb">
+
+ <sect2 id="device-properties-oss">
<title>
- input.xkb namespace
+ oss namespace
</title>
<para>
- Device objects with the capability <literal>input.keys</literal>
- can provide information about their physical layout.
+ Device objects with the capability <literal>oss</literal>
+ represent all the streams available through OSS on a soundcard.
+ OSS devices could be emulated by ALSA.
</para>
<informaltable>
<tgroup cols="2">
@@ -5555,61 +5389,134 @@ org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'}
<tbody>
<row>
<entry>
- <literal>input.xkb.rules</literal> (string)
+ <literal>oss.card</literal> (int)
</entry>
- <entry>e.g. "base"</entry>
+ <entry></entry>
<entry>Yes</entry>
<entry>
- XKB rules file to use; 'base' is standard, but 'xorg'
- or 'xfree86' may be needed for backwards compatibility
- with very old versions of XKB data.
+ Card number in system as registered by OSS (and/or ALSA).
</entry>
</row>
<row>
<entry>
- <literal>input.xkb.model</literal> (string)
+ <literal>oss.card_id</literal> (string)
</entry>
- <entry>e.g. "logicdp"</entry>
+ <entry>
+ Examples: <literal>I82801DBICH4</literal>, <literal>MP3</literal>
+ </entry>
+ <entry>No</entry>
+ <entry>
+ Textual description of the card.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>oss.device</literal> (int)
+ </entry>
+ <entry></entry>
<entry>Yes</entry>
<entry>
- Physical keyboard model (e.g. Logitech Cordless Freedom
- Pro), as given to XKB.
+ Device number assigned by OSS/ALSA for a current card.
</entry>
</row>
<row>
<entry>
- <literal>input.xkb.layout</literal> (string)
+ <literal>oss.device_file</literal> (string)
</entry>
- <entry>e.g. "us"</entry>
+ <entry></entry>
<entry>Yes</entry>
<entry>
- Keyboard layout (as engraved on the keys).
+ The device node to access the OSS device.
</entry>
</row>
<row>
<entry>
- <literal>input.xkb.variant</literal> (string)
+ <literal>oss.device_id</literal> (string)
+ </entry>
+ <entry>
+ Examples: <literal>Intel 82801DB-ICH4 MIC2 ADC</literal>
</entry>
- <entry>e.g. "nodeadkeys"</entry>
<entry>No</entry>
<entry>
- Variant of the XKB layout (if any) to use.
+ Textual description of the specific device for a card
</entry>
</row>
<row>
<entry>
- <literal>input.xkb.options</literal> (strlist)
+ <literal>oss.originating_device</literal> (string)
</entry>
- <entry>e.g. "ctrl:nocaps"</entry>
- <entry>No</entry>
+ <entry></entry>
+ <entry>Yes</entry>
<entry>
- Options to be provided to XKB.
+ UDI of the device the OSS device is bound to.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>oss.type</literal> (string)
+ </entry>
+ <entry></entry>
+ <entry>Yes</entry>
+ <entry>
+ The type of the stream.
+ </entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry>
+ <literal>mixer</literal>
+ </entry>
+ <entry></entry>
+ <entry>
+ Stream is control/mixer device.
+ </entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry>
+ <literal>pcm</literal>
+ </entry>
+ <entry></entry>
+ <entry>
+ Stream is PCM device.
+ </entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry>
+ <literal>midi</literal>
+ </entry>
+ <entry></entry>
+ <entry>
+ Stream is MIDI device.
+ </entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry>
+ <literal>sequencer</literal>
+ </entry>
+ <entry></entry>
+ <entry>
+ Stream is a global OSS sequencer device.
+ This means, the device is for all OSS devices/cards.
+ </entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry>
+ <literal>unknown</literal>
+ </entry>
+ <entry></entry>
+ <entry>
+ Stream is unknown device.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect2>
+
<sect2 id="device-properties-pcmcia_socket">
<title>
pcmcia_socket namespace
@@ -5643,13 +5550,14 @@ org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'}
</tgroup>
</informaltable>
</sect2>
- <sect2 id="device-properties-printer">
+
+ <sect2 id="device-properties-pda">
<title>
- printer namespace
+ pda namespace
</title>
<para>
- Device objects with the capability <literal>printer</literal>
- represent printers. The following properties are available.
+ Device objects with the capability <literal>pda</literal>
+ represent Personal Digital Assistant (PDA) devices.
</para>
<informaltable>
<tgroup cols="2">
@@ -5664,56 +5572,226 @@ org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'}
<tbody>
<row>
<entry>
- <literal>printer.device</literal> (string)
+ <literal>pda.platform</literal> (string)
+ </entry>
+ <entry>e.g. palm or pocketpc</entry>
+ <entry>Yes</entry>
+ <entry>The type of the PDA platform</entry>
+ </row>
+ <row>
+ <entry>
+ <literal>pda.palm.hotsync_interface</literal> (string)
</entry>
<entry></entry>
<entry>Yes</entry>
- <entry>TODO</entry>
+ <entry>
+ Path to the Palm hotsync interface e.g. a linux device file (e.g. USB) or a
+ serial device.
+ </entry>
</row>
<row>
<entry>
- <literal>printer.vendor</literal> (string)
+ <literal>pda.pocketpc.hotsync_interface</literal> (string)
</entry>
<entry></entry>
<entry>Yes</entry>
- <entry>TODO</entry>
+ <entry>
+ Path to the Pocket PC (e.g. HP iPAQ) hotsync interface e.g. a linux device file
+ (e.g. USB) or a serial device.
+ </entry>
</row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </sect2>
+
+ <sect2 id="device-properties-power-management">
+ <title>
+ power_management namespace
+ </title>
+ <para>
+ Keys with the prefix <literal>power_management</literal>
+ provide information about power management supported by
+ the system.
+ </para>
+ <informaltable>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Key (type)</entry>
+ <entry>Values</entry>
+ <entry>Mandatory</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+ <tbody>
<row>
<entry>
- <literal>printer.product</literal> (string)
+ <literal>power_management.type</literal> (string)
+ </entry>
+ <entry>Examples:
+ <literal>apm</literal>,
+ <literal>acpi</literal>,
+ <literal>pmu</literal>
+ </entry>
+ <entry>Yes</entry>
+ <entry>
+ The power management subsystem used on the computer.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>power_management.can_suspend</literal> (bool)
</entry>
<entry></entry>
<entry>Yes</entry>
- <entry>TODO</entry>
+ <entry>
+ If suspend support is compiled into the kernel.
+ NB. This may not mean the machine is able to suspend
+ successfully.
+ </entry>
</row>
<row>
<entry>
- <literal>printer.serial</literal> (string)
+ <literal>power_management.can_suspend_hybrid</literal> (bool)
</entry>
<entry></entry>
<entry>Yes</entry>
- <entry>TODO</entry>
+ <entry>
+ If the system is capable of hybrid suspend.
+ </entry>
</row>
<row>
<entry>
- <literal>printer.description</literal> (string)
+ <literal>power_management.can_hibernate</literal> (bool)
</entry>
<entry></entry>
<entry>Yes</entry>
- <entry>TODO</entry>
+ <entry>
+ If hibernation support is compiled into the kernel.
+ NB. This may not mean the machine is able to hibernate
+ successfully.
+ </entry>
</row>
<row>
<entry>
- <literal>printer.commandset</literal> (strlist)
+ <literal>power_management.is_powersave_set</literal> (bool)
+ </entry>
+ <entry/>
+ <entry>Yes</entry>
+ <entry>
+ Is the last value passed to the SetPowerSave method.
+ </entry>
+ </row>
+ <row>
+ <entry>
+ <literal>power_management.quirk.s3_bios</literal> (bool)
</entry>
<entry></entry>
<entry>No</entry>
- <entry>List of supported commands / printer languages.</entry>
+ <entry>Use the S3_BIOS kernel command for suspend.</entry>
+ </row>
+ <row>
+ <entry>
+ <literal>power_management.quirk.s3_mode</literal> (bool)
+ </entry>
+ <entry></entry>
+ <entry>No</entry>
+ <entry>Use the S3_MODE kernel command for suspend.</entry>
+ </row>
+ <row>
+ <entry>
+ <literal>power_management.quirk.dpms_suspend</literal> (bool)
+ </entry>
+ <entry></entry>
+ <entry>No</entry>
+ <entry>Suspend the video card via DPMS on suspend.</entry>
+ </row>
+ <row>
+ <entry>
+ <literal>power_management.quirk.vga_mode_3</literal> (bool)
+ </entry>
+ <entry></entry>
+ <entry>No</entry>
+ <entry>Reset the VGA text mode to mode 3 on resume.</entry>
+ </row>
+ <row>
+ <entry>
+ <literal>power_management.quirk.dpms_on</literal> (bool)
+ </entry>
+ <entry></entry>
+ <entry>No</entry>
+ <entry>Reactivate the screen with DPMS on resume.</entry>
+ </row>
+ <row>
+ <entry>
+ <literal>power_management.quirk.vbe_post</literal> (bool)
+ </entry>
+ <entry></entry>
+ <entry>No</entry>
+ <entry>Run the VGA BIOS Power On Self Test (POST) on resume.</entry>
+ </row>
+ <row>
+ <entry>
+ <literal>power_management.quirk.vbestate_restore</literal> (bool)
+ </entry>
+ <entry></entry>
+ <entry>No</entry>
+ <entry>Save the VGA BIOS state before suspend, and restore it on resume.</entry>
+ </row>
+ <row>
+ <entry>
+ <literal>power_management.quirk.vbemode_restore</literal> (bool)
+ </entry>
+ <entry></entry>
+ <entry>No</entry>
+ <entry>Save the VGA BIOS mode before suspend, and restore it on resume.</entry>
+ </row>
+ <row>
+ <entry>
+ <literal>power_management.quirk.pci_save</literal> (bool)
+ </entry>
+ <entry></entry>
+ <entry>No</entry>
+ <entry>saving the PCI config space of the graphic card before suspend, restoring it after</entry>
+ </row>
+ <row>
+ <entry>
+ <literal>power_management.quirk.radeon_off</literal> (bool)
+ </entry>
+ <entry></entry>
+ <entry>No</entry>
+ <entry>Turn off the Radeon DAC off before suspend.</entry>
+ </row>
+ <row>
+ <entry>
+ <literal>power_management.quirk.reset_brightness</literal> (bool)
+ </entry>
+ <entry></entry>
+ <entry>No</entry>
+ <entry>Reset the brightness state after resume.</entry>
+ </row>
+ <row>
+ <entry>
+ <literal>power_management.quirk.no_fb</literal> (bool)
+ </entry>
+ <entry></entry>
+ <entry>No</entry>
+ <entry>True if the machine can only suspend when not using framebuffer.</entry>
+ </row>
+ <row>
+ <entry>
+ <literal>power_management.quirk.none</literal> (bool)
+ </entry>
+ <entry></entry>
+ <entry>No</entry>
+ <entry>No quirks are necessary for suspend or resume.</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect2>
+
<sect2 id="device-properties-portable_audio_player">
<title>
portable_audio_player namespace
@@ -5882,13 +5960,14 @@ org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'}
</tgroup>
</informaltable>
</sect2>
- <sect2 id="device-properties-alsa">
+
+ <sect2 id="device-properties-printer">
<title>
- alsa namespace
+ printer namespace
</title>
<para>
- Device objects with the capability <literal>alsa</literal>
- represent all the streams available through ALSA on a soundcard.
+ Device objects with the capability <literal>printer</literal>
+ represent printers. The following properties are available.
</para>
<informaltable>
<tgroup cols="2">
@@ -5903,631 +5982,564 @@ org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'}
<tbody>
<row>
<entry>
- <literal>alsa.card</literal> (int)
+ <literal>printer.device</literal> (string)
</entry>
<entry></entry>
<entry>Yes</entry>
- <entry>
- Card number in system as registered by ALSA.
- </entry>
+ <entry>TODO</entry>
</row>
<row>
<entry>
- <literal>alsa.card_id</literal> (string)
- </entry>
- <entry>
- Examples: <literal>I82801DBICH4</literal>, <literal>MP3</literal>
- </entry>
- <entry>No</entry>
- <entry>
- Textual description of the card.
+ <literal>printer.vendor</literal> (string)
</entry>
+ <entry></entry>
+ <entry>Yes</entry>
+ <entry>TODO</entry>
</row>
<row>
<entry>
- <literal>alsa.device</literal> (int)
+ <literal>printer.product</literal> (string)
</entry>
<entry></entry>
<entry>Yes</entry>
- <entry>
- Device number assigned by ALSA for a current card.
- </entry>
+ <entry>TODO</entry>
</row>
<row>
<entry>
- <literal>alsa.device_file</literal> (string)
+ <literal>printer.serial</literal> (string)
</entry>
<entry></entry>
<entry>Yes</entry>
+ <entry>TODO</entry>
+ </row>
+ <row>
<entry>
- The device node to access the ALSA device.
+ <literal>printer.description</literal> (string)
</entry>
+ <entry></entry>
+ <entry>Yes</entry>
+ <entry>TODO</entry>
</row>
<row>
<entry>
- <literal>alsa.device_id</literal> (string)
+ <literal>printer.commandset</literal> (strlist)
</entry>
+ <entry></entry>
+ <entry>No</entry>
+ <entry>List of supported commands / printer languages.</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </sect2>
+
+ <sect2 id="device-properties-processor">
+ <title>
+ processor namespace
+ </title>
+ <para>
+ Device objects with the capability <literal>processor</literal>
+ represent CPU's in the system.
+ </para>
+ <informaltable>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Key (type)</entry>
+ <entry>Values</entry>
+ <entry>Mandatory</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
<entry>
- Examples: <literal>Intel 82801DB-ICH4 MIC2 ADC</literal>
+ <literal>processor.number</literal> (int)
</entry>
- <entry>No</entry>
+ <entry></entry>
+ <entry>Yes</entry>
<entry>
- Textual description of the specific device for a card
+ The internal processor number in the system, starting from zero
</entry>
</row>
<row>
<entry>
- <literal>alsa.pcm_class</literal> (string)
+ <literal>processor.can_throttle</literal> (bool)
</entry>
<entry></entry>
<entry>No</entry>
<entry>
- The PCM class of the device.
+ Whether the processor supports throttling to decrease it's
+ own clock speed
</entry>
</row>
<row>
- <entry></entry>
- <entry>generic</entry>
- <entry></entry>
<entry>
- A standard PCM sound device (SND_PCM_CLASS_GENERIC).
+ <literal>processor.maximum_speed</literal> (long)
</entry>
+ <entry>example: 2200</entry>
+ <entry>No</entry>
+ <entry>The maximum speed of the processor in units of MHz</entry>
</row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </sect2>
+
+ <sect2 id="device-properties-scanner">
+ <title>
+ scanner namespace
+ </title>
+ <para>
+ Device objects with the capability <literal>scanner</literal>
+ represent image scanners. This capability should be merged
+ on the appropriate device object that represents the
+ addressable piece of hardware that is the digital still
+ camera; for USB devices this would be the device object
+ representing the appropriate USB interface. The following
+ properties are available:
+ </para>
+ <informaltable>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Key (type)</entry>
+ <entry>Values</entry>
+ <entry>Mandatory</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+ <tbody>
<row>
- <entry></entry>
- <entry>multi</entry>
- <entry></entry>
<entry>
- A multichannel device PCM sound device (SND_PCM_CLASS_MULTI) which
- e.g. contains a generic and a modem device.
+ <literal>scanner.access_method</literal> (string)
</entry>
+ <entry></entry>
+ <entry>Yes</entry>
+ <entry>This property defines how the device is accessed </entry>
</row>
<row>
<entry></entry>
- <entry>digitizer</entry>
+ <entry>proprietary</entry>
<entry></entry>
<entry>
- A PCM digitizer device (SND_PCM_CLASS_DIGITIZER).
+ The device is accessed from userspace through
+ a userspace driver such as SANE.
</entry>
</row>
<row>
<entry></entry>
- <entry>modem</entry>
<entry></entry>
+ <entry></entry>
+ <entry></entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </sect2>
+
+ <sect2 id="device-properties-storage">
+ <title>
+ storage namespace
+ </title>
+ <para>
+ This namespace is used to describe storage devices
+ and their capabilities. Such device objects will have the
+ capability <literal>storage</literal> and
+ they will export the properties below. Note that device
+ objects can only have the <literal>storage</literal> capability
+ if they already got capability <literal>block</literal> and the
+ property <literal>block.is_volume</literal> set to FALSE.
+ One significant between the <literal>storage</literal> and
+ <literal>block</literal> namespace is that the properties
+ exported in the <literal>storage</literal> represents
+ constant vital product information, whereas the properties
+ in the <literal>block</literal> namespace represent
+ variable system-dependent information.
+ </para>
+ <informaltable>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Key (type)</entry>
+ <entry>Values</entry>
+ <entry>Mandatory</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
<entry>
- A PCM modem device (SND_PCM_CLASS_MODEM).
+ <literal>storage.bus</literal> (string)
</entry>
+ <entry></entry>
+ <entry>Yes</entry>
+ <entry>Interface the storage device is attached to</entry>
</row>
<row>
<entry></entry>
- <entry>unknown</entry>
+ <entry>bdi</entry>
<entry></entry>
- <entry>
- The value is 'unknown' if the kernel provide no information about the
- PCM device class of the device (e.g. the file pcm_class is missing).
- </entry>
+ <entry>BDI (Backing Device Information) interface</entry>
</row>
<row>
<entry></entry>
- <entry>none</entry>
+ <entry>ccw</entry>
<entry></entry>
- <entry>
- The value is 'none' if this there is no PCM class for this device.
- </entry>
+ <entry>IBM s390/s390x ccw interface</entry>
</row>
<row>
- <entry>
- <literal>alsa.originating_device</literal> (string)
- </entry>
<entry></entry>
- <entry>Yes</entry>
- <entry>
- UDI of the device the ALSA device is bound to.
- </entry>
+ <entry>ide</entry>
+ <entry></entry>
+ <entry>IDE or ATA interface</entry>
</row>
<row>
- <entry>
- <literal>alsa.type</literal> (string)
- </entry>
<entry></entry>
- <entry>Yes</entry>
- <entry>
- The type of the stream.
- </entry>
+ <entry>ieee1394</entry>
+ <entry></entry>
+ <entry>IEEE 1394 interface</entry>
</row>
<row>
<entry></entry>
- <entry>
- <literal>control</literal>
- </entry>
+ <entry>linux_raid</entry>
<entry></entry>
- <entry>
- Stream is control device.
- </entry>
+ <entry>Linux MD (multi disk) RAID device</entry>
</row>
<row>
<entry></entry>
- <entry>
- <literal>capture</literal>
- </entry>
+ <entry>mmc</entry>
<entry></entry>
- <entry>
- Stream is capture device.
- </entry>
+ <entry>MultiMediaCard (MMC) interface</entry>
</row>
<row>
<entry></entry>
- <entry>
- <literal>midi</literal>
- </entry>
+ <entry>pci</entry>
<entry></entry>
- <entry>
- Stream is MIDI device.
- </entry>
+ <entry>PCI interface</entry>
</row>
<row>
<entry></entry>
- <entry>
- <literal>playback</literal>
- </entry>
+ <entry>pcmcia</entry>
<entry></entry>
- <entry>
- Stream is playback device.
- </entry>
+ <entry>PCMCIA interface</entry>
</row>
- <row>
+ <row>
<entry></entry>
- <entry>
- <literal>unknown</literal>
- </entry>
+ <entry>platform</entry>
<entry></entry>
- <entry>
- The type of the device is unknown.
- </entry>
+ <entry>Legacy device that is part of the platform</entry>
</row>
<row>
<entry></entry>
- <entry>
- <literal>hw_specific</literal>
- </entry>
+ <entry>sata</entry>
<entry></entry>
- <entry>
- This is a hardware specific device (as e.g. from snd_fm801 for Fortemedia FM801
- PCI Audio). The driver can use it freely for purposes that are not covered by
- standard ALSA API.
- </entry>
+ <entry>SATA interface</entry>
</row>
<row>
<entry></entry>
- <entry>
- <literal>timer</literal>
- </entry>
+ <entry>scsi</entry>
<entry></entry>
- <entry>
- Stream is the global ALSA timer device.
- This means, the device is for all ALSA devices/cards.
- </entry>
+ <entry>SCSI interface</entry>
</row>
<row>
<entry></entry>
- <entry>
- <literal>sequencer</literal>
- </entry>
+ <entry>usb</entry>
<entry></entry>
- <entry>
- Stream is the global ALSA sequencer device.
- This means, the device is for all ALSA devices/cards.
- </entry>
+ <entry>USB interface</entry>
</row>
<row>
<entry></entry>
- <entry>
- <literal>unknown</literal>
- </entry>
+ <entry>vio</entry>
<entry></entry>
- <entry>
- Stream is unknown device.
- </entry>
+ <entry>IBM pSeries/iSeries Vio interface</entry>
</row>
- </tbody>
- </tgroup>
- </informaltable>
- </sect2>
- <sect2 id="device-properties-oss">
- <title>
- oss namespace
- </title>
- <para>
- Device objects with the capability <literal>oss</literal>
- represent all the streams available through OSS on a soundcard.
- OSS devices could be emulated by ALSA.
- </para>
- <informaltable>
- <tgroup cols="2">
- <thead>
<row>
- <entry>Key (type)</entry>
- <entry>Values</entry>
- <entry>Mandatory</entry>
- <entry>Description</entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
+ <entry></entry>
</row>
- </thead>
- <tbody>
<row>
<entry>
- <literal>oss.card</literal> (int)
+ <literal>storage.drive_type</literal> (string)
</entry>
<entry></entry>
<entry>Yes</entry>
<entry>
- Card number in system as registered by OSS (and/or ALSA).
+ The type of the drive. Note that it may not be
+ possible to probe for some of these properties so in
+ some cases memory card readers may appear as
+ harddisks. Device information files can be used to
+ override this value.
</entry>
</row>
<row>
- <entry>
- <literal>oss.card_id</literal> (string)
- </entry>
- <entry>
- Examples: <literal>I82801DBICH4</literal>, <literal>MP3</literal>
- </entry>
- <entry>No</entry>
- <entry>
- Textual description of the card.
- </entry>
+ <entry></entry>
+ <entry>disk</entry>
+ <entry></entry>
+ <entry>The device is a harddisk</entry>
</row>
<row>
- <entry>
- <literal>oss.device</literal> (int)
- </entry>
<entry></entry>
- <entry>Yes</entry>
+ <entry>cdrom</entry>
+ <entry></entry>
<entry>
- Device number assigned by OSS/ALSA for a current card.
+ The device is an optical drive. The device object will also have the capability <literal>storage.cdrom</literal> in this case.
</entry>
</row>
<row>
- <entry>
- <literal>oss.device_file</literal> (string)
- </entry>
<entry></entry>
- <entry>Yes</entry>
- <entry>
- The device node to access the OSS device.
- </entry>
+ <entry>floppy</entry>
+ <entry></entry>
+ <entry>The device is a floppy disk drive</entry>
</row>
<row>
- <entry>
- <literal>oss.device_id</literal> (string)
- </entry>
- <entry>
- Examples: <literal>Intel 82801DB-ICH4 MIC2 ADC</literal>
- </entry>
- <entry>No</entry>
- <entry>
- Textual description of the specific device for a card
- </entry>
+ <entry></entry>
+ <entry>tape</entry>
+ <entry></entry>
+ <entry>The device is a tape drive</entry>
</row>
<row>
- <entry>
- <literal>oss.originating_device</literal> (string)
- </entry>
<entry></entry>
- <entry>Yes</entry>
- <entry>
- UDI of the device the OSS device is bound to.
- </entry>
+ <entry>compact_flash</entry>
+ <entry></entry>
+ <entry>The device is a card reader for Compact Flash memory cards</entry>
</row>
<row>
- <entry>
- <literal>oss.type</literal> (string)
- </entry>
<entry></entry>
- <entry>Yes</entry>
- <entry>
- The type of the stream.
- </entry>
+ <entry>memory_stick</entry>
+ <entry></entry>
+ <entry>The device is a card reader for MemoryStick memory cards</entry>
</row>
<row>
<entry></entry>
- <entry>
- <literal>mixer</literal>
- </entry>
+ <entry>smart_media</entry>
<entry></entry>
- <entry>
- Stream is control/mixer device.
- </entry>
+ <entry>The device is a card reader for SmartMedia memory cards</entry>
</row>
<row>
<entry></entry>
- <entry>
- <literal>pcm</literal>
- </entry>
+ <entry>sd_mmc</entry>
<entry></entry>
- <entry>
- Stream is PCM device.
- </entry>
+ <entry>The device is a card reader for SecureDigital/MultiMediaCard memory cards</entry>
</row>
<row>
<entry></entry>
- <entry>
- <literal>midi</literal>
- </entry>
<entry></entry>
- <entry>
- Stream is MIDI device.
- </entry>
+ <entry></entry>
+ <entry></entry>
</row>
<row>
- <entry></entry>
<entry>
- <literal>sequencer</literal>
+ <literal>storage.removable</literal> (bool)
</entry>
<entry></entry>
- <entry>
- Stream is a global OSS sequencer device.
- This means, the device is for all OSS devices/cards.
- </entry>
+ <entry>Yes</entry>
+ <entry>Media can be removed from the storage device</entry>
</row>
<row>
- <entry></entry>
<entry>
- <literal>unknown</literal>
+ <literal>storage.removable.media_available</literal> (bool)
</entry>
<entry></entry>
- <entry>
- Stream is unknown device.
- </entry>
+ <entry>Yes</entry>
+ <entry>true, if and only if, media have been detected in storage device</entry>
</row>
- </tbody>
- </tgroup>
- </informaltable>
- </sect2>
- <sect2 id="device-properties-camera">
- <title>
- camera namespace
- </title>
- <para>
- Device objects with the capability <literal>camera</literal>
- represent digital still cameras that can be attached to a
- computer to exchange files. This does not include card readers
- for memory cards used for cameras. This capability can't, in
- general, be reliably probed from the hardware so the
- information needs to be merged from either device information
- files or callouts. Therefore this capability should be merged
- on the appropriate device object that represents the
- addressable piece of hardware that is the digital still
- camera; for USB devices this would be the device object
- representing the appropriate USB interface. The following
- properties are available:
- </para>
- <informaltable>
- <tgroup cols="2">
- <thead>
<row>
- <entry>Key (type)</entry>
- <entry>Values</entry>
- <entry>Mandatory</entry>
- <entry>Description</entry>
+ <entry>
+ <literal>storage.removable.media_size</literal> (uint64)
+ </entry>
+ <entry></entry>
+ <entry>Yes</entry>
+ <entry>Size of media in storage device. Available only if media have been detected in storage device.</entry>
</row>
- </thead>
- <tbody>
<row>
<entry>
- <literal>camera.access_method</literal> (string)
+ <literal>storage.removable.support_async_notification</literal> (bool)
</entry>
<entry></entry>
<entry>Yes</entry>
- <entry>This property defines how the device is accessed </entry>
+ <entry>Whether the drive reports asynchronous notification for media change.</entry>
</row>
<row>
- <entry></entry>
- <entry>storage</entry>
- <entry></entry>
<entry>
- The device is accessed as a Mass Storage device
- through a kernel driver. Application Developers
- should descent down the device object tree to find the
- device object of capability
- <literal>storage</literal> in order to access the
- device.
+ <literal>storage.partitioning_scheme</literal> (string)
</entry>
+ <entry></entry>
+ <entry>Only when media is inserted and is partitioned</entry>
+ <entry>The partitioning scheme of the media.</entry>
</row>
<row>
<entry></entry>
- <entry>user</entry>
+ <entry>mbr</entry>
<entry></entry>
- <entry>
- The device is accessed from userspace through
- a userspace driver.
- </entry>
+ <entry>Master Boot Record partitioning scheme used in most PC's</entry>
</row>
<row>
<entry></entry>
+ <entry>gpt</entry>
<entry></entry>
+ <entry>GUID Partitioning Table as defined by UEFI</entry>
+ </row>
+ <row>
<entry></entry>
+ <entry>apm</entry>
<entry></entry>
+ <entry>Apple Partition Map, used in non-Intel Apple computers</entry>
</row>
<row>
<entry>
- <literal>camera.libgphoto2.support</literal> (bool)
+ <literal>storage.size</literal> (uint64)
</entry>
<entry></entry>
<entry>No</entry>
- <entry>
- If true, the device is supported by a userspace driver
- from the libgphoto2 project.
- </entry>
+ <entry>size in bytes of the storage device - only meaningful if storage.removable is FALSE</entry>
</row>
- </tbody>
- </tgroup>
- </informaltable>
- </sect2>
- <sect2 id="device-properties-scanner">
- <title>
- scanner namespace
- </title>
- <para>
- Device objects with the capability <literal>scanner</literal>
- represent image scanners. This capability should be merged
- on the appropriate device object that represents the
- addressable piece of hardware that is the digital still
- camera; for USB devices this would be the device object
- representing the appropriate USB interface. The following
- properties are available:
- </para>
- <informaltable>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Key (type)</entry>
- <entry>Values</entry>
- <entry>Mandatory</entry>
- <entry>Description</entry>
- </row>
- </thead>
- <tbody>
<row>
<entry>
- <literal>scanner.access_method</literal> (string)
+ <literal>storage.requires_eject</literal> (bool)
</entry>
<entry></entry>
<entry>Yes</entry>
- <entry>This property defines how the device is accessed </entry>
+ <entry>The eject ioctl is required to properly eject the media</entry>
</row>
<row>
- <entry></entry>
- <entry>proprietary</entry>
- <entry></entry>
<entry>
- The device is accessed from userspace through
- a userspace driver such as SANE.
+ <literal>storage.hotpluggable</literal> (bool)
</entry>
+ <entry></entry>
+ <entry>Yes</entry>
+ <entry>The storage device can be removed while the system is running</entry>
</row>
<row>
+ <entry>
+ <literal>storage.media_check_enabled</literal> (bool)
+ </entry>
<entry></entry>
- <entry></entry>
- <entry></entry>
- <entry></entry>
+ <entry>Yes</entry>
+ <entry>If this property is set to FALSE then HAL will not continuosly poll for media changes. </entry>
</row>
- </tbody>
- </tgroup>
- </informaltable>
- </sect2>
- <sect2 id="device-properties-laptop-panel">
- <title>
- laptop_panel namespace
- </title>
- <para>
- Device objects with the capability <literal>laptop_panel</literal>
- represent devices capable of changing the brightness of the display.
- </para>
- <informaltable>
- <tgroup cols="2">
- <thead>
<row>
- <entry>Key (type)</entry>
- <entry>Values</entry>
- <entry>Mandatory</entry>
- <entry>Description</entry>
+ <entry>
+ <literal>storage.automount_enabled_hint</literal> (bool)
+ </entry>
+ <entry></entry>
+ <entry>Yes</entry>
+ <entry>This property is a hint to desktop file managers that they shouldn't automount volumes of the storage device when they appear.</entry>
</row>
- </thead>
- <tbody>
<row>
<entry>
- <literal>laptop_panel.num_levels</literal> (int)
+ <literal>storage.no_partitions_hint</literal> (bool)
</entry>
<entry></entry>
<entry>Yes</entry>
<entry>
- The brightness levels supported by the adaptor.
+ This property is a hint to programs that maintain the
+ <literal>/etc/fstab</literal> file to signal, when
+ TRUE, that the storage drive (such as floppy or
+ optical drives) is used for media with no partition
+ table so an entry can be added ahead of media
+ insertion time. Note that this is only a hint; media
+ may be inserted that has partition tables that the
+ kernel may respect. Conversely, when this is FALSE
+ media without partition tables may be inserted (an
+ example is a Compact Flash card; this media is normally
+ formatted with a PC style partition table and a single
+ FAT partition. However, it may be formatted with just
+ a single FAT partition and no partition table).
</entry>
</row>
<row>
<entry>
- <literal>laptop_panel.access_method</literal> (string)
+ <literal>storage.originating_device</literal> (string)
</entry>
<entry></entry>
<entry>Yes</entry>
<entry>
- The access method to use in scripts, e.g. pmu, toshiba, ibm, sony.
+ This contains the UDI of the device object
+ representing the device or blank if
+ there is no such device.
</entry>
</row>
<row>
<entry>
- <literal>laptop_panel.brightness_in_hardware</literal> (bool)
+ <literal>storage.model</literal> (string)
</entry>
<entry></entry>
- <entry>No</entry>
+ <entry>Yes</entry>
+ <entry>The name of the drive</entry>
+ </row>
+ <row>
<entry>
- On some laptops, the brightness control is all done in hardware
- but the hardware also synthesizes keypresses when the
- brightness is changed.
- If this key is set true, then any power manager software should
- not attempt to set any new values on brightness keypress, as it
- may cause the panel to flash uncontrollably.
+ <literal>storage.vendor</literal> (string)
</entry>
+ <entry></entry>
+ <entry>Yes</entry>
+ <entry>The vendor of the drive</entry>
</row>
- </tbody>
- </tgroup>
- </informaltable>
- <para>
- The following methods exist on the interface
- <literal>org.freedesktop.Hal.Device.LaptopPanel</literal>.
- </para>
- <informaltable>
- <tgroup cols="2">
- <thead>
<row>
- <entry>Method (parameter types)</entry>
- <entry>Parameters</entry>
- <entry>Mandatory</entry>
- <entry>Description</entry>
+ <entry>
+ <literal>storage.serial</literal> (string)
+ </entry>
+ <entry></entry>
+ <entry>No</entry>
+ <entry>The serial number of the drive</entry>
</row>
- </thead>
- <tbody>
<row>
<entry>
- <literal>SetBrightness</literal> (integer)
+ <literal>storage.firmware_revision</literal> (string)
</entry>
+ <entry></entry>
+ <entry>No</entry>
+ <entry>The revision of the firmware of the drive</entry>
+ </row>
+ <row>
<entry>
- The hardware brightness state, which should be between 0 and
- <literal>laptop_panel.num_levels</literal> - 1.
+ <literal>storage.icon.drive</literal> (string)
</entry>
+ <entry></entry>
<entry>No</entry>
<entry>
- This method adjusts the brightness on an laptop screen.
- The values are returned as hardware values rather than
- percentages as we cannot easily to floating point rounding in
- shell code and therefore use the raw values to prevent integer
- rounding errors.
+ Name of icon to use for displaying the drive. The name
+ must comply with freedesktop.org icon-theme specification
+ and must not be an absolute path.
+ This property exists such that e.g. OEM's can install
+ icons in <literal>/usr/share/icons/hicolor</literal>
+ a device information file matching their device.
</entry>
</row>
<row>
<entry>
- integer <literal>GetBrightness</literal> (void)
- </entry>
- <entry>
- Returns the hardware brightness state, which should be
- between 0 and <literal>laptop_panel.num_levels</literal> - 1.
+ <literal>storage.icon.volume</literal> (string)
</entry>
+ <entry></entry>
<entry>No</entry>
<entry>
- This method gets the hardware brightness of the laptop screen,
- which we may need to do fairly regually on hardware that
- changes the values in hardware without a software event.
+ Name of icon to use for displaying volumes from the drive.
+ The name must comply with freedesktop.org icon-theme
+ specification and must not be an absolute path.
+ This property exists such that e.g. OEM's can install
+ icons in <literal>/usr/share/icons/hicolor</literal>
+ a device information file matching their device.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect2>
- <sect2 id="device-properties-ac_adapter">
+
+ <sect2 id="device-properties-storage-cdrom">
<title>
- ac_adapter namespace
+ storage.cdrom namespace
</title>
<para>
- Device objects with the capability <literal>ac_adapter</literal>
- represent all the devices capable of powering the system from AC power
+ This namespace is used to describe optical storage drives
+ and their capabilities.Such device objects will have the
+ capability <literal>storage.cdrom</literal> and
+ they will export the properties below. Note that device
+ objects can only have the <literal>storage.cdrom</literal> capability
+ if they already got the capability <literal>storage</literal>.
</para>
<informaltable>
<tgroup cols="2">
@@ -6542,633 +6554,556 @@ org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'}
<tbody>
<row>
<entry>
- <literal>ac_adapter.present</literal> (bool)
+ <literal>storage.cdrom.cdr</literal> (bool)
</entry>
<entry></entry>
<entry>Yes</entry>
- <entry>
- The state of the adapter, i.e. whether it is providing power to
- the unit from mains power.
- </entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- </sect2>
- <sect2 id="device-properties-battery">
- <title>
- battery namespace
- </title>
- <para>
- Device objects with the capability <literal>battery</literal>
- represent all the devices having some battery (in many cases -
- rechargeable) inside.
- </para>
- <informaltable>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Key (type)</entry>
- <entry>Values</entry>
- <entry>Mandatory</entry>
- <entry>Description</entry>
+ <entry>TRUE when the optical drive can write CD-R discs</entry>
</row>
- </thead>
- <tbody>
<row>
<entry>
- <literal>battery.present</literal> (bool)
+ <literal>storage.cdrom.cdrw</literal> (bool)
</entry>
<entry></entry>
<entry>Yes</entry>
- <entry>
- This is present as some smart batteries can have acpi/pmu
- entries, and be physically missing.
- </entry>
+ <entry>TRUE when the optical drive can blank and write to CD-RW discs</entry>
</row>
<row>
<entry>
- <literal>battery.type</literal> (string)
+ <literal>storage.cdrom.dvd</literal> (bool)
</entry>
<entry></entry>
<entry>Yes</entry>
- <entry>
- This property defines the type of the device holding the
- battery. This property is defined for the development
- simplicity - battery indicators can use it to find the
- proper iconic representation.
- </entry>
+ <entry>TRUE when the optical drive can read DVD-ROM discs</entry>
</row>
<row>
- <entry></entry>
<entry>
- <literal>pda</literal>
+ <literal>storage.cdrom.dvdr</literal> (bool)
</entry>
<entry></entry>
- <entry>
- The device containing the battery is a personal digital
- assistant, e.g. a device that looks like a handheld computer
- to do specific tasks such as keeping notes or containing
- a personal database
- </entry>
+ <entry>Yes</entry>
+ <entry>TRUE when the optical drive can write to DVD-R discs</entry>
</row>
<row>
- <entry></entry>
<entry>
- <literal>ups</literal>
+ <literal>storage.cdrom.dvdrw</literal> (bool)
</entry>
<entry></entry>
- <entry>
- A battery powered power supply that is
- guaranteed to provide power to a computer in the event of
- interruptions in the incoming electrical power. Most of the
- time this is an external device.
- </entry>
+ <entry>Yes</entry>
+ <entry>TRUE when the optical drive can blank and write to DVD-RW discs</entry>
</row>
<row>
- <entry></entry>
<entry>
- <literal>primary</literal>
+ <literal>storage.cdrom.dvdrdl</literal> (bool)
</entry>
<entry></entry>
- <entry>
- The battery is a primary power source for the system - an
- example are laptop batteries.
- </entry>
+ <entry>Yes</entry>
+ <entry>TRUE when the optical drive can write to DVD-R Dual-Layer discs</entry>
</row>
<row>
- <entry></entry>
<entry>
- <literal>mouse</literal>
+ <literal>storage.cdrom.dvdram</literal> (bool)
</entry>
<entry></entry>
- <entry>
- The device containing the battery is a mouse.
- </entry>
+ <entry>Yes</entry>
+ <entry>TRUE when the optical drive can write to DVD-RAM discs</entry>
</row>
<row>
- <entry></entry>
<entry>
- <literal>keyboard</literal>
+ <literal>storage.cdrom.dvdplusr</literal> (bool)
</entry>
<entry></entry>
- <entry>
- The device containing the battery is a keyboard.
- </entry>
+ <entry>Yes</entry>
+ <entry>TRUE when the optical drive can write to DVD+R discs</entry>
</row>
<row>
- <entry></entry>
<entry>
- <literal>keyboard_mouse</literal>
+ <literal>storage.cdrom.dvdplusrw</literal> (bool)
</entry>
<entry></entry>
- <entry>
- The device containing the battery is a combined mouse and keyboard.
- </entry>
+ <entry>Yes</entry>
+ <entry>TRUE when the optical drive can blank and write to DVD+RW discs</entry>
</row>
<row>
- <entry></entry>
<entry>
- <literal>camera</literal>
+ <literal>storage.cdrom.dvdplusrwdl</literal> (bool)
</entry>
<entry></entry>
- <entry>
- The device containing the battery is a camera.
- </entry>
+ <entry>Yes</entry>
+ <entry>TRUE when the optical drive can blank and write to DVD+RW Dual-Layer discs</entry>
</row>
<row>
- <entry></entry>
<entry>
- <literal>usb</literal>
+ <literal>storage.cdrom.dvdplusrdl</literal> (bool)
</entry>
<entry></entry>
- <entry>
- The device containing the battery is a generic usb device.
- </entry>
+ <entry>Yes</entry>
+ <entry>TRUE when the optical drive can write to DVD+R Dual-Layer discs</entry>
</row>
<row>
- <entry></entry>
<entry>
- <literal>unknown</literal>
+ <literal>storage.cdrom.bd</literal> (bool)
</entry>
<entry></entry>
- <entry>
- The device containing the battery is not covered by other types.
- </entry>
+ <entry>Yes</entry>
+ <entry>TRUE when the optical drive can read Blu-ray ROM discs</entry>
</row>
<row>
<entry>
- <literal>battery.charge_level.unit</literal> (string)
- </entry>
- <entry>Examples:
- <literal>mWh</literal>,
- <literal>percent</literal>
- </entry>
- <entry>No</entry>
- <entry>
- The physical unit used by the charge level properties
- (maximum and current). In many cases, this property is
- omitted - which indicates that the charge properties
- are measured in some unknown units.
- The units should never be mAh as this is not a measurement
- of charge.
+ <literal>storage.cdrom.bdr</literal> (bool)
</entry>
+ <entry></entry>
+ <entry>Yes</entry>
+ <entry>TRUE when the optical drive can write to Blu-ray Recordable discs</entry>
</row>
<row>
<entry>
- <literal>battery.charge_level.design</literal> (int)
+ <literal>storage.cdrom.bdre</literal> (bool)
</entry>
<entry></entry>
<entry>Yes</entry>
- <entry>
- The maximum level of charge the device was designed for.
- Measured in <literal>"battery.charge_level.unit"</literal>
- units.
- </entry>
+ <entry>TRUE when the optical drive can write to Blu-ray Rewritable discs</entry>
</row>
<row>
<entry>
- <literal>battery.charge_level.last_full</literal> (int)
+ <literal>storage.cdrom.hddvd</literal> (bool)
</entry>
<entry></entry>
<entry>Yes</entry>
- <entry>
- The maximum level of charge the device could hold the last
- time it was full.
- Measured in <literal>"battery.charge_level.unit"</literal>
- units.
- </entry>
+ <entry>TRUE when the optical drive can read Read-only HD DVD discs</entry>
</row>
<row>
<entry>
- <literal>battery.charge_level.current</literal> (int)
+ <literal>storage.cdrom.hddvdr</literal> (bool)
</entry>
<entry></entry>
<entry>Yes</entry>
- <entry>
- The current level of charge which the device can is holding.
- Measured in <literal>"battery.charge_level.unit"</literal>
- units.
- </entry>
+ <entry>TRUE when the optical drive can write to Write-once HD DVD discs</entry>
</row>
<row>
<entry>
- <literal>battery.charge_level.rate</literal> (int)
+ <literal>storage.cdrom.hddvdrw</literal> (bool)
</entry>
<entry></entry>
- <entry>No</entry>
- <entry>
- The discharge/charge rate measured
- in <literal>"battery.charge_level.unit"</literal>
- units per second.
- </entry>
+ <entry>Yes</entry>
+ <entry>TRUE when the optical drive can write to Rewritable HD DVD discs</entry>
</row>
<row>
<entry>
- <literal>battery.charge_level.warning</literal> (int)
+ <literal>storage.cdrom.mrw</literal> (bool)
</entry>
<entry></entry>
- <entry>No</entry>
- <entry>
- Once the charge level of the battery drops below this value its
- state changes to 'warning'.
- Measured in <literal>"battery.charge_level.unit"</literal>
- units.
- </entry>
+ <entry>Yes</entry>
+ <entry>TRUE when the optical drive can read MRW (Mount Rainier Rewrite) discs</entry>
</row>
<row>
<entry>
- <literal>battery.charge_level.low</literal> (int)
+ <literal>storage.cdrom.mrw_w</literal> (bool)
</entry>
<entry></entry>
- <entry>No</entry>
- <entry>
- Once the charge level of the battery drops below this value its
- state changes to 'low'.
- Measured in <literal>"battery.charge_level.unit"</literal>
- units.
- </entry>
+ <entry>Yes</entry>
+ <entry>TRUE when the optical drive can write MRW (Mount Rainier Rewrite) discs</entry>
</row>
<row>
<entry>
- <literal>battery.charge_level.granularity_1</literal> (int)
+ <literal>storage.cdrom.mo</literal> (bool)
</entry>
<entry></entry>
<entry>No</entry>
- <entry>
- Granularity value one of the battery measured
- in <literal>"battery.charge_level.unit"</literal>
- units .
- </entry>
+ <entry>TRUE when the optical drive is a MO (Magneto Optical) device.</entry>
</row>
<row>
<entry>
- <literal>battery.charge_level.granularity_2</literal> (int)
+ <literal>storage.cdrom.support_multisession</literal> (bool)
</entry>
<entry></entry>
- <entry>No</entry>
- <entry>
- Granularity value two of the battery measured
- in <literal>"battery.charge_level.unit"</literal>
- units.
- </entry>
+ <entry>Yes</entry>
+ <entry>TRUE if the drive can read multisession discs</entry>
</row>
<row>
<entry>
- <literal>battery.reporting.unit</literal> (string)
- </entry>
- <entry>Examples:
- <literal>mWh</literal>,
- <literal>mAh</literal>,
- <literal>percent</literal>
- </entry>
- <entry>No</entry>
- <entry>
- The physical unit used by the charge level properties
- (maximum and current) as reported by the hardware.
- In many cases, this property is omitted - which indicates
- that the charge properties are measured in some unknown units.
+ <literal>storage.cdrom.support_media_changed</literal> (bool)
</entry>
+ <entry></entry>
+ <entry>Yes</entry>
+ <entry>TRUE if the drive can generate media changed events</entry>
</row>
<row>
<entry>
- <literal>battery.reporting.design</literal> (int)
+ <literal>storage.cdrom.read_speed</literal> (int)
</entry>
<entry></entry>
<entry>Yes</entry>
+ <entry>The maximum reading speed, in kb/s</entry>
+ </row>
+ <row>
<entry>
- The maximum level of charge the device was designed for,
- as reported by the hardware.
- Measured in <literal>"battery.reporting.unit"</literal>
- units.
+ <literal>storage.cdrom.write_speed</literal> (int)
</entry>
+ <entry></entry>
+ <entry>Yes</entry>
+ <entry>The maximum writing speed, in kb/s</entry>
</row>
<row>
<entry>
- <literal>battery.reporting.last_full</literal> (int)
+ <literal>storage.cdrom.write_speeds</literal> (strlist)
</entry>
<entry></entry>
<entry>No</entry>
+ <entry>By the device supported write speeds in kb/s</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </sect2>
+
+ <sect2 id="device-properties-storage-linux-raid">
+ <title>
+ storage.linux_raid namespace
+ </title>
+ <para>
+ This namespace is used to describe logical Software RAID
+ devices under Linux using the <literal>md</literal> driver. By
+ and large, all the same properties under
+ the <literal>storage</literal> name space applies except
+ that <literal>storage.serial</literal> is set to the UUID of
+ the RAID set, <literal>storage.firmware_version</literal> is
+ set to the version of the <literal>md</literal> driver and the
+ value of <literal>storage.hotpluggable</literal> is taken from
+ the enclosing drive of the first RAID component
+ encountered. In addition, the following properties are
+ available.
+ </para>
+ <informaltable>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Key (type)</entry>
+ <entry>Values</entry>
+ <entry>Mandatory</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
<entry>
- The maximum level of charge the device could hold the last
- time it was full, as reported by the hardware.
- Measured in <literal>"battery.reporting.unit"</literal>
- units.
+ <literal>storage.linux_raid.level</literal> (string)
</entry>
+ <entry></entry>
+ <entry>Yes</entry>
+ <entry>the RAID level of the device as reported by the kernel (linear, raid0, raid1, raid4, raid5, raid6, raid10)</entry>
</row>
<row>
<entry>
- <literal>battery.reporting.current</literal> (int)
+ <literal>storage.linux_raid.sysfs_path</literal> (string)
</entry>
<entry></entry>
- <entry>No</entry>
+ <entry>Yes</entry>
+ <entry>sysfs path of device, e.g. /sys/block/md0</entry>
+ </row>
+ <row>
<entry>
- The current level of charge which the device is holding,
- as reported by the hardware.
- Measured in <literal>"battery.reporting.unit"</literal>
- units.
+ <literal>storage.linux_raid.num_components</literal> (int)
</entry>
+ <entry></entry>
+ <entry>Yes</entry>
+ <entry>Number of components in the RAID array</entry>
</row>
<row>
<entry>
- <literal>battery.reporting.rate</literal> (int)
+ <literal>storage.linux_raid.num_components_active</literal> (int)
</entry>
<entry></entry>
- <entry>No</entry>
+ <entry>Yes</entry>
<entry>
- The discharge/charge rate as reported by the hardware measured
- in <literal>"battery.reporting.unit"</literal>
- units per second.
+ Number of active components in the RAID array. If less
+ than <literal>storage.linux_raid.num_components</literal>
+ it means that the RAID array is running in degraded
+ mode.
</entry>
</row>
<row>
<entry>
- <literal>battery.reporting.warning</literal> (int)
+ <literal>storage.linux_raid.components</literal> (strlist)
</entry>
<entry></entry>
- <entry>No</entry>
- <entry>
- Once the hardware charge level of the battery drops below
- this value its state changes to 'warning'.
- Measured in <literal>"battery.reporting.unit"</literal>
- units.
- </entry>
+ <entry>Yes</entry>
+ <entry>UDI's of the volumes constituting the array.</entry>
</row>
<row>
<entry>
- <literal>battery.reporting.low</literal> (int)
+ <literal>storage.linux_raid.is_syncing</literal> (bool)
</entry>
<entry></entry>
- <entry>No</entry>
+ <entry>Yes</entry>
+ <entry>TRUE if, and only if, the array is currently syncing</entry>
+ </row>
+ <row>
<entry>
- Once the hardware charge level of the battery drops below
- this value its state changes to 'low'.
- Measured in <literal>"battery.reporting.unit"</literal>
- units.
+ <literal>storage.linux_raid.sync.action</literal> (string)
</entry>
+ <entry></entry>
+ <entry>only if <literal>.is_syncing</literal> is TRUE</entry>
+ <entry>The syncing mechanism as reported by the kernel (idle, resync, check, repair, recover)</entry>
</row>
<row>
<entry>
- <literal>battery.reporting.granularity_1</literal> (int)
+ <literal>storage.linux_raid.sync.progress</literal> (double)
</entry>
<entry></entry>
- <entry>No</entry>
+ <entry>only if <literal>.is_syncing</literal> is TRUE</entry>
+ <entry>Number between 0 and 1 representing progress of the sync operation. This is updated regulary when syncing is happening.</entry>
+ </row>
+ <row>
<entry>
- Hardware granularity value one of the battery measured
- in <literal>"battery.reporting.unit"</literal>
- units .
+ <literal>storage.linux_raid.sync.speed</literal> (uint64)
</entry>
+ <entry></entry>
+ <entry>only if <literal>.is_syncing</literal> is TRUE</entry>
+ <entry>Speed of the sync operation, in kB/s. This is updated regulary when syncing is happening.</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </sect2>
+
+ <sect2 id="device-properties-system">
+ <title>
+ system namespace
+ </title>
+ <para>
+ This namespace is found on the toplevel "Computer" device,
+ and represents information about the system and the currently
+ running kernel.
+ </para>
+ <informaltable>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Key (type)</entry>
+ <entry>Values</entry>
+ <entry>Mandatory</entry>
+ <entry>Description</entry>
</row>
+ </thead>
+ <tbody>
<row>
<entry>
- <literal>battery.reporting.granularity_2</literal> (int)
+ <literal>system.kernel.name</literal> (string)
</entry>
- <entry></entry>
+ <entry>example: Linux</entry>
<entry>No</entry>
<entry>
- Hardware granularity value two of the battery measured
- in <literal>"battery.reporting.unit"</literal>
- units.
+ The name of the kernel, usually the equivalent of
+ <literal>uname -s</literal>.
</entry>
</row>
<row>
<entry>
- <literal>battery.charge_level.capacity_state</literal> (string)
- </entry>
- <entry>
- Examples: <literal>ok</literal>, <literal>critical</literal>
+ <literal>system.kernel.version</literal> (string)
</entry>
+ <entry>example: 2.6.5-7.104-default</entry>
<entry>No</entry>
<entry>
- The capacity state of the battery.
+ The version of the currently running kernel. Usually
+ the equivalent of <literal>uname -r</literal>.
</entry>
</row>
<row>
<entry>
- <literal>battery.voltage.unit</literal> (string)
- </entry>
- <entry>
- Examples: <literal>mV</literal>
+ <literal>system.kernel.machine</literal> (string)
</entry>
+ <entry>example: i686</entry>
<entry>No</entry>
<entry>
- The physical measurement unit used by the voltage properties
- (design and current).
+ The "machine hardware name" of the currently running kernel.
+ Usually the equivalent of <literal>uname -m</literal>.
</entry>
</row>
<row>
<entry>
- <literal>battery.voltage.design</literal> (int)
+ <literal>system.formfactor</literal> (string)
</entry>
- <entry></entry>
+ <entry>example: laptop, desktop, server, unknown</entry>
<entry>Yes</entry>
<entry>
- The voltage level for which the battery is designed for.
- Measured in <literal>"battery.voltage.unit"</literal>
- units.
+ The formfactor of the system. Usually the equivalent of
+ <literal>system.chassis.type</literal> or set from information
+ about ACPI/APM/PMU properties.
</entry>
</row>
<row>
<entry>
- <literal>battery.voltage.current</literal> (int)
+ <literal>system.hardware.vendor</literal> (string)
</entry>
<entry></entry>
- <entry>Yes</entry>
+ <entry>No</entry>
<entry>
- The voltage level currently emitted by the battery.
- Measured in <literal>"battery.voltage.unit"</literal>
- units.
+ The name of the manufacturer of the machine.
</entry>
</row>
<row>
<entry>
- <literal>battery.alarm.unit</literal> (string)
- </entry>
- <entry>
- Examples: <literal>mWh</literal>, <literal>mAh</literal>
+ <literal>system.hardware.product</literal> (string)
</entry>
+ <entry></entry>
<entry>No</entry>
<entry>
- The physical measurement unit used by the alarm property.
+ The product name of the machine.
</entry>
</row>
<row>
<entry>
- <literal>battery.alarm.design</literal> (int)
+ <literal>system.hardware.version</literal> (string)
</entry>
<entry></entry>
<entry>No</entry>
<entry>
- Once the charge level of the battery drops below this value
- its state changes to 'alarm'.
- Measured in <literal>"battery.alarm.unit"</literal>
- units.
+ The version of the machine.
</entry>
</row>
<row>
<entry>
- <literal>battery.remaining_time</literal> (int)
+ <literal>system.hardware.serial</literal> (string)
</entry>
<entry></entry>
<entry>No</entry>
<entry>
- Remaining time, in seconds, that the battery can provide
- power (if discharging) or the time until charged (if charging).
- This is an estimate and may be imprecise.
- This key is not present for invalid data.
+ The serial number of the machine.
</entry>
</row>
<row>
<entry>
- <literal>battery.remaining_time.calculate_per_time</literal> (bool)
+ <literal>system.hardware.uuid</literal> (string)
</entry>
<entry></entry>
<entry>No</entry>
<entry>
- If this property is <literal>true</literal> the
- <literal>battery.remaining_time</literal> becomes guessed from
- <literal>battery.charge_level.current</literal> and time.
+ The unique ID of the machine.
</entry>
</row>
<row>
<entry>
- <literal>battery.charge_level.percentage</literal> (int)
+ <literal>system.hardware.primary_video.vendor</literal> (int)
</entry>
<entry></entry>
<entry>No</entry>
<entry>
- Charge, normalised to percent. This is useful if an application
- does not want to process the raw values and do all the extra
- checks on the result. This key is not present for invalid data.
+ The PCI vendor ID of the primary graphics card in the system.
</entry>
</row>
<row>
<entry>
- <literal>battery.is_rechargeable</literal> (bool)
+ <literal>system.hardware.primary_video.product</literal> (int)
</entry>
<entry></entry>
<entry>No</entry>
<entry>
- True if the battery unit is rechargeable, false if its is
- one-time (disposable after one usage).
+ The PCI device ID of the primary graphics card in the system.
</entry>
</row>
<row>
<entry>
- <literal>battery.rechargeable.is_charging</literal> (bool)
+ <literal>system.firmware.vendor</literal> (string)
</entry>
<entry></entry>
+ <entry>No</entry>
<entry>
- Only if <literal>battery.is_rechargeable</literal> is TRUE
- </entry>
- <entry>
- TRUE if, and only if, the battery is charging.
+ The firmware vendor.
</entry>
</row>
<row>
<entry>
- <literal>battery.rechargeable.is_discharging</literal> (bool)
+ <literal>system.firmware.version</literal> (string)
</entry>
<entry></entry>
+ <entry>No</entry>
<entry>
- Only if <literal>battery.is_rechargeable</literal> is TRUE
- </entry>
- <entry>
- TRUE if, and only if, the battery is discharging.
+ The firmware version.
</entry>
</row>
<row>
<entry>
- <literal>battery.command_interface</literal> (string)
+ <literal>system.firmware.release_date</literal> (string)
</entry>
<entry></entry>
<entry>No</entry>
<entry>
- The abstract name allowing daemons and/or user-level apps
- to distinguish some groups of devices having similar
- programming interface. Introduced mostly for the daemons'
- coding simplicity.
+ The release date of the firmware.
</entry>
</row>
<row>
<entry>
- <literal>battery.vendor</literal> (string)
+ <literal>system.chassis.manufacturer</literal> (string)
</entry>
<entry></entry>
<entry>No</entry>
<entry>
- Vendor of the battery.
+ The manufacturer of the chassis.
</entry>
</row>
<row>
<entry>
- <literal>battery.model</literal> (string)
+ <literal>system.chassis.type</literal> (string)
</entry>
<entry></entry>
<entry>No</entry>
<entry>
- Make of the battery.
+ The chassis type of the machine.
</entry>
</row>
<row>
<entry>
- <literal>battery.reporting.technology</literal> (string)
+ <literal>system.board.vendor</literal> (string)
</entry>
- <entry>example: LION</entry>
+ <entry></entry>
<entry>No</entry>
<entry>
- The technology of the battery as reported by the hardware.
+ The name of the manufacturer of the base board.
</entry>
</row>
<row>
<entry>
- <literal>battery.technology</literal> (string)
- </entry>
- <entry>
- lead-acid, lithium-ion, lithium-polymer,
- nickel-metal-hydride, unknown
+ <literal>system.board.product</literal> (string)
</entry>
+ <entry></entry>
<entry>No</entry>
<entry>
- The technology of the battery processed to a few standard types.
- This key is needed as the hardware often does not specify the
- description text for a battery, and so we have to calculate it
- from the output of <literal>battery.reporting.technology</literal>.
+ The product name of the base board.
</entry>
</row>
<row>
<entry>
- <literal>battery.serial</literal> (string)
+ <literal>system.board.version</literal> (string)
</entry>
<entry></entry>
<entry>No</entry>
<entry>
- A string uniquely identifying the instance of the battery;
- it will be different for two (otherwise) identical batteries.
+ The version of the base board.
</entry>
</row>
<row>
<entry>
- <literal>battery.quirk.do_not_poll</literal> (bool)
+ <literal>system.board.serial</literal> (string)
</entry>
<entry></entry>
<entry>No</entry>
<entry>
- True if HAL should not poll the battery, False or not available at all
- if HAL should show the default behavior.
+ The serial number of the base board.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect2>
- <sect2 id="device-properties-button">
+
+ <sect2 id="device-properties-tape">
<title>
- button namespace
+ tape namespace
</title>
<para>
- Device objects with the capability <literal>button</literal>
- represent the devices capable of providing a state to the system.
+ Device objects with the capability <literal>tape</literal>
+ represent tape devices.
</para>
<informaltable>
<tgroup cols="2">
@@ -7183,93 +7118,32 @@ org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'}
<tbody>
<row>
<entry>
- <literal>button.type</literal> (string)
- </entry>
- <entry></entry>
- <entry>No</entry>
- <entry>The type of button</entry>
- </row>
- <row>
- <entry></entry>
- <entry>lid</entry>
- <entry></entry>
- <entry>
- The switch on a laptop that senses whether the lid is
- open or closed
- </entry>
- </row>
- <row>
- <entry></entry>
- <entry>power</entry>
- <entry></entry>
- <entry>The main power button on the computer.</entry>
- </row>
- <row>
- <entry></entry>
- <entry>sleep</entry>
- <entry></entry>
- <entry>
- The sleep button on a computer capable of putting the computer
- into a suspend state
- </entry>
- </row>
- <row>
- <entry>
- <literal>button.has_state</literal> (bool)
- </entry>
- <entry></entry>
- <entry>no</entry>
- <entry>True if the button maintains state, e.g. can toggled on/off</entry>
- </row>
- <row>
- <entry>
- <literal>button.state.value</literal> (bool)
- </entry>
- <entry></entry>
- <entry>
- Only when <literal>button.has_state</literal> is
- TRUE
+ <literal>tape.major</literal> (int)
</entry>
- <entry>State of the button, TRUE if it is enabled</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- <para>
- Device objects with this capability may emit the following events.
- </para>
- <informaltable>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Condition Name</entry>
- <entry>Parameters</entry>
- <entry>Example</entry>
- <entry>Description</entry>
+ <entry>example: 254</entry>
+ <entry>Yes</entry>
+ <entry>The device's major number</entry>
</row>
- </thead>
- <tbody>
<row>
<entry>
- <literal>ButtonPressed</literal>
- </entry>
- <entry>
- <literal>button.type (string)</literal>
+ <literal>tape.minor</literal> (int)
</entry>
- <entry>sleep</entry>
- <entry>Emitted when a button is pressed</entry>
+ <entry>example: 0</entry>
+ <entry>Yes</entry>
+ <entry>The device's minor number</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect2>
- <sect2 id="device-properties-processor">
+
+ <sect2 id="device-properties-video4linux">
<title>
- processor namespace
+ video4linux namespace
</title>
<para>
- Device objects with the capability <literal>processor</literal>
- represent CPU's in the system.
+ Device objects with the capability <literal>video4linux</literal>
+ represent Video4Linux devices.
</para>
<informaltable>
<tgroup cols="2">
@@ -7284,44 +7158,100 @@ org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'}
<tbody>
<row>
<entry>
- <literal>processor.number</literal> (int)
+ <literal>video4linux.device</literal> (string)
</entry>
- <entry></entry>
+ <entry>Example: /dev/video0</entry>
<entry>Yes</entry>
- <entry>
- The internal processor number in the system, starting from zero
- </entry>
+ <entry>The device node to access the Video4Linux device.</entry>
</row>
<row>
<entry>
- <literal>processor.can_throttle</literal> (bool)
- </entry>
- <entry></entry>
- <entry>No</entry>
- <entry>
- Whether the processor supports throttling to decrease it's
- own clock speed
+ <literal>video4linux.version</literal> (string)
</entry>
- </row>
- <row>
+ <entry>Example: 2</entry>
+ <entry>Yes</entry>
<entry>
- <literal>processor.maximum_speed</literal> (long)
+ The highest Video4Linux API version supported by the device.
</entry>
- <entry>example: 2200</entry>
- <entry>No</entry>
- <entry>The maximum speed of the processor in units of MHz</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect2>
- <sect2 id="device-properties-light-sensor">
+
+ <sect2 id="device-properties-video4linux-audio">
<title>
- light_sensor namespace
+ video4linux.audio namespace
</title>
<para>
- Device objects with the capability <literal>sensor</literal>
- represent light sensors in the system.
+ The video4linux device has audio inputs or outputs.
+ No namespace specific properties.
+ </para>
+ </sect2>
+
+ <sect2 id="device-properties-video4linux-radio">
+ <title>
+ video4linux.radio namespace
+ </title>
+ <para>
+ The video4linux device is a radio device.
+ No namespace specific properties.
+ </para>
+ </sect2>
+
+ <sect2 id="device-properties-video4linux-tuner">
+ <title>
+ video4linux.tuner namespace
+ </title>
+ <para>
+ The video4linux device has some sort of tuner or modulator to receive
+ or emit RF-modulated video signals.
+ No namespace specific properties.
+ </para>
+ </sect2>
+
+ <sect2 id="device-properties-video4linux-video-capture">
+ <title>
+ video4linux.video_capture namespace
+ </title>
+ <para>
+ The video4linux device can capture video.
+ No namespace specific properties.
+ </para>
+ </sect2>
+
+ <sect2 id="device-properties-video4linux-video-output">
+ <title>
+ video4linux.video_output namespace
+ </title>
+ <para>
+ The video4linux device can output video.
+ No namespace specific properties.
+ </para>
+ </sect2>
+
+ <sect2 id="device-properties-video4linux-video-overlay">
+ <title>
+ video4linux.video_overlay namespace
+ </title>
+ <para>
+ The video4linux device can overlay video.
+ No namespace specific properties.
+ </para>
+ </sect2>
+
+ <sect2 id="device-properties-volume">
+ <title>
+ volume namespace
+ </title>
+ <para>
+ This namespace is for device objects that represent storage
+ devices with a filesystem that can be mounted. Such device
+ objects will have the capability <literal>volume</literal> and
+ they will export the properties below. Note that device
+ objects can only have the <literal>volume</literal> capability
+ if they already have the capability <literal>block</literal>
+ and the property <literal>block.is_volume</literal> set to TRUE.
</para>
<informaltable>
<tgroup cols="2">
@@ -7336,481 +7266,478 @@ org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'}
<tbody>
<row>
<entry>
- <literal>light_sensor.sensor_locations</literal> (strlist)
+ <literal>volume.ignore</literal> (bool)
</entry>
<entry></entry>
<entry>Yes</entry>
- <entry>The locations of the sensors</entry>
+ <entry>This is a hint to software higher in the stack
+ that this volume should be ignored. If TRUE, the volume
+ should be invisible in the UI and mount wrappers should
+ refuse to mount it on behalf on an unprivileged
+ user. This is useful for hiding e.g. firmware partitions
+ (e.g. bootstrap on Mac's) and OS reinstall partitions on
+ e.g. OEM systems.
+ </entry>
</row>
<row>
<entry>
- <literal>light_sensor.num_sensors</literal> (int)
+ <literal>volume.is_mounted</literal> (bool)
</entry>
<entry></entry>
<entry>Yes</entry>
- <entry>Number of physical sensors</entry>
+ <entry>This property is TRUE if and only if the volume is mounted</entry>
</row>
<row>
<entry>
- <literal>light_sensor.num_levels</literal> (int)
+ <literal>volume.is_mounted_read_only</literal> (bool)
</entry>
<entry></entry>
<entry>Yes</entry>
- <entry>The number of levels of the sensors</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- </sect2>
- <sect2 id="device-properties-pda">
- <title>
- PDA namespace
- </title>
- <para>
- Device objects with the capability <literal>pda</literal>
- represent Personal Digital Assistant (PDA) devices.
- </para>
- <informaltable>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Key (type)</entry>
- <entry>Values</entry>
- <entry>Mandatory</entry>
- <entry>Description</entry>
+ <entry>This property is TRUE if and only if the volume is mounted and
+ the volume's file-system is read-only.
+ </entry>
</row>
- </thead>
- <tbody>
<row>
<entry>
- <literal>pda.platform</literal> (string)
+ <literal>volume.mount_point</literal> (string)
</entry>
- <entry>e.g. palm or pocketpc</entry>
- <entry>Yes</entry>
- <entry>The type of the PDA platform</entry>
+ <entry>example: /media/compact_flash1 </entry>
+ <entry>Yes (is blank only when volume.is_mounted is FALSE)</entry>
+ <entry>A fully qualified path to the mount point of the volume</entry>
</row>
<row>
<entry>
- <literal>pda.palm.hotsync_interface</literal> (string)
+ <literal>volume.fsusage</literal> (string)
</entry>
- <entry></entry>
+ <entry>example: filesystem</entry>
<entry>Yes</entry>
<entry>
- Path to the Palm hotsync interface e.g. a linux device file (e.g. USB) or a
- serial device.
- </entry>
+ This property specifies the expected usage of the volume
+ </entry>
</row>
<row>
- <entry>
- <literal>pda.pocketpc.hotsync_interface</literal> (string)
- </entry>
<entry></entry>
- <entry>Yes</entry>
+ <entry>filesystem</entry>
+ <entry></entry>
+ <entry>The volume is a mountable filesystem</entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry>partitiontable</entry>
+ <entry></entry>
<entry>
- Path to the Pocket PC (e.g. HP iPAQ) hotsync interface e.g. a linux device file
- (e.g. USB) or a serial device.
+ The volume contains a partitiontable.
</entry>
</row>
- </tbody>
- </tgroup>
- </informaltable>
- </sect2>
- <sect2 id="device-properties-power-management">
- <title>
- power_management namespace
- </title>
- <para>
- Keys with the prefix <literal>power_management</literal>
- provide information about power management supported by
- the system.
- </para>
- <informaltable>
- <tgroup cols="2">
- <thead>
<row>
- <entry>Key (type)</entry>
- <entry>Values</entry>
- <entry>Mandatory</entry>
- <entry>Description</entry>
+ <entry></entry>
+ <entry>raid</entry>
+ <entry></entry>
+ <entry>The volume is a member of a raid set and not mountable</entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry>other</entry>
+ <entry></entry>
+ <entry>The volume is not mountable like a swap partition</entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry>unused</entry>
+ <entry></entry>
+ <entry>The volume is marked a unused or free</entry>
</row>
- </thead>
- <tbody>
<row>
<entry>
- <literal>power_management.type</literal> (string)
- </entry>
- <entry>Examples:
- <literal>apm</literal>,
- <literal>acpi</literal>,
- <literal>pmu</literal>
- </entry>
- <entry>Yes</entry>
- <entry>
- The power management subsystem used on the computer.
+ <literal>volume.fstype</literal> (string)
</entry>
+ <entry>examples: ext3, vfat</entry>
+ <entry>Yes (is blank if the type is unknown)</entry>
+ <entry>The specific type of either the file system or what the volume is used for, cf. volume.fsusage</entry>
</row>
<row>
<entry>
- <literal>power_management.can_suspend</literal> (bool)
+ <literal>volume.fsversion</literal> (string)
</entry>
+ <entry>example: FAT32</entry>
<entry></entry>
- <entry>Yes</entry>
- <entry>
- If suspend support is compiled into the kernel.
- NB. This may not mean the machine is able to suspend
- successfully.
- </entry>
+ <entry>Version number or subtype of the filesystem</entry>
</row>
<row>
<entry>
- <literal>power_management.can_suspend_hybrid</literal> (bool)
+ <literal>volume.label</literal> (string)
</entry>
- <entry></entry>
- <entry>Yes</entry>
+ <entry>example: 'Fedora Core 1.90' </entry>
+ <entry>Yes (is blank if no label is found)</entry>
+ <entry>The label of the volume</entry>
+ </row>
+ <row>
<entry>
- If the system is capable of hybrid suspend.
+ <literal>volume.uuid</literal> (string)
</entry>
+ <entry>example: 4060-6C11</entry>
+ <entry>Yes (is blank if no UUID is found)</entry>
+ <entry>The Universal Unique Identifer for the volume</entry>
</row>
<row>
<entry>
- <literal>power_management.can_hibernate</literal> (bool)
+ <literal>volume.is_disc</literal> (bool)
</entry>
<entry></entry>
<entry>Yes</entry>
- <entry>
- If hibernation support is compiled into the kernel.
- NB. This may not mean the machine is able to hibernate
- successfully.
+ <entry>If the volume stems from an optical disc, this
+ property is true and the device object will also have
+ the capability <literal>volume.disc</literal>
</entry>
</row>
<row>
<entry>
- <literal>power_management.is_powersave_set</literal> (bool)
+ <literal>volume.block_size</literal> (string)
</entry>
- <entry/>
- <entry>Yes</entry>
+ <entry></entry>
+ <entry>No</entry>
<entry>
- Is the last value passed to the SetPowerSave method.
+ The block size of the volume
</entry>
</row>
<row>
<entry>
- <literal>power_management.quirk.s3_bios</literal> (bool)
+ <literal>volume.num_blocks</literal> (string)
</entry>
<entry></entry>
<entry>No</entry>
- <entry>Use the S3_BIOS kernel command for suspend.</entry>
+ <entry>
+ Number of blocks on the volume
+ </entry>
</row>
<row>
<entry>
- <literal>power_management.quirk.s3_mode</literal> (bool)
+ <literal>volume.size</literal> (uint64)
</entry>
<entry></entry>
<entry>No</entry>
- <entry>Use the S3_MODE kernel command for suspend.</entry>
+ <entry>
+ Size of the volume in bytes
+ </entry>
</row>
<row>
<entry>
- <literal>power_management.quirk.dpms_suspend</literal> (bool)
+ <literal>volume.is_partition</literal> (bool)
</entry>
<entry></entry>
- <entry>No</entry>
- <entry>Suspend the video card via DPMS on suspend.</entry>
+ <entry>Yes</entry>
+ <entry>
+ If the volume stems from a partition on e.g. a hard
+ disk, this property is set to <literal>TRUE</literal>.
+ </entry>
</row>
<row>
<entry>
- <literal>power_management.quirk.vga_mode_3</literal> (bool)
+ <literal>volume.linux.is_device_mapper</literal> (bool)
</entry>
<entry></entry>
- <entry>No</entry>
- <entry>Reset the VGA text mode to mode 3 on resume.</entry>
+ <entry>Yes, but only on Linux</entry>
+ <entry>
+ If the volume stems from the Linux Device Mapper this property is set to <literal>TRUE</literal>.
+ </entry>
</row>
+
<row>
<entry>
- <literal>power_management.quirk.dpms_on</literal> (bool)
+ <literal>volume.partition.number</literal> (int)
</entry>
<entry></entry>
- <entry>No</entry>
- <entry>Reactivate the screen with DPMS on resume.</entry>
+ <entry>
+ If, and only if, <literal>volume.is_partition</literal>
+ is set to <literal>TRUE</literal>.
+ </entry>
+ <entry>
+ The number of the partition.
+ </entry>
</row>
+
<row>
<entry>
- <literal>power_management.quirk.vbe_post</literal> (bool)
+ <literal>volume.partition.label</literal> (string)
</entry>
<entry></entry>
- <entry>No</entry>
- <entry>Run the VGA BIOS Power On Self Test (POST) on resume.</entry>
+ <entry>
+ If, and only if, <literal>volume.is_partition</literal>
+ is set to <literal>TRUE</literal>.
+ </entry>
+ <entry>
+ Label of partition. Only available for "apm" and "gpt"
+ partition tables. Note that this is not the same as the
+ file system label defined in <literal>volume.label</literal>.
+ </entry>
</row>
<row>
<entry>
- <literal>power_management.quirk.vbestate_restore</literal> (bool)
+ <literal>volume.partition.uuid</literal> (string)
</entry>
<entry></entry>
- <entry>No</entry>
- <entry>Save the VGA BIOS state before suspend, and restore it on resume.</entry>
+ <entry>
+ If, and only if, <literal>volume.is_partition</literal>
+ is set to <literal>TRUE</literal>.
+ </entry>
+ <entry>
+ The UUID or GUID of the partition table entry. Only available for
+ "gpt" partition tables.
+ </entry>
</row>
+
<row>
<entry>
- <literal>power_management.quirk.vbemode_restore</literal> (bool)
+ <literal>volume.partition.scheme</literal> (string)
</entry>
<entry></entry>
- <entry>No</entry>
- <entry>Save the VGA BIOS mode before suspend, and restore it on resume.</entry>
+ <entry>
+ If, and only if, <literal>volume.is_partition</literal>
+ is set to <literal>TRUE</literal>.
+ </entry>
+ <entry>
+ The scheme of the partition table this entry is part of.
+ Note that this is not necessarily the same as
+ <literal>storage.partitioning_scheme</literal> as
+ some partition tables can embed other partition tables.
+ </entry>
</row>
<row>
+ <entry></entry>
+ <entry>mbr</entry>
+ <entry></entry>
<entry>
- <literal>power_management.quirk.pci_save</literal> (bool)
+ Master Boot Record
</entry>
- <entry></entry>
- <entry>No</entry>
- <entry>saving the PCI config space of the graphic card before suspend, restoring it after</entry>
</row>
<row>
+ <entry></entry>
+ <entry>embr</entry>
+ <entry></entry>
<entry>
- <literal>power_management.quirk.radeon_off</literal> (bool)
+ Extended Master Boot Record
</entry>
- <entry></entry>
- <entry>No</entry>
- <entry>Turn off the Radeon DAC off before suspend.</entry>
</row>
<row>
+ <entry></entry>
+ <entry>gpt</entry>
+ <entry></entry>
<entry>
- <literal>power_management.quirk.reset_brightness</literal> (bool)
+ GUID Partition Table as defined by EFI
</entry>
- <entry></entry>
- <entry>No</entry>
- <entry>Reset the brightness state after resume.</entry>
</row>
<row>
+ <entry></entry>
+ <entry>apm</entry>
+ <entry></entry>
<entry>
- <literal>power_management.quirk.no_fb</literal> (bool)
+ Apple Partition Map
</entry>
- <entry></entry>
- <entry>No</entry>
- <entry>True if the machine can only suspend when not using framebuffer.</entry>
</row>
+
<row>
<entry>
- <literal>power_management.quirk.none</literal> (bool)
+ <literal>volume.partition.type</literal> (string)
</entry>
<entry></entry>
- <entry>No</entry>
- <entry>No quirks are necessary for suspend or resume.</entry>
- </row>
- </tbody>
- </tgroup>
- </informaltable>
- </sect2>
- <sect2 id="device-properties-tape">
- <title>
- tape namespace
- </title>
- <para>
- Device objects with the capability <literal>tape</literal>
- represent tape devices.
- </para>
- <informaltable>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Key (type)</entry>
- <entry>Values</entry>
- <entry>Mandatory</entry>
- <entry>Description</entry>
+ <entry>
+ If, and only if, <literal>volume.is_partition</literal>
+ is set to <literal>TRUE</literal>.
+ </entry>
+ <entry>
+ The type of the partition table entry. Depends on
+ <literal>volume.partition.scheme</literal>.
+ </entry>
</row>
- </thead>
- <tbody>
<row>
+ <entry></entry>
+ <entry><literal>mbr</literal> and <literal>embr</literal> entries</entry>
+ <entry></entry>
<entry>
- <literal>tape.major</literal> (int)
+ The hexadecimal encoding of the 8-bit partition type, see
+ http://www.win.tue.nl/~aeb/partitions/partition_types-1.html
+ for a list. For example the Linux partition type is represented
+ as the string "0x83".
</entry>
- <entry>example: 254</entry>
- <entry>Yes</entry>
- <entry>The device's major number</entry>
</row>
<row>
+ <entry></entry>
+ <entry><literal>gpt</literal> entries</entry>
+ <entry></entry>
<entry>
- <literal>tape.minor</literal> (int)
+ The GUID encoded as a string. See http://en.wikipedia.org/wiki/GUID_Partition_Table
+ for a list of well-known GUID's.
</entry>
- <entry>example: 0</entry>
- <entry>Yes</entry>
- <entry>The device's minor number</entry>
</row>
- </tbody>
- </tgroup>
- </informaltable>
- </sect2>
- <sect2 id="device-properties-killswitch">
- <title>
- killswitch namespace
- </title>
- <para>
- Device objects with the capability <literal>killswitch</literal>
- represent switches to turn a radio on and off. See also <xref linkend="interface-device-killswitch"/>.
- </para>
- <informaltable>
- <tgroup cols="2">
- <thead>
<row>
- <entry>Key (type)</entry>
- <entry>Values</entry>
- <entry>Mandatory</entry>
- <entry>Description</entry>
+ <entry></entry>
+ <entry><literal>apm</literal> entries</entry>
+ <entry></entry>
+ <entry>
+ Defined in http://developer.apple.com/documentation/mac/Devices/Devices-126.html.
+ Also note that for FAT file systems, it appears that "DOS_FAT_32", "DOS_FAT_16"
+ and "DOS_FAT_12" are also recognized under Mac OS X (I've tested this too) cf.
+ http://lists.apple.com/archives/Darwin-drivers/2003/May/msg00021.html
+ </entry>
</row>
- </thead>
- <tbody>
+
<row>
<entry>
- <literal>killswitch.type</literal> (string)
+ <literal>volume.partition.flags</literal> (strlist)
</entry>
<entry></entry>
- <entry>Yes</entry>
- <entry>Type of the kill switch</entry>
+ <entry>
+ If, and only if, <literal>volume.is_partition</literal>
+ is set to <literal>TRUE</literal>.
+ </entry>
+ <entry>
+ Flags conveying specific information about the partition
+ entry. Dependent on the partitioning scheme.
+ </entry>
</row>
<row>
<entry></entry>
- <entry>wlan</entry>
+ <entry><literal>mbr</literal> and <literal>embr</literal> entries</entry>
<entry></entry>
- <entry>Kill switch is for turning Wireless LAN (WLAN) networking on/off</entry>
+ <entry>
+ Only one flag, "boot", is defined. This is used by some BIOS'es and
+ boot loaders to populate a boot menu. It means that a partition is
+ bootable.
+ </entry>
</row>
<row>
<entry></entry>
- <entry>bluetooth</entry>
+ <entry><literal>gpt</literal> entries</entry>
<entry></entry>
- <entry>Kill switch is for turning Bluetooth on/off</entry>
+ <entry>
+ Only the flag "required" is recognized. This corresponds to
+ bit 0 of the attibutes (at offset 48), meaning
+ "Required for the platform to function. The system cannot
+ function normally if this partition is removed. This
+ partition should be considered as part of the hardware of the
+ system, and if it is removed the system may not boot. It may
+ contain diagnostics, recovery tools, or other code or data that is
+ critical to the functioning of a system independent of any OS."
+ </entry>
</row>
<row>
<entry></entry>
- <entry>wwan</entry>
+ <entry><literal>apm</literal> entries</entry>
<entry></entry>
- <entry>Kill switch is for turning Wireless WAN (WWAN) networking on/off</entry>
+ <entry>
+ The following flags are recognized:
+ "allocated" if the partition is already allocated; and
+ "in_use" if the partition is in use; may be cleared after a system reset; and
+ "boot" if partition contains valid boot information; and
+ "allow_read" if partition allows reading; and
+ "allow_write"; if partition allows writing; and
+ "boot_code_is_pic"; if boot code is position independent
+ </entry>
</row>
+
<row>
<entry>
- <literal>killswitch.name</literal> (string)
+ <literal>volume.partition.media_size</literal> (uint64)
+ </entry>
+ <entry>example: 500107862016</entry>
+ <entry>
+ If, and only if, <literal>volume.is_partition</literal>
+ is set to <literal>TRUE</literal>.
+ </entry>
+ <entry>
+ If available, size of the current media or the fixed disk in the storage device.
</entry>
- <entry></entry>
- <entry>No</entry>
- <entry>Name of the kill switch (as reported by the kernel).</entry>
</row>
<row>
<entry>
- <literal>killswitch.access_method</literal> (string)
+ <literal>volume.partition.start</literal> (uint64)
+ </entry>
+ <entry>example: 32256</entry>
+ <entry>
+ If, and only if, <literal>volume.is_partition</literal>
+ is set to <literal>TRUE</literal>.
+ </entry>
+ <entry>
+ If available, the offset where the partition starts on the media or the fixed disk in the storage device.
</entry>
- <entry></entry>
- <entry>Yes</entry>
- <entry>How HAL should program the switch</entry>
</row>
</tbody>
</tgroup>
</informaltable>
- </sect2>
- <sect2 id="device-properties-video4linux">
- <title>
- video4linux namespace
- </title>
<para>
- Device objects with the capability <literal>video4linux</literal>
- represent Video4Linux devices.
+ Device objects with this capability may emit the following
+ device conditions
</para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
- <entry>Key (type)</entry>
- <entry>Values</entry>
- <entry>Mandatory</entry>
+ <entry>Condition Name</entry>
+ <entry>Parameters</entry>
+ <entry>Example</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry>
- <literal>video4linux.device</literal> (string)
+ <literal>VolumeMount</literal>
</entry>
- <entry>Example: /dev/video0</entry>
- <entry>Yes</entry>
- <entry>The device node to access the Video4Linux device.</entry>
+ <entry>
+ <literal>block.device</literal> (string),
+ <literal>volume.mount_point</literal> (string)
+ </entry>
+ <entry>
+ <literal>/dev/sda1</literal>,
+ <literal>/media/compact_flash</literal>
+ </entry>
+ <entry>Emitted when a volume is mounted</entry>
</row>
<row>
<entry>
- <literal>video4linux.version</literal> (string)
+ <literal>VolumeUnmount</literal>
</entry>
- <entry>Example: 2</entry>
- <entry>Yes</entry>
<entry>
- The highest Video4Linux API version supported by the device.
+ <literal>block.device</literal> (string),
+ <literal>volume.mount_point</literal> (string)
+ </entry>
+ <entry>
+ <literal>/dev/sda1</literal>,
+ <literal>/media/compact_flash</literal>
+ </entry>
+ <entry>Emitted when a volume is unmounted</entry>
+ </row>
+ <row>
+ <entry>
+ <literal>VolumeUnmountForced</literal>
+ </entry>
+ <entry>
+ <literal>block.device</literal> (string),
+ <literal>volume.mount_point</literal> (string)
+ </entry>
+ <entry>
+ <literal>/dev/sda1</literal>,
+ <literal>/media/compact_flash</literal>
+ </entry>
+ <entry>
+ Emitted when a volume is forcibly unmounted because
+ the media backing the volume was removed.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect2>
- <sect2 id="device-properties-video4linux-video-capture">
- <title>
- video4linux.video_capture namespace
- </title>
- <para>
- The video4linux device can capture video.
- No namespace specific properties.
- </para>
- </sect2>
- <sect2 id="device-properties-video4linux-video-output">
- <title>
- video4linux.video_output namespace
- </title>
- <para>
- The video4linux device can output video.
- No namespace specific properties.
- </para>
- </sect2>
- <sect2 id="device-properties-video4linux-video-overlay">
- <title>
- video4linux.video_overlay namespace
- </title>
- <para>
- The video4linux device can overlay video.
- No namespace specific properties.
- </para>
- </sect2>
- <sect2 id="device-properties-video4linux-audio">
- <title>
- video4linux.audio namespace
- </title>
- <para>
- The video4linux device has audio inputs or outputs.
- No namespace specific properties.
- </para>
- </sect2>
- <sect2 id="device-properties-video4linux-tuner">
- <title>
- video4linux.tuner namespace
- </title>
- <para>
- The video4linux device has some sort of tuner or modulator to receive
- or emit RF-modulated video signals.
- No namespace specific properties.
- </para>
- </sect2>
- <sect2 id="device-properties-video4linux-radio">
- <title>
- video4linux.radio namespace
- </title>
- <para>
- The video4linux device is a radio device.
- No namespace specific properties.
- </para>
- </sect2>
- <sect2 id="device-properties-of_platform">
+ <sect2 id="device-properties-volume-disc">
<title>
- of_platform namespace
+ volume.disc namespace
</title>
<para>
- Devices on the virtual 'of_platform' bus are represented
- by device objects where <literal>info.subsystem</literal>
- equals <literal>of_platform</literal>. The following
- properties are available for such device objects.
+ This namespace is for device objects that represent optical
+ discs, e.g. device objects with the capability
+ <literal>volume.disc</literal>. Such device objects will
+ also have the capability <literal>volume</literal>.
</para>
<informaltable>
<tgroup cols="2">
@@ -7825,85 +7752,202 @@ org.freedesktop.Hal.Device.Volume.method_signatures = {'ssas', 'as', 'as'}
<tbody>
<row>
<entry>
- <literal>of_platform.id</literal> (string)
+ <literal>volume.disc.has_audio</literal> (bool)
</entry>
- <entry>example: f0003000.ethernet</entry>
+ <entry></entry>
<entry>Yes</entry>
- <entry>Device identification</entry>
+ <entry>Is true only if the disc contains audio</entry>
</row>
- </tbody>
- </tgroup>
- </informaltable>
- </sect2>
-
- <sect2 id="device-properties-obex">
- <title>
- obex namespace
- </title>
- <para>
- Device objects with the capability <literal>obex</literal>
- represent devices that have implemented OBject EXchange protocol for communication.
- Typically such devices are mobile phones and the protocol is used to transfer files,
- synchronize data and manage mobile phone configuration. No namespace specific properties.
- </para>
- <informaltable>
- <tgroup cols="2">
- <thead>
<row>
- <entry>Key (type)</entry>
- <entry>Values</entry>
- <entry>Mandatory</entry>
- <entry>Description</entry>
+ <entry>
+ <literal>volume.disc.has_data</literal> (bool)
+ </entry>
+ <entry></entry>
+ <entry>Yes</entry>
+ <entry>Is true only if the disc contains data</entry>
</row>
- </thead>
- <tbody>
<row>
<entry>
- <literal>obex.type</literal> (sting)
+ <literal>volume.disc.is_vcd</literal> (bool)
</entry>
- <entry>example: pcsuite, syncml</entry>
- <entry>No</entry>
+ <entry></entry>
+ <entry>Yes</entry>
+ <entry>Is true only if the disc is a Video CD</entry>
+ </row>
+ <row>
<entry>
+ <literal>volume.disc.is_svcd</literal> (bool)
</entry>
+ <entry></entry>
+ <entry>Yes</entry>
+ <entry>Is true only if the disc is a Super Video CD</entry>
</row>
<row>
- <entry></entry>
- <entry>pcsuite</entry>
- <entry>No</entry>
<entry>
- Device is meant to be used with Nokia PC Suite application. Standardized OBEX file
- transfer is supported and possibly proprietary extensions.
+ <literal>volume.disc.is_videodvd</literal> (bool)
</entry>
+ <entry></entry>
+ <entry>Yes</entry>
+ <entry>Is true only if the disc is a Video DVD</entry>
</row>
<row>
- <entry></entry>
- <entry>syncml</entry>
- <entry>No</entry>
<entry>
- Device supports SyncML over OBEX protocol.
+ <literal>volume.disc.is_appendable</literal> (bool)
</entry>
+ <entry></entry>
+ <entry>Yes</entry>
+ <entry>Is true only if it's possible to write additional data</entry>
</row>
<row>
+ <entry>
+ <literal>volume.disc.is_blank</literal> (bool)
+ </entry>
<entry></entry>
- <entry>syncml-sync</entry>
- <entry>No</entry>
+ <entry>Yes</entry>
+ <entry>Is true only if the disc is blank</entry>
+ </row>
+ <row>
<entry>
- Device supports SyncML over OBEX protocol for data synchronization.
+ <literal>volume.disc.is_rewritable</literal> (bool)
</entry>
+ <entry></entry>
+ <entry>Yes</entry>
+ <entry>Is true only if the disc is rewritable</entry>
</row>
<row>
+ <entry>
+ <literal>volume.disc.capacity</literal> (uint64)
+ </entry>
<entry></entry>
- <entry>syncml-dm</entry>
<entry>No</entry>
+ <entry>Capacity of disc, in bytes</entry>
+ </row>
+ <row>
<entry>
- Device supports SyncML over OBEX protocol for data management.
+ <literal>volume.disc.type</literal> (string)
</entry>
+ <entry></entry>
+ <entry>Yes</entry>
+ <entry>This property specifies the physical type of the disc</entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry>cd_rom</entry>
+ <entry></entry>
+ <entry>CD-ROM disc</entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry>cd_r</entry>
+ <entry></entry>
+ <entry>CD-R disc</entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry>cd_rw</entry>
+ <entry></entry>
+ <entry>CD-RW disc</entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry>dvd_rom</entry>
+ <entry></entry>
+ <entry>DVD-ROM disc</entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry>dvd_ram</entry>
+ <entry></entry>
+ <entry>DVD-RAM disc</entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry>dvd_r</entry>
+ <entry></entry>
+ <entry>DVD-R disc</entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry>dvd_rw</entry>
+ <entry></entry>
+ <entry>DVD-RW disc</entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry>dvd_r_dl</entry>
+ <entry></entry>
+ <entry>DVD-R dual layer disc</entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry>dvd_plus_r</entry>
+ <entry></entry>
+ <entry>DVD+R disc</entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry>dvd_plus_r_dl</entry>
+ <entry></entry>
+ <entry>DVD+R dual layer disc</entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry>dvd_plus_rw</entry>
+ <entry></entry>
+ <entry>DVD+RW disc</entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry>dvd_plus_rw_dl</entry>
+ <entry></entry>
+ <entry>DVD+RW dual layer disc</entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry>bd_rom</entry>
+ <entry></entry>
+ <entry>BD-ROM disc</entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry>bd_r</entry>
+ <entry></entry>
+ <entry>BD-R disc</entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry>bd_re</entry>
+ <entry></entry>
+ <entry>BD-RE disc</entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry>hddvd_rom</entry>
+ <entry></entry>
+ <entry>HD DVD-ROM disc</entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry>hddvd_r</entry>
+ <entry></entry>
+ <entry>HD DVD-R disc</entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry>hddvd_rw</entry>
+ <entry></entry>
+ <entry>HD DVD-Rewritable disc</entry>
+ </row>
+ <row>
+ <entry></entry>
+ <entry>unknown</entry>
+ <entry></entry>
+ <entry>Unknown type or lack of support from drive to determine the type</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</sect2>
-
</sect1>
<sect1 id="properties-misc">
More information about the hal-commit
mailing list