FDI man page on SmartOS

Man page or keyword search:  
man Server   16655 pages
apropos Keyword Search (all sections)
Output format
SmartOS logo
[printable version]

FDI(4)									FDI(4)

NAME
       fdi - HAL device information file format

SYNOPSIS
       /usr/share/lib/xml/dtd/fdi.dtd.1

DESCRIPTION
       The  hardware  abstraction layer facility, described in hal(5), uses an
       XML-based  file	format	to  merge  arbitrary  properties  onto	device
       objects.	 The way device information files works is that once all phys‐
       ical properties are merged onto a device object, it  is	tried  against
       the set of installed device information files. Device information files
       are used for both merging facts and policy settings for devices.

       Each device information file has a number of match directives that  are
       tested against the properties of the device object. The directives have
       the form:

	 <match key="property" [string|int|bool|..]="value">

       If all the match directives  pass,  then	 the  device  information  can
       include the following property directives in the form:

	 <[merge|append|prepend] key="property" type="[string|int|bool|..]">

       These directives are used to merge new properties or append to existing
       properties on the device object. Any previously property stemming  from
       device detection can be overridden by a device information file.

       The  match,  merge, append, and prepend directives require that the key
       attribute be either a property name on the device object in question or
       a  path	to a property on another device object. The path to a property
       is expressed either through direct specification of the	UDI,  such  as
       /org/freedesktop/Hal/devices/computer:foo.bar  or through indirect ref‐
       erences such as "@info.parent:baz",  meaning  that  the	device	object
       specified  by  the  UDI	in the string property "info.parent" should be
       used to query the property "baz". It is also possible to	 use  multiple
       indirections.  For  example,  for  a  volume on a USB memory stick, the
       indirection    "@block.storage_device:@storage.physical_device:usb.ven‐
       dor_id"	references  the	 "usb.vendor_id" property on the device object
       representing the USB interface.

       When  the  property  to	match  has  been  determined,  the   following
       attributes can be used within the "match" tag:

       string
			   Match  a  string property. For example, <match key=
			   "foo.bar" string="baz"> matches only	 if  "foo.bar"
			   is a string property assuming the value "baz".

       int
			   Match an integer property

       uint64
			   Match property with the 64-bit unsigned type

       bool
			   Match a boolean property

       double
			   Match a property of type double

       exists
			   Used	 as  <match key="foo.bar" exists="true">. This
			   attribute can be  used  with	 "true"	 and  "false",
			   respectively	 to  match  when  a property exists or
			   does not exist.

       empty
			   This attribute can only be used on  string  proper‐
			   ties	 with  "true"  and "false".  The semantics for
			   "true" is to match only when	 the  string  is  non-
			   empty.

       is_absolute_path
			   Matches  only  when a string property represents an
			   absolute path (the path does not  have  to  exist).
			   This	 attribute  can	 be can be used with "true" or
			   "false".

       is_ascii
			   Matches only when a string property contains	 ASCII
			   characters.	This attribute can be used with "true"
			   or "false".

       compare_lt
			   This attribute can be used with int, uint64, double
			   and	string	properties to compare with a constant.
			   It matches when the given property is less than the
			   given constant using the default ordering.

       compare_le
			   Similar  to	compare_lt, but matches when the given
			   property is less than or equal than the given  con‐
			   stant using the default ordering.

       compare_gt
			   Similar  to	compare_lt, but matches when the given
			   property is greater than the given  constant	 using
			   the default ordering.

			   Similar  to	compare_lt, but matches when the given
			   property is greater than or equal  than  the	 given
			   constant using the default ordering.

			   This	 attribute  can	 only  be used with string and
			   strlist (string  list).  For	 a  string  key,  this
			   matches   when  the	property  contains  the	 given
			   (sub)string. For a string list, this matches if the
			   given string matches a item in the list.

       contains_ncase
			   Similar to contains, but the property and the given
			   key	are  converted	to  lowercase  before  it   is
			   checked.

       The  merge,  append,  and  prepend directives all require the attribute
       type which specifies what is to be merged.  The	following  values  are
       supported:

       string
			The  value  is	copied	to  the property. For example,
			<merge	key="foo  bar"	 type="string">	  baz</merege>
			merges the value "baz" into the property "foo.bar".

       strlist
			For merge, the value is copied to the property and the
			current	 property  is  overwritten.  For  append   and
			prepend,  the  value  is  appended or prepended to the
			list as a new item.

       bool
			This attribute can merge the values "true" or "false"

       int
			Merges an integer

       uint64
			Merges an unsigned 64-bit integer

       double
			Merges a double precision floating point number

       copy_property
			Copies the value of a given property;  supports	 paths
			with  direct  and  indirect UDI's. For example, <merge
			key="foo.bar"	       type="copy_property">@info.par‐
			ent:baz.bat</merge>  merges  the value of the property
			"baz.bat" on the device object with the UDI  from  the
			property  "info.parent" into the property "foo.bar" on
			the device object being processed.

       The remove directive requires only a key and can be used with all keys.
       For  strlist,  there is also a special syntax to remove a item from the
       string list. For example, to remove item "bla" from property "foo.bar",
       use the following syntax:

	 <remove key="foo.bar" type="strlist">bla</merge>

       Device  Information files are stored in the following standard hierachy
       with the following default top level  directories  information,	policy
       and preprobe:

       information
		      Device information files to merge device information.

		      10freedesktop
				       Device  information files included with
				       the hal tarball.

		      20thirdparty
				       Device  information  files   from   the
				       device  manufacturer and installed from
				       media accompanying the hardware.

		      30user
				       Device	information    for    specific
				       devices.

       policy
		      Device information files to merge policy propertys

		      10osvendor
				      Device  information  files included with
				      the hal  tarball	and  supplied  by  the
				      operating system vendor for policy rules

		      20thirdparty
				      Policy  rules  from  the device manufac‐
				      turer and installed from media  accompa‐
				      nying the hardware

		      30user
				      Policy rules for specific devices.

       preprobe
		      Device  information  files  to  merge information before
		      probe devices.

		      10osvendor
				      Device information files	included  with
				      the  hal	tarball	 and  supplied	by the
				      operating system vendor.

		      20thirdparty
				      Device information files from the device
				      manufacturer  and	 installed  from media
				      accompanying the hardware.

		      30user
				      Device information for specific devices.

       All device information files are matched for every hal device object.

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

       ┌────────────────────┬─────────────────┐
       │  ATTRIBUTE TYPE    │ ATTRIBUTE VALUE │
       ├────────────────────┼─────────────────┤
       │Interface Stability │ Volatile	      │
       └────────────────────┴─────────────────┘

SEE ALSO
       hald(1M), attributes(5), hal(5), locale(5), smf(5)

				  Sep 5, 2006				FDI(4)
[top]

List of man pages available for SmartOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net