1 /***************************************************************************
2  * CVSID: $Id$
3  *
4  * libhal-storage.h : HAL convenience library for storage devices and volumes
5  *
6  * Copyright (C) 2004 Red Hat, Inc.
7  *
8  * Author: David Zeuthen <davidz@redhat.com>
9  *
10  * Licensed under the Academic Free License version 2.1
11  *
12  * This program is free software; you can redistribute it and/or modify
13  * it under the terms of the GNU General Public License as published by
14  * the Free Software Foundation; either version 2 of the License, or
15  * (at your option) any later version.
16  *
17  * This program is distributed in the hope that it will be useful,
18  * but WITHOUT ANY WARRANTY; without even the implied warranty of
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20  * GNU General Public License for more details.
21  *
22  * You should have received a copy of the GNU General Public License
23  * along with this program; if not, write to the Free Software
24  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
25  *
26  **************************************************************************/
27 
28 #ifndef LIBHAL_STORAGE_H
29 #define LIBHAL_STORAGE_H
30 
31 #include <libhal.h>
32 
33 #if defined(__cplusplus)
34 extern "C" {
35 #if 0
36 } /* shut up emacs indenting */
37 #endif
38 #endif
39 
40 struct LibHalDrive_s;
41 typedef struct LibHalDrive_s LibHalDrive;
42 struct LibHalVolume_s;
43 typedef struct LibHalVolume_s LibHalVolume;
44 struct LibHalStoragePolicy_s;
45 typedef struct LibHalStoragePolicy_s LibHalStoragePolicy;
46 
47 
48 typedef enum {
49 	LIBHAL_STORAGE_ICON_DRIVE_REMOVABLE_DISK           = 0x10000,
50 	LIBHAL_STORAGE_ICON_DRIVE_REMOVABLE_DISK_IDE       = 0x10001,
51 	LIBHAL_STORAGE_ICON_DRIVE_REMOVABLE_DISK_SCSI      = 0x10002,
52 	LIBHAL_STORAGE_ICON_DRIVE_REMOVABLE_DISK_USB       = 0x10003,
53 	LIBHAL_STORAGE_ICON_DRIVE_REMOVABLE_DISK_IEEE1394  = 0x10004,
54 	LIBHAL_STORAGE_ICON_DRIVE_DISK                     = 0x10100,
55 	LIBHAL_STORAGE_ICON_DRIVE_DISK_IDE                 = 0x10101,
56 	LIBHAL_STORAGE_ICON_DRIVE_DISK_SCSI                = 0x10102,
57 	LIBHAL_STORAGE_ICON_DRIVE_DISK_USB                 = 0x10103,
58 	LIBHAL_STORAGE_ICON_DRIVE_DISK_IEEE1394            = 0x10104,
59 	LIBHAL_STORAGE_ICON_DRIVE_CDROM                    = 0x10200,
60 	LIBHAL_STORAGE_ICON_DRIVE_CDROM_IDE                = 0x10201,
61 	LIBHAL_STORAGE_ICON_DRIVE_CDROM_SCSI               = 0x10202,
62 	LIBHAL_STORAGE_ICON_DRIVE_CDROM_USB                = 0x10203,
63 	LIBHAL_STORAGE_ICON_DRIVE_CDROM_IEEE1394           = 0x10204,
64 	LIBHAL_STORAGE_ICON_DRIVE_FLOPPY                   = 0x10300,
65 	LIBHAL_STORAGE_ICON_DRIVE_FLOPPY_IDE               = 0x10301,
66 	LIBHAL_STORAGE_ICON_DRIVE_FLOPPY_SCSI              = 0x10302,
67 	LIBHAL_STORAGE_ICON_DRIVE_FLOPPY_USB               = 0x10303,
68 	LIBHAL_STORAGE_ICON_DRIVE_FLOPPY_IEEE1394          = 0x10304,
69 	LIBHAL_STORAGE_ICON_DRIVE_TAPE                     = 0x10400,
70 	LIBHAL_STORAGE_ICON_DRIVE_COMPACT_FLASH            = 0x10500,
71 	LIBHAL_STORAGE_ICON_DRIVE_MEMORY_STICK             = 0x10600,
72 	LIBHAL_STORAGE_ICON_DRIVE_SMART_MEDIA              = 0x10700,
73 	LIBHAL_STORAGE_ICON_DRIVE_SD_MMC                   = 0x10800,
74 	LIBHAL_STORAGE_ICON_DRIVE_CAMERA                   = 0x10900,
75 	LIBHAL_STORAGE_ICON_DRIVE_PORTABLE_AUDIO_PLAYER    = 0x10a00,
76 	LIBHAL_STORAGE_ICON_DRIVE_ZIP                      = 0x10b00,
77         LIBHAL_STORAGE_ICON_DRIVE_JAZ                      = 0x10c00,
78         LIBHAL_STORAGE_ICON_DRIVE_FLASH_KEY                = 0x10d00,
79 
80 	LIBHAL_STORAGE_ICON_VOLUME_REMOVABLE_DISK          = 0x20000,
81 	LIBHAL_STORAGE_ICON_VOLUME_REMOVABLE_DISK_IDE      = 0x20001,
82 	LIBHAL_STORAGE_ICON_VOLUME_REMOVABLE_DISK_SCSI     = 0x20002,
83 	LIBHAL_STORAGE_ICON_VOLUME_REMOVABLE_DISK_USB      = 0x20003,
84 	LIBHAL_STORAGE_ICON_VOLUME_REMOVABLE_DISK_IEEE1394 = 0x20004,
85 	LIBHAL_STORAGE_ICON_VOLUME_DISK                    = 0x20100,
86 	LIBHAL_STORAGE_ICON_VOLUME_DISK_IDE                = 0x20101,
87 	LIBHAL_STORAGE_ICON_VOLUME_DISK_SCSI               = 0x20102,
88 	LIBHAL_STORAGE_ICON_VOLUME_DISK_USB                = 0x20103,
89 	LIBHAL_STORAGE_ICON_VOLUME_DISK_IEEE1394           = 0x20104,
90 	LIBHAL_STORAGE_ICON_VOLUME_CDROM                   = 0x20200,
91 	LIBHAL_STORAGE_ICON_VOLUME_CDROM_IDE               = 0x20201,
92 	LIBHAL_STORAGE_ICON_VOLUME_CDROM_SCSI              = 0x20202,
93 	LIBHAL_STORAGE_ICON_VOLUME_CDROM_USB               = 0x20203,
94 	LIBHAL_STORAGE_ICON_VOLUME_CDROM_IEEE1394          = 0x20204,
95 	LIBHAL_STORAGE_ICON_VOLUME_FLOPPY                  = 0x20300,
96 	LIBHAL_STORAGE_ICON_VOLUME_FLOPPY_IDE              = 0x20301,
97 	LIBHAL_STORAGE_ICON_VOLUME_FLOPPY_SCSI             = 0x20302,
98 	LIBHAL_STORAGE_ICON_VOLUME_FLOPPY_USB              = 0x20303,
99 	LIBHAL_STORAGE_ICON_VOLUME_FLOPPY_IEEE1394         = 0x20304,
100 	LIBHAL_STORAGE_ICON_VOLUME_TAPE                    = 0x20400,
101 	LIBHAL_STORAGE_ICON_VOLUME_COMPACT_FLASH           = 0x20500,
102 	LIBHAL_STORAGE_ICON_VOLUME_MEMORY_STICK            = 0x20600,
103 	LIBHAL_STORAGE_ICON_VOLUME_SMART_MEDIA             = 0x20700,
104 	LIBHAL_STORAGE_ICON_VOLUME_SD_MMC                  = 0x20800,
105 	LIBHAL_STORAGE_ICON_VOLUME_CAMERA                  = 0x20900,
106 	LIBHAL_STORAGE_ICON_VOLUME_PORTABLE_AUDIO_PLAYER   = 0x20a00,
107 	LIBHAL_STORAGE_ICON_VOLUME_ZIP                     = 0x20b00,
108         LIBHAL_STORAGE_ICON_VOLUME_JAZ                     = 0x20c00,
109         LIBHAL_STORAGE_ICON_VOLUME_FLASH_KEY               = 0x20d00,
110 
111 	LIBHAL_STORAGE_ICON_DISC_CDROM                     = 0x30000,
112 	LIBHAL_STORAGE_ICON_DISC_CDR                       = 0x30001,
113 	LIBHAL_STORAGE_ICON_DISC_CDRW                      = 0x30002,
114 	LIBHAL_STORAGE_ICON_DISC_DVDROM                    = 0x30003,
115 	LIBHAL_STORAGE_ICON_DISC_DVDRAM                    = 0x30004,
116 	LIBHAL_STORAGE_ICON_DISC_DVDR                      = 0x30005,
117 	LIBHAL_STORAGE_ICON_DISC_DVDRW                     = 0x30006,
118 	LIBHAL_STORAGE_ICON_DISC_DVDPLUSR                  = 0x30007,
119 	LIBHAL_STORAGE_ICON_DISC_DVDPLUSRW                 = 0x30008,
120 	LIBHAL_STORAGE_ICON_DISC_DVDPLUSRWDL               = 0x30009,
121 	LIBHAL_STORAGE_ICON_DISC_BDROM                     = 0x3000a,
122 	LIBHAL_STORAGE_ICON_DISC_BDR                       = 0x3000b,
123 	LIBHAL_STORAGE_ICON_DISC_BDRE                      = 0x3000c,
124 	LIBHAL_STORAGE_ICON_DISC_HDDVDROM                  = 0x3000d,
125 	LIBHAL_STORAGE_ICON_DISC_HDDVDR                    = 0x3000e,
126 	LIBHAL_STORAGE_ICON_DISC_HDDVDRW                   = 0x3000f
127 } LibHalStoragePolicyIcon;
128 
129 typedef struct {
130 	LibHalStoragePolicyIcon icon;
131 	const char *icon_path;
132 } LibHalStoragePolicyIconPair;
133 
134 LibHalStoragePolicy *libhal_storage_policy_new		    (void) LIBHAL_DEPRECATED;
135 void                 libhal_storage_policy_free		    (LibHalStoragePolicy *policy) LIBHAL_DEPRECATED;
136 
137 void                 libhal_storage_policy_set_icon_path    (LibHalStoragePolicy *policy,
138 		   					     LibHalStoragePolicyIcon icon,
139 							     const char *path) LIBHAL_DEPRECATED;
140 
141 void                 libhal_storage_policy_set_icon_mapping (LibHalStoragePolicy *policy,
142 							     LibHalStoragePolicyIconPair *pairs) LIBHAL_DEPRECATED;
143 const char  	    *libhal_storage_policy_lookup_icon	    (LibHalStoragePolicy *policy,
144 						  	     LibHalStoragePolicyIcon icon) LIBHAL_DEPRECATED;
145 
146 typedef enum {
147 	LIBHAL_DRIVE_BUS_UNKNOWN     = 0x00,
148 	LIBHAL_DRIVE_BUS_IDE         = 0x01,
149 	LIBHAL_DRIVE_BUS_SCSI        = 0x02,
150 	LIBHAL_DRIVE_BUS_USB         = 0x03,
151 	LIBHAL_DRIVE_BUS_IEEE1394    = 0x04,
152 	LIBHAL_DRIVE_BUS_CCW         = 0x05
153 } LibHalDriveBus;
154 
155 typedef enum {
156 	LIBHAL_DRIVE_TYPE_REMOVABLE_DISK        = 0x00,
157 	LIBHAL_DRIVE_TYPE_DISK                  = 0x01,
158 	LIBHAL_DRIVE_TYPE_CDROM                 = 0x02,
159 	LIBHAL_DRIVE_TYPE_FLOPPY                = 0x03,
160 	LIBHAL_DRIVE_TYPE_TAPE                  = 0x04,
161 	LIBHAL_DRIVE_TYPE_COMPACT_FLASH         = 0x05,
162 	LIBHAL_DRIVE_TYPE_MEMORY_STICK          = 0x06,
163 	LIBHAL_DRIVE_TYPE_SMART_MEDIA           = 0x07,
164 	LIBHAL_DRIVE_TYPE_SD_MMC                = 0x08,
165 	LIBHAL_DRIVE_TYPE_CAMERA                = 0x09,
166 	LIBHAL_DRIVE_TYPE_PORTABLE_AUDIO_PLAYER = 0x0a,
167 	LIBHAL_DRIVE_TYPE_ZIP                   = 0x0b,
168 	LIBHAL_DRIVE_TYPE_JAZ                   = 0x0c,
169 	LIBHAL_DRIVE_TYPE_FLASHKEY              = 0x0d
170 } LibHalDriveType;
171 
172 typedef enum {
173 	LIBHAL_DRIVE_CDROM_CAPS_CDROM       = 0x00001,
174 	LIBHAL_DRIVE_CDROM_CAPS_CDR         = 0x00002,
175 	LIBHAL_DRIVE_CDROM_CAPS_CDRW        = 0x00004,
176 	LIBHAL_DRIVE_CDROM_CAPS_DVDRAM      = 0x00008,
177 	LIBHAL_DRIVE_CDROM_CAPS_DVDROM      = 0x00010,
178 	LIBHAL_DRIVE_CDROM_CAPS_DVDR        = 0x00020,
179 	LIBHAL_DRIVE_CDROM_CAPS_DVDRW       = 0x00040,
180 	LIBHAL_DRIVE_CDROM_CAPS_DVDPLUSR    = 0x00080,
181 	LIBHAL_DRIVE_CDROM_CAPS_DVDPLUSRW   = 0x00100,
182 	LIBHAL_DRIVE_CDROM_CAPS_DVDPLUSRDL  = 0x00200,
183 	LIBHAL_DRIVE_CDROM_CAPS_DVDPLUSRWDL = 0x00400,
184 	LIBHAL_DRIVE_CDROM_CAPS_BDROM       = 0x00800,
185 	LIBHAL_DRIVE_CDROM_CAPS_BDR         = 0x01000,
186 	LIBHAL_DRIVE_CDROM_CAPS_BDRE        = 0x02000,
187 	LIBHAL_DRIVE_CDROM_CAPS_HDDVDROM    = 0x04000,
188 	LIBHAL_DRIVE_CDROM_CAPS_HDDVDR      = 0x08000,
189 	LIBHAL_DRIVE_CDROM_CAPS_HDDVDRW     = 0x10000
190 } LibHalDriveCdromCaps;
191 
192 LibHalDrive         *libhal_drive_from_udi                    (LibHalContext *hal_ctx,
193 							       const char *udi);
194 LibHalDrive         *libhal_drive_from_device_file            (LibHalContext *hal_ctx,
195 							       const char *device_file);
196 void                 libhal_drive_free                        (LibHalDrive *drive);
197 
198 dbus_bool_t          libhal_drive_is_hotpluggable          (LibHalDrive      *drive);
199 dbus_bool_t          libhal_drive_uses_removable_media     (LibHalDrive      *drive);
200 dbus_bool_t          libhal_drive_is_media_detected        (LibHalDrive      *drive);
201 dbus_uint64_t        libhal_drive_get_size                 (LibHalDrive      *drive);
202 dbus_uint64_t        libhal_drive_get_media_size           (LibHalDrive      *drive);
203 const char          *libhal_drive_get_partition_scheme     (LibHalDrive      *drive);
204 dbus_bool_t          libhal_drive_no_partitions_hint       (LibHalDrive      *drive);
205 dbus_bool_t          libhal_drive_requires_eject           (LibHalDrive      *drive);
206 LibHalDriveType      libhal_drive_get_type                 (LibHalDrive      *drive);
207 LibHalDriveBus       libhal_drive_get_bus                  (LibHalDrive      *drive);
208 LibHalDriveCdromCaps libhal_drive_get_cdrom_caps           (LibHalDrive      *drive);
209 unsigned int         libhal_drive_get_device_major         (LibHalDrive      *drive);
210 unsigned int         libhal_drive_get_device_minor         (LibHalDrive      *drive);
211 const char          *libhal_drive_get_type_textual         (LibHalDrive      *drive);
212 const char          *libhal_drive_get_device_file          (LibHalDrive      *drive);
213 const char          *libhal_drive_get_udi                  (LibHalDrive      *drive);
214 const char          *libhal_drive_get_serial               (LibHalDrive      *drive);
215 const char          *libhal_drive_get_firmware_version     (LibHalDrive      *drive);
216 const char          *libhal_drive_get_model                (LibHalDrive      *drive);
217 const char          *libhal_drive_get_vendor               (LibHalDrive      *drive);
218 const char          *libhal_drive_get_physical_device_udi  (LibHalDrive      *drive);
219 
220 const char          *libhal_drive_get_dedicated_icon_drive    (LibHalDrive      *drive);
221 const char          *libhal_drive_get_dedicated_icon_volume   (LibHalDrive      *drive);
222 
223 char                *libhal_drive_policy_compute_display_name (LibHalDrive        *drive,
224 							       LibHalVolume        *volume,
225 							       LibHalStoragePolicy *policy) LIBHAL_DEPRECATED;
226 char                *libhal_drive_policy_compute_icon_name    (LibHalDrive         *drive,
227 							       LibHalVolume        *volume,
228 							       LibHalStoragePolicy *policy) LIBHAL_DEPRECATED;
229 
230 dbus_bool_t          libhal_drive_policy_is_mountable            (LibHalDrive         *drive,
231 								  LibHalStoragePolicy *policy) LIBHAL_DEPRECATED;
232 const char          *libhal_drive_policy_get_desired_mount_point (LibHalDrive         *drive,
233 								  LibHalStoragePolicy *policy) LIBHAL_DEPRECATED;
234 const char          *libhal_drive_policy_get_mount_options       (LibHalDrive         *drive,
235 							          LibHalStoragePolicy *policy) LIBHAL_DEPRECATED;
236 const char          *libhal_drive_policy_get_mount_fs            (LibHalDrive      *drive,
237 								  LibHalStoragePolicy *policy) LIBHAL_DEPRECATED;
238 
239 char               **libhal_drive_find_all_volumes (LibHalContext *hal_ctx,
240 						    LibHalDrive   *drive,
241 						    int 	  *num_volumes);
242 
243 
244 char        *libhal_drive_policy_default_get_mount_root                (LibHalContext *hal_ctx) LIBHAL_DEPRECATED;
245 dbus_bool_t  libhal_drive_policy_default_use_managed_keyword           (LibHalContext *hal_ctx) LIBHAL_DEPRECATED;
246 char        *libhal_drive_policy_default_get_managed_keyword_primary   (LibHalContext *hal_ctx) LIBHAL_DEPRECATED;
247 char        *libhal_drive_policy_default_get_managed_keyword_secondary (LibHalContext *hal_ctx) LIBHAL_DEPRECATED;
248 
249 
250 typedef enum {
251 	LIBHAL_VOLUME_USAGE_MOUNTABLE_FILESYSTEM,
252 	LIBHAL_VOLUME_USAGE_PARTITION_TABLE,
253 	LIBHAL_VOLUME_USAGE_RAID_MEMBER,
254 	LIBHAL_VOLUME_USAGE_CRYPTO,
255 	LIBHAL_VOLUME_USAGE_UNKNOWN,
256 	LIBHAL_VOLUME_USAGE_OTHER
257 } LibHalVolumeUsage;
258 
259 typedef enum {
260 	LIBHAL_VOLUME_DISC_TYPE_CDROM       = 0x00,
261 	LIBHAL_VOLUME_DISC_TYPE_CDR         = 0x01,
262 	LIBHAL_VOLUME_DISC_TYPE_CDRW        = 0x02,
263 	LIBHAL_VOLUME_DISC_TYPE_DVDROM      = 0x03,
264 	LIBHAL_VOLUME_DISC_TYPE_DVDRAM      = 0x04,
265 	LIBHAL_VOLUME_DISC_TYPE_DVDR        = 0x05,
266 	LIBHAL_VOLUME_DISC_TYPE_DVDRW       = 0x06,
267 	LIBHAL_VOLUME_DISC_TYPE_DVDPLUSR    = 0x07,
268 	LIBHAL_VOLUME_DISC_TYPE_DVDPLUSRW   = 0x08,
269 	LIBHAL_VOLUME_DISC_TYPE_DVDPLUSR_DL = 0x09,
270 	LIBHAL_VOLUME_DISC_TYPE_BDROM       = 0x0a,
271 	LIBHAL_VOLUME_DISC_TYPE_BDR         = 0x0b,
272 	LIBHAL_VOLUME_DISC_TYPE_BDRE        = 0x0c,
273 	LIBHAL_VOLUME_DISC_TYPE_HDDVDROM    = 0x0d,
274 	LIBHAL_VOLUME_DISC_TYPE_HDDVDR      = 0x0e,
275 	LIBHAL_VOLUME_DISC_TYPE_HDDVDRW     = 0x0f
276 } LibHalVolumeDiscType;
277 
278 LibHalVolume     *libhal_volume_from_udi                      (LibHalContext *hal_ctx,
279 							       const char *udi);
280 LibHalVolume     *libhal_volume_from_device_file              (LibHalContext *hal_ctx,
281 							       const char *device_file);
282 void              libhal_volume_free                          (LibHalVolume     *volume);
283 dbus_uint64_t     libhal_volume_get_size                      (LibHalVolume     *volume);
284 dbus_uint64_t     libhal_volume_get_disc_capacity             (LibHalVolume     *volume);
285 
286 const char          *libhal_volume_get_udi                       (LibHalVolume     *volume);
287 const char          *libhal_volume_get_device_file               (LibHalVolume     *volume);
288 unsigned int         libhal_volume_get_device_major              (LibHalVolume     *volume);
289 unsigned int         libhal_volume_get_device_minor              (LibHalVolume     *volume);
290 const char          *libhal_volume_get_fstype                    (LibHalVolume     *volume);
291 const char          *libhal_volume_get_fsversion                 (LibHalVolume     *volume);
292 LibHalVolumeUsage    libhal_volume_get_fsusage                   (LibHalVolume     *volume);
293 dbus_bool_t          libhal_volume_is_mounted                    (LibHalVolume     *volume);
294 dbus_bool_t          libhal_volume_is_mounted_read_only          (LibHalVolume     *volume);
295 dbus_bool_t          libhal_volume_is_partition                  (LibHalVolume     *volume);
296 dbus_bool_t          libhal_volume_is_disc                       (LibHalVolume     *volume);
297 
298 const char          *libhal_volume_get_partition_scheme          (LibHalVolume     *volume);
299 const char          *libhal_volume_get_partition_type            (LibHalVolume     *volume);
300 const char          *libhal_volume_get_partition_label           (LibHalVolume     *volume);
301 const char          *libhal_volume_get_partition_uuid            (LibHalVolume     *volume);
302 const char         **libhal_volume_get_partition_flags           (LibHalVolume     *volume);
303 unsigned int         libhal_volume_get_partition_number          (LibHalVolume     *volume);
304 dbus_uint64_t        libhal_volume_get_partition_start_offset    (LibHalVolume     *volume);
305 dbus_uint64_t        libhal_volume_get_partition_media_size      (LibHalVolume     *volume);
306 
307 const char          *libhal_volume_get_label                     (LibHalVolume     *volume);
308 const char          *libhal_volume_get_mount_point               (LibHalVolume     *volume);
309 const char          *libhal_volume_get_uuid                      (LibHalVolume     *volume);
310 const char          *libhal_volume_get_storage_device_udi        (LibHalVolume     *volume);
311 
312 const char          *libhal_volume_crypto_get_backing_volume_udi (LibHalVolume     *volume);
313 char                *libhal_volume_crypto_get_clear_volume_udi   (LibHalContext    *hal_ctx, LibHalVolume *volume);
314 
315 
316 dbus_bool_t          libhal_volume_disc_has_audio             (LibHalVolume     *volume);
317 dbus_bool_t          libhal_volume_disc_has_data              (LibHalVolume     *volume);
318 dbus_bool_t          libhal_volume_disc_is_blank              (LibHalVolume     *volume);
319 dbus_bool_t          libhal_volume_disc_is_rewritable         (LibHalVolume     *volume);
320 dbus_bool_t          libhal_volume_disc_is_appendable         (LibHalVolume     *volume);
321 LibHalVolumeDiscType libhal_volume_get_disc_type              (LibHalVolume     *volume);
322 
323 int               libhal_volume_get_msdos_part_table_type     (LibHalVolume     *volume)  LIBHAL_DEPRECATED;
324 dbus_uint64_t     libhal_volume_get_msdos_part_table_start    (LibHalVolume     *volume)  LIBHAL_DEPRECATED;
325 dbus_uint64_t     libhal_volume_get_msdos_part_table_size     (LibHalVolume     *volume)  LIBHAL_DEPRECATED;
326 
327 
328 dbus_bool_t       libhal_volume_should_ignore 	              (LibHalVolume     *volume);
329 
330 char             *libhal_volume_policy_compute_size_as_string (LibHalVolume     *volume) LIBHAL_DEPRECATED;
331 
332 char             *libhal_volume_policy_compute_display_name   (LibHalDrive         *drive,
333 							       LibHalVolume        *volume,
334 							       LibHalStoragePolicy *policy) LIBHAL_DEPRECATED;
335 char             *libhal_volume_policy_compute_icon_name      (LibHalDrive         *drive,
336 							       LibHalVolume        *volume,
337 							       LibHalStoragePolicy *policy) LIBHAL_DEPRECATED;
338 
339 dbus_bool_t       libhal_volume_policy_should_be_visible      (LibHalDrive         *drive,
340 							       LibHalVolume        *volume,
341 							       LibHalStoragePolicy *policy,
342 							       const char          *target_mount_point) LIBHAL_DEPRECATED;
343 
344 dbus_bool_t       libhal_volume_policy_is_mountable		(LibHalDrive         *drive,
345 								 LibHalVolume        *volume,
346 								 LibHalStoragePolicy *policy) LIBHAL_DEPRECATED;
347 const char       *libhal_volume_policy_get_desired_mount_point  (LibHalDrive         *drive,
348 								 LibHalVolume        *volume,
349 								 LibHalStoragePolicy *policy) LIBHAL_DEPRECATED;
350 const char       *libhal_volume_policy_get_mount_options   	(LibHalDrive         *drive,
351 							    	 LibHalVolume        *volume,
352 							    	 LibHalStoragePolicy *policy) LIBHAL_DEPRECATED;
353 const char       *libhal_volume_policy_get_mount_fs        	(LibHalDrive         *drive,
354 							    	 LibHalVolume        *volume,
355 							    	 LibHalStoragePolicy *policy) LIBHAL_DEPRECATED;
356 
357 
358 #if defined(__cplusplus)
359 }
360 #endif
361 
362 #endif /* LIBHAL_STORAGE_H */
363