1 <?xml version=
"1.0" encoding=
"UTF-8"?>
3 <deviceinfo version=
"0.2">
5 <match key=
"info.udi" string=
"/org/freedesktop/Hal/devices/computer">
6 <append key=
"info.callouts.add" type=
"strlist">hal-storage-cleanup-all-mountpoints
</append>
9 <match key=
"storage.media_check_enabled" bool=
"true">
10 <append key=
"info.addons" type=
"strlist">hald-addon-storage
</append>
13 <match key=
"volume.is_disc" bool=
"true">
14 <match key=
"volume.disc.has_audio" bool=
"true">
15 <append key=
"info.interfaces" type=
"strlist">org.freedesktop.Hal.Device.Volume
</append>
16 <append key=
"org.freedesktop.Hal.Device.Volume.method_names" type=
"strlist">Eject
</append>
17 <append key=
"org.freedesktop.Hal.Device.Volume.method_signatures" type=
"strlist">as
</append>
18 <append key=
"org.freedesktop.Hal.Device.Volume.method_argnames" type=
"strlist">extra_options
</append>
19 <append key=
"org.freedesktop.Hal.Device.Volume.method_execpaths" type=
"strlist">hal-storage-eject
</append>
21 <match key=
"volume.disc.is_blank" bool=
"true">
22 <append key=
"info.interfaces" type=
"strlist">org.freedesktop.Hal.Device.Volume
</append>
23 <append key=
"org.freedesktop.Hal.Device.Volume.method_names" type=
"strlist">Eject
</append>
24 <append key=
"org.freedesktop.Hal.Device.Volume.method_signatures" type=
"strlist">as
</append>
25 <append key=
"org.freedesktop.Hal.Device.Volume.method_argnames" type=
"strlist">extra_options
</append>
26 <append key=
"org.freedesktop.Hal.Device.Volume.method_execpaths" type=
"strlist">hal-storage-eject
</append>
30 <!-- this is to be able to mount media in drives we cannot poll, e.g. IDE Zip Drives and PC style floppy drives -->
31 <match key=
"storage.media_check_enabled" bool=
"false">
32 <match key=
"storage.no_partitions_hint" bool=
"true">
34 <append key=
"info.interfaces" type=
"strlist">org.freedesktop.Hal.Device.Volume
</append>
36 <append key=
"org.freedesktop.Hal.Device.Volume.method_names" type=
"strlist">Mount
</append>
37 <append key=
"org.freedesktop.Hal.Device.Volume.method_signatures" type=
"strlist">ssas
</append>
38 <append key=
"org.freedesktop.Hal.Device.Volume.method_argnames" type=
"strlist">mount_point fstype extra_options
</append>
39 <append key=
"org.freedesktop.Hal.Device.Volume.method_execpaths" type=
"strlist">hal-storage-mount
</append>
41 <append key=
"org.freedesktop.Hal.Device.Volume.method_names" type=
"strlist">Unmount
</append>
42 <append key=
"org.freedesktop.Hal.Device.Volume.method_signatures" type=
"strlist">as
</append>
43 <append key=
"org.freedesktop.Hal.Device.Volume.method_argnames" type=
"strlist">extra_options
</append>
44 <append key=
"org.freedesktop.Hal.Device.Volume.method_execpaths" type=
"strlist">hal-storage-unmount
</append>
46 <append key=
"org.freedesktop.Hal.Device.Volume.method_names" type=
"strlist">Eject
</append>
47 <append key=
"org.freedesktop.Hal.Device.Volume.method_signatures" type=
"strlist">as
</append>
48 <append key=
"org.freedesktop.Hal.Device.Volume.method_argnames" type=
"strlist">extra_options
</append>
49 <append key=
"org.freedesktop.Hal.Device.Volume.method_execpaths" type=
"strlist">hal-storage-eject
</append>
51 <!-- allow these mount options for all file systems -->
52 <append key=
"volume.mount.valid_options" type=
"strlist">ro
</append>
53 <append key=
"volume.mount.valid_options" type=
"strlist">sync
</append>
54 <append key=
"volume.mount.valid_options" type=
"strlist">dirsync
</append>
55 <append key=
"volume.mount.valid_options" type=
"strlist">noatime
</append>
56 <append key=
"volume.mount.valid_options" type=
"strlist">nodiratime
</append>
57 <append key=
"volume.mount.valid_options" type=
"strlist">noexec
</append>
58 <append key=
"volume.mount.valid_options" type=
"strlist">quiet
</append>
59 <append key=
"volume.mount.valid_options" type=
"strlist">remount
</append>
60 <append key=
"volume.mount.valid_options" type=
"strlist">exec
</append>
61 <!-- As this is removable media give some leeway -->
62 <append key=
"volume.mount.valid_options" type=
"strlist">utf8
</append>
63 <append key=
"volume.mount.valid_options" type=
"strlist">shortname=
</append>
64 <append key=
"volume.mount.valid_options" type=
"strlist">codepage=
</append>
65 <append key=
"volume.mount.valid_options" type=
"strlist">iocharset=
</append>
66 <append key=
"volume.mount.valid_options" type=
"strlist">umask=
</append>
67 <append key=
"volume.mount.valid_options" type=
"strlist">uid=
</append>
73 <match key=
"volume.fsusage" string=
"filesystem">
75 <!-- Here follow volumes we specifically want to ignore - it is the -->
76 <!-- responsibility of software higher in the stack (e.g. gnome-vfs) -->
77 <!-- amd mount programs (e.g. Mount() on HAL) to respect volume.ignore -->
78 <merge key=
"volume.ignore" type=
"bool">false
</merge>
80 <match key=
"@block.storage_device:storage.removable" bool=
"false">
82 <!-- Should always ignore Apple Bootstrap partitions (it would be -->
83 <!-- a security hole to mount it) - TODO: should use the bootable -->
84 <!-- flag from the Mac partition table instead -->
85 <match key=
"volume.fstype" string=
"hfs">
86 <match key=
"volume.label" string=
"bootstrap">
87 <merge key=
"volume.ignore" type=
"bool">true
</merge>
91 <!-- HP ships desktops with a recovery partition -->
92 <match key=
"volume.fstype" string=
"vfat">
93 <match key=
"volume.label" string=
"HP_RECOVERY">
94 <merge key=
"volume.ignore" type=
"bool">true
</merge>
98 <!-- EFI firmware partitions -->
99 <match key=
"volume.fstype" string=
"vfat">
100 <match key=
"volume.label" string=
"EFI">
101 <merge key=
"volume.ignore" type=
"bool">true
</merge>
108 <append key=
"info.interfaces" type=
"strlist">org.freedesktop.Hal.Device.Volume
</append>
110 <append key=
"org.freedesktop.Hal.Device.Volume.method_names" type=
"strlist">Mount
</append>
111 <append key=
"org.freedesktop.Hal.Device.Volume.method_signatures" type=
"strlist">ssas
</append>
112 <append key=
"org.freedesktop.Hal.Device.Volume.method_argnames" type=
"strlist">mount_point fstype extra_options
</append>
113 <append key=
"org.freedesktop.Hal.Device.Volume.method_execpaths" type=
"strlist">hal-storage-mount
</append>
115 <append key=
"org.freedesktop.Hal.Device.Volume.method_names" type=
"strlist">Unmount
</append>
116 <append key=
"org.freedesktop.Hal.Device.Volume.method_signatures" type=
"strlist">as
</append>
117 <append key=
"org.freedesktop.Hal.Device.Volume.method_argnames" type=
"strlist">extra_options
</append>
118 <append key=
"org.freedesktop.Hal.Device.Volume.method_execpaths" type=
"strlist">hal-storage-unmount
</append>
120 <append key=
"org.freedesktop.Hal.Device.Volume.method_names" type=
"strlist">Eject
</append>
121 <append key=
"org.freedesktop.Hal.Device.Volume.method_signatures" type=
"strlist">as
</append>
122 <append key=
"org.freedesktop.Hal.Device.Volume.method_argnames" type=
"strlist">extra_options
</append>
123 <append key=
"org.freedesktop.Hal.Device.Volume.method_execpaths" type=
"strlist">hal-storage-eject
</append>
125 <!-- allow these mount options for all file systems -->
126 <append key=
"volume.mount.valid_options" type=
"strlist">ro
</append>
127 <append key=
"volume.mount.valid_options" type=
"strlist">sync
</append>
128 <append key=
"volume.mount.valid_options" type=
"strlist">dirsync
</append>
129 <append key=
"volume.mount.valid_options" type=
"strlist">noatime
</append>
130 <append key=
"volume.mount.valid_options" type=
"strlist">nodiratime
</append>
131 <append key=
"volume.mount.valid_options" type=
"strlist">noexec
</append>
132 <append key=
"volume.mount.valid_options" type=
"strlist">quiet
</append>
133 <append key=
"volume.mount.valid_options" type=
"strlist">remount
</append>
134 <append key=
"volume.mount.valid_options" type=
"strlist">exec
</append>
136 <!-- allow these mount options for vfat -->
137 <match key=
"volume.fstype" string=
"vfat">
138 <append key=
"volume.mount.valid_options" type=
"strlist">utf8
</append>
139 <append key=
"volume.mount.valid_options" type=
"strlist">shortname=
</append>
140 <append key=
"volume.mount.valid_options" type=
"strlist">codepage=
</append>
141 <append key=
"volume.mount.valid_options" type=
"strlist">iocharset=
</append>
142 <append key=
"volume.mount.valid_options" type=
"strlist">umask=
</append>
143 <append key=
"volume.mount.valid_options" type=
"strlist">dmask=
</append>
144 <append key=
"volume.mount.valid_options" type=
"strlist">fmask=
</append>
145 <append key=
"volume.mount.valid_options" type=
"strlist">uid=
</append>
149 <!-- allow these mount options for hfs -->
150 <match key=
"volume.fstype" string=
"hfs">
151 <append key=
"volume.mount.valid_options" type=
"strlist">uid=
</append>
152 <append key=
"volume.mount.valid_options" type=
"strlist">force
</append>
155 <!-- allow these mount options for hfsplus -->
156 <match key=
"volume.fstype" string=
"hfsplus">
157 <append key=
"volume.mount.valid_options" type=
"strlist">uid=
</append>
158 <append key=
"volume.mount.valid_options" type=
"strlist">force
</append>
161 <!-- allow these mount options for ntfs -->
162 <match key=
"volume.fstype" string=
"ntfs">
163 <append key=
"volume.mount.valid_options" type=
"strlist">uid=
</append>
164 <append key=
"volume.mount.valid_options" type=
"strlist">gid=
</append>
165 <append key=
"volume.mount.valid_options" type=
"strlist">umask=
</append>
168 <!-- allow these mount options for ext3 -->
169 <match key=
"volume.fstype" string=
"ext3">
170 <append key=
"volume.mount.valid_options" type=
"strlist">data=
</append>
174 <match key=
"volume.fstype" string=
"udf">
175 <append key=
"volume.mount.valid_options" type=
"strlist">uid=
</append>
176 <append key=
"volume.mount.valid_options" type=
"strlist">umask=
</append>
180 <match key=
"volume.fstype" string=
"iso9660">
181 <append key=
"volume.mount.valid_options" type=
"strlist">utf8
</append>
182 <append key=
"volume.mount.valid_options" type=
"strlist">uid=
</append>
183 <append key=
"volume.mount.valid_options" type=
"strlist">mode=
</append>
184 <append key=
"volume.mount.valid_options" type=
"strlist">iocharset=
</append>
188 <match key=
"volume.fstype" string=
"pcfs">
189 <append key=
"volume.mount.valid_options" type=
"strlist">foldcase
</append>
190 <append key=
"volume.mount.valid_options" type=
"strlist">nofoldcase
</append>
193 <!-- allow these unmount options -->
194 <append key=
"volume.unmount.valid_options" type=
"strlist">lazy
</append>
198 <match key=
"storage.requires_eject" bool=
"true">
199 <!-- storage Eject causes eject on each volume on this storage -->
200 <append key=
"info.interfaces" type=
"strlist">org.freedesktop.Hal.Device.Storage
</append>
201 <append key=
"org.freedesktop.Hal.Device.Storage.method_names" type=
"strlist">Eject
</append>
202 <append key=
"org.freedesktop.Hal.Device.Storage.method_signatures" type=
"strlist">as
</append>
203 <append key=
"org.freedesktop.Hal.Device.Storage.method_argnames" type=
"strlist">extra_options
</append>
204 <append key=
"org.freedesktop.Hal.Device.Storage.method_execpaths" type=
"strlist">hal-storage-eject
</append>
206 <append key=
"info.interfaces" type=
"strlist">org.freedesktop.Hal.Device.Storage
</append>
207 <append key=
"org.freedesktop.Hal.Device.Storage.method_names" type=
"strlist">CloseTray
</append>
208 <append key=
"org.freedesktop.Hal.Device.Storage.method_signatures" type=
"strlist">as
</append>
209 <append key=
"org.freedesktop.Hal.Device.Storage.method_argnames" type=
"strlist">extra_options
</append>
210 <append key=
"org.freedesktop.Hal.Device.Storage.method_execpaths" type=
"strlist">hal-storage-closetray
</append>