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