1*18c2aff7Sartem 2*18c2aff7SartemThis file describe the layout of device information files in the hal 3*18c2aff7Sartemsource tree and their three different applications. It should serve as 4*18c2aff7Sartema brief guide for IHV's and third party open source projects on how to 5*18c2aff7Sartemintegrate with hal. 6*18c2aff7Sartem 7*18c2aff7SartemSaid third parties need to name their files in a unique manner using 8*18c2aff7Sartemthe following format: <organization>-[<model>]-[<purpose>].fdi. As a 9*18c2aff7Sartemdevice information file can be used to match several models the model 10*18c2aff7Sartemfield may be omitted (the <purpose> field may be useful if the <model> 11*18c2aff7Sartemfield is omitted). The filename of a device information file must 12*18c2aff7Sartemcontain only lowercase alphanumeric characters, the '-' and '_' 13*18c2aff7Sartemcharacters, and not any whitespace. 14*18c2aff7Sartem 15*18c2aff7SartemDevice information files are processed in the following order: 16*18c2aff7Sartem 17*18c2aff7Sartem1. Preprobing 18*18c2aff7Sartem------------- 19*18c2aff7Sartem 20*18c2aff7SartemContains device information files that are used to handle exceptional 21*18c2aff7Sartemconditions such as telling hal to ignore a device and all children 22*18c2aff7Sartem(using info.ignore), run programs to upload firmware or configure 23*18c2aff7Sartemthe device in an otherwise non-standard way that is incompatible with 24*18c2aff7Sartemprobing routines in hal (using info.callouts.preprobing) [1]. 25*18c2aff7Sartem 26*18c2aff7SartemThese files are processed BEFORE the device have been been probed. 27*18c2aff7Sartem 28*18c2aff7SartemSubdirs are installed in $(sysconfdir)/hal/preprobe (e.g. /etc/hal/preprobe) 29*18c2aff7Sartem 30*18c2aff7Sartem preprobe 31*18c2aff7Sartem |-- 10osvendor # From the hal tarball and/or supplied by the os vendor 32*18c2aff7Sartem | # -> installs into /usr/share/hal/fdi/preprobe/10osvendor 33*18c2aff7Sartem |-- 20thirdparty # 3rd party projects and IHV's install here 34*18c2aff7Sartem | # -> installs into /usr/share/hal/fdi/preprobe/20thirdparty 35*18c2aff7Sartem `-- 30user # Installed by the user/admin 36*18c2aff7Sartem # -> installs into /etc/hal/fdi/preprobe/ 37*18c2aff7Sartem 38*18c2aff7Sartem[1] : http://lists.freedesktop.org/archives/hal/2004-August/000858.html 39*18c2aff7Sartem 40*18c2aff7Sartem2. Information 41*18c2aff7Sartem-------------- 42*18c2aff7Sartem 43*18c2aff7SartemContains device information files that describe hardware such as what 44*18c2aff7Sartemkind of media a card reader uses (compact flash, memorystick etc), 45*18c2aff7Sartemwhat out-of-tree kernel drivers are needed, whether the device is a 46*18c2aff7Sartemcamera and not just a harddrive. 47*18c2aff7Sartem 48*18c2aff7SartemThese files are processed AFTER the device have been probed but before 49*18c2aff7Sartemany policy device information files. 50*18c2aff7Sartem 51*18c2aff7SartemSubdirs are installed in $(datadir)/hal/fdi (e.g. /usr/share/hal/fdi) 52*18c2aff7Sartem 53*18c2aff7Sartem information 54*18c2aff7Sartem |-- 10freedesktop # From the hal tarball 55*18c2aff7Sartem | # -> installs into /usr/share/hal/fdi/information/10freedesktop 56*18c2aff7Sartem |-- 20thirdparty # 3rd party projects and IHV's install here 57*18c2aff7Sartem | # -> installs into /usr/share/hal/fdi/information/20thirdparty 58*18c2aff7Sartem `-- 30user # Installed by the user/admin 59*18c2aff7Sartem # -> installs into /etc/hal/fdi/information 60*18c2aff7Sartem 61*18c2aff7Sartem 62*18c2aff7Sartem3. Policy 63*18c2aff7Sartem--------- 64*18c2aff7Sartem 65*18c2aff7SartemContains device information files that describe policy for hardware 66*18c2aff7Sartemsuch as what callouts and addons to run for a device. 67*18c2aff7Sartem 68*18c2aff7SartemThese files are processed AFTER the device have been been probed and 69*18c2aff7Sartemalso AFTER the information device files have been processed 70*18c2aff7Sartem 71*18c2aff7SartemSubdirs are installed in $(sysconfdir)/hal/policy (e.g. /etc/hal/policy) 72*18c2aff7Sartem 73*18c2aff7Sartem policy 74*18c2aff7Sartem |-- 10osvendor # From the hal tarball and/or supplied by the os vendor 75*18c2aff7Sartem | # -> installs into /usr/share/hal/fdi/policy/10freedesktop 76*18c2aff7Sartem |-- 20thirdparty # 3rd party projects and IHV's install here 77*18c2aff7Sartem | # -> installs into /usr/share/hal/fdi/policy/20thirdparty 78*18c2aff7Sartem `-- 30user # Installed by the user/admin 79*18c2aff7Sartem # -> installs into /etc/hal/fdi/policy 80*18c2aff7Sartem 81