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