## libhal-storage

libhal-storage

## Synopsis

    struct              LibHalDrive_s;
    typedef             LibHalDrive;
    struct              LibHalVolume_s;
    typedef             LibHalVolume;
    struct              LibHalStoragePolicy_s;
    typedef             LibHalStoragePolicy;
    enum                LibHalStoragePolicyIcon;
                        LibHalStoragePolicyIconPair;
    LibHalStoragePolicy* libhal_storage_policy_new          ();
    LibHalDrive*        libhal_drive_from_device_file       (LibHalContext *hal_ctx,
                                                             const char *device_file);
    void                libhal_drive_free                   (LibHalDrive *drive);
    dbus_bool_t         libhal_drive_is_hotpluggable        (LibHalDrive *drive);
    dbus_bool_t         libhal_drive_uses_removable_media   (LibHalDrive *drive);
    dbus_bool_t         libhal_drive_is_media_detected      (LibHalDrive *drive);
    dbus_bool_t         libhal_drive_is_media_detection_automatic
                                                            (LibHalDrive *drive);
    dbus_uint64_t       libhal_drive_get_size               (LibHalDrive *drive);
    dbus_uint64_t       libhal_drive_get_media_size         (LibHalDrive *drive);
    const char*         libhal_drive_get_partition_scheme   (LibHalDrive *drive);
    dbus_bool_t         libhal_drive_no_partitions_hint     (LibHalDrive *drive);
    dbus_bool_t         libhal_drive_requires_eject         (LibHalDrive *drive);
    LibHalDriveType     libhal_drive_get_type               (LibHalDrive *drive);
    LibHalDriveBus      libhal_drive_get_bus                (LibHalDrive *drive);
    LibHalDriveCdromCaps libhal_drive_get_cdrom_caps        (LibHalDrive *drive);
    unsigned int        libhal_drive_get_device_major       (LibHalDrive *drive);
    unsigned int        libhal_drive_get_device_minor       (LibHalDrive *drive);
    const char*         libhal_drive_get_type_textual       (LibHalDrive *drive);
    const char*         libhal_drive_get_device_file        (LibHalDrive *drive);
    const char*         libhal_drive_get_udi                (LibHalDrive *drive);
    const char*         libhal_drive_get_serial             (LibHalDrive *drive);
    const char*         libhal_drive_get_firmware_version   (LibHalDrive *drive);
    const char*         libhal_drive_get_model              (LibHalDrive *drive);
    const char*         libhal_drive_get_vendor             (LibHalDrive *drive);
    const char*         libhal_drive_get_physical_device_udi
                                                            (LibHalDrive *drive);
    const char*         libhal_drive_get_dedicated_icon_drive
                                                            (LibHalDrive *drive);
    const char*         libhal_drive_get_dedicated_icon_volume
                                                            (LibHalDrive *drive);
    char*               libhal_drive_policy_compute_display_name
                                                            (LibHalDrive *drive,
                                                             LibHalVolume *volume);
    char*               libhal_drive_policy_default_get_mount_root
                                                            ();
    LibHalVolume*       libhal_volume_from_device_file      (LibHalContext *hal_ctx,
                                                             const char *device_file);
    LibHalVolume*       libhal_volume_from_mount_point      (LibHalContext *hal_ctx,
                                                             const char *mount_point);
    void                libhal_volume_free                  (LibHalVolume *volume);
    dbus_uint64_t       libhal_volume_get_size              (LibHalVolume *volume);
    dbus_uint64_t       libhal_volume_get_disc_capacity     (LibHalVolume *volume);
    const char*         libhal_volume_get_udi               (LibHalVolume *volume);
    const char*         libhal_volume_get_device_file       (LibHalVolume *volume);
    unsigned int        libhal_volume_get_device_major      (LibHalVolume *volume);
    unsigned int        libhal_volume_get_device_minor      (LibHalVolume *volume);
    const char*         libhal_volume_get_fstype            (LibHalVolume *volume);
    const char*         libhal_volume_get_fsversion         (LibHalVolume *volume);
    LibHalVolumeUsage   libhal_volume_get_fsusage           (LibHalVolume *volume);
    dbus_bool_t         libhal_volume_is_mounted            (LibHalVolume *volume);
    dbus_bool_t         libhal_volume_is_mounted_read_only  (LibHalVolume *volume);
    dbus_bool_t         libhal_volume_is_partition          (LibHalVolume *volume);
    dbus_bool_t         libhal_volume_is_disc               (LibHalVolume *volume);
    const char*         libhal_volume_get_partition_scheme  (LibHalVolume *volume);
    const char*         libhal_volume_get_partition_type    (LibHalVolume *volume);
    const char*         libhal_volume_get_partition_label   (LibHalVolume *volume);
    const char*         libhal_volume_get_partition_uuid    (LibHalVolume *volume);
    const char**        libhal_volume_get_partition_flags   (LibHalVolume *volume);
    unsigned int        libhal_volume_get_partition_number  (LibHalVolume *volume);
    dbus_uint64_t       libhal_volume_get_partition_start_offset
                                                            (LibHalVolume *volume);
    dbus_uint64_t       libhal_volume_get_partition_media_size
                                                            (LibHalVolume *volume);
    const char*         libhal_volume_get_label             (LibHalVolume *volume);
    const char*         libhal_volume_get_mount_point       (LibHalVolume *volume);
    const char*         libhal_volume_get_uuid              (LibHalVolume *volume);
    const char*         libhal_volume_get_storage_device_udi
                                                            (LibHalVolume *volume);
    const char*         libhal_volume_crypto_get_backing_volume_udi
                                                            (LibHalVolume *volume);
    char*               libhal_volume_crypto_get_clear_volume_udi
                                                            (LibHalContext *hal_ctx,
                                                             LibHalVolume *volume);
    dbus_bool_t         libhal_volume_disc_has_audio        (LibHalVolume *volume);
    dbus_bool_t         libhal_volume_disc_has_data         (LibHalVolume *volume);
    dbus_bool_t         libhal_volume_disc_is_blank         (LibHalVolume *volume);
    dbus_bool_t         libhal_volume_disc_is_rewritable    (LibHalVolume *volume);
    dbus_bool_t         libhal_volume_disc_is_appendable    (LibHalVolume *volume);
    LibHalVolumeDiscType libhal_volume_get_disc_type        (LibHalVolume *volume);
    int                 libhal_volume_get_msdos_part_table_type
                                                            ();

## Description

## Details

### struct LibHalDrive_s

    struct LibHalDrive_s;

### LibHalDrive

    typedef struct LibHalDrive_s LibHalDrive;

### struct LibHalVolume_s

    struct LibHalVolume_s;

### LibHalVolume

    typedef struct LibHalVolume_s LibHalVolume;

### struct LibHalStoragePolicy_s

    struct LibHalStoragePolicy_s;

### LibHalStoragePolicy

    typedef struct LibHalStoragePolicy_s LibHalStoragePolicy;

### enum LibHalStoragePolicyIcon

    typedef enum {
    	LIBHAL_STORAGE_ICON_DRIVE_REMOVABLE_DISK           = 0x10000,
    	LIBHAL_STORAGE_ICON_DRIVE_REMOVABLE_DISK_IDE       = 0x10001,
    	LIBHAL_STORAGE_ICON_DRIVE_REMOVABLE_DISK_SCSI      = 0x10002,
    	LIBHAL_STORAGE_ICON_DRIVE_REMOVABLE_DISK_USB       = 0x10003,
    	LIBHAL_STORAGE_ICON_DRIVE_REMOVABLE_DISK_IEEE1394  = 0x10004,
    	LIBHAL_STORAGE_ICON_DRIVE_DISK                     = 0x10100,
    	LIBHAL_STORAGE_ICON_DRIVE_DISK_IDE                 = 0x10101,
    	LIBHAL_STORAGE_ICON_DRIVE_DISK_SCSI                = 0x10102,
    	LIBHAL_STORAGE_ICON_DRIVE_DISK_USB                 = 0x10103,
    	LIBHAL_STORAGE_ICON_DRIVE_DISK_IEEE1394            = 0x10104,
    	LIBHAL_STORAGE_ICON_DRIVE_CDROM                    = 0x10200,
    	LIBHAL_STORAGE_ICON_DRIVE_CDROM_IDE                = 0x10201,
    	LIBHAL_STORAGE_ICON_DRIVE_CDROM_SCSI               = 0x10202,
    	LIBHAL_STORAGE_ICON_DRIVE_CDROM_USB                = 0x10203,
    	LIBHAL_STORAGE_ICON_DRIVE_CDROM_IEEE1394           = 0x10204,
    	LIBHAL_STORAGE_ICON_DRIVE_FLOPPY                   = 0x10300,
    	LIBHAL_STORAGE_ICON_DRIVE_FLOPPY_IDE               = 0x10301,
    	LIBHAL_STORAGE_ICON_DRIVE_FLOPPY_SCSI              = 0x10302,
    	LIBHAL_STORAGE_ICON_DRIVE_FLOPPY_USB               = 0x10303,
    	LIBHAL_STORAGE_ICON_DRIVE_FLOPPY_IEEE1394          = 0x10304,
    	LIBHAL_STORAGE_ICON_DRIVE_TAPE                     = 0x10400,
    	LIBHAL_STORAGE_ICON_DRIVE_COMPACT_FLASH            = 0x10500,
    	LIBHAL_STORAGE_ICON_DRIVE_MEMORY_STICK             = 0x10600,
    	LIBHAL_STORAGE_ICON_DRIVE_SMART_MEDIA              = 0x10700,
    	LIBHAL_STORAGE_ICON_DRIVE_SD_MMC                   = 0x10800,
    	LIBHAL_STORAGE_ICON_DRIVE_CAMERA                   = 0x10900,
    	LIBHAL_STORAGE_ICON_DRIVE_PORTABLE_AUDIO_PLAYER    = 0x10a00,
    	LIBHAL_STORAGE_ICON_DRIVE_ZIP                      = 0x10b00,
            LIBHAL_STORAGE_ICON_DRIVE_JAZ                      = 0x10c00,
            LIBHAL_STORAGE_ICON_DRIVE_FLASH_KEY                = 0x10d00,

    	LIBHAL_STORAGE_ICON_VOLUME_REMOVABLE_DISK          = 0x20000,
    	LIBHAL_STORAGE_ICON_VOLUME_REMOVABLE_DISK_IDE      = 0x20001,
    	LIBHAL_STORAGE_ICON_VOLUME_REMOVABLE_DISK_SCSI     = 0x20002,
    	LIBHAL_STORAGE_ICON_VOLUME_REMOVABLE_DISK_USB      = 0x20003,
    	LIBHAL_STORAGE_ICON_VOLUME_REMOVABLE_DISK_IEEE1394 = 0x20004,
    	LIBHAL_STORAGE_ICON_VOLUME_DISK                    = 0x20100,
    	LIBHAL_STORAGE_ICON_VOLUME_DISK_IDE                = 0x20101,
    	LIBHAL_STORAGE_ICON_VOLUME_DISK_SCSI               = 0x20102,
    	LIBHAL_STORAGE_ICON_VOLUME_DISK_USB                = 0x20103,
    	LIBHAL_STORAGE_ICON_VOLUME_DISK_IEEE1394           = 0x20104,
    	LIBHAL_STORAGE_ICON_VOLUME_CDROM                   = 0x20200,
    	LIBHAL_STORAGE_ICON_VOLUME_CDROM_IDE               = 0x20201,
    	LIBHAL_STORAGE_ICON_VOLUME_CDROM_SCSI              = 0x20202,
    	LIBHAL_STORAGE_ICON_VOLUME_CDROM_USB               = 0x20203,
    	LIBHAL_STORAGE_ICON_VOLUME_CDROM_IEEE1394          = 0x20204,
    	LIBHAL_STORAGE_ICON_VOLUME_FLOPPY                  = 0x20300,
    	LIBHAL_STORAGE_ICON_VOLUME_FLOPPY_IDE              = 0x20301,
    	LIBHAL_STORAGE_ICON_VOLUME_FLOPPY_SCSI             = 0x20302,
    	LIBHAL_STORAGE_ICON_VOLUME_FLOPPY_USB              = 0x20303,
    	LIBHAL_STORAGE_ICON_VOLUME_FLOPPY_IEEE1394         = 0x20304,
    	LIBHAL_STORAGE_ICON_VOLUME_TAPE                    = 0x20400,
    	LIBHAL_STORAGE_ICON_VOLUME_COMPACT_FLASH           = 0x20500,
    	LIBHAL_STORAGE_ICON_VOLUME_MEMORY_STICK            = 0x20600,
    	LIBHAL_STORAGE_ICON_VOLUME_SMART_MEDIA             = 0x20700,
    	LIBHAL_STORAGE_ICON_VOLUME_SD_MMC                  = 0x20800,
    	LIBHAL_STORAGE_ICON_VOLUME_CAMERA                  = 0x20900,
    	LIBHAL_STORAGE_ICON_VOLUME_PORTABLE_AUDIO_PLAYER   = 0x20a00,
    	LIBHAL_STORAGE_ICON_VOLUME_ZIP                     = 0x20b00,
            LIBHAL_STORAGE_ICON_VOLUME_JAZ                     = 0x20c00,
            LIBHAL_STORAGE_ICON_VOLUME_FLASH_KEY               = 0x20d00,

    	LIBHAL_STORAGE_ICON_DISC_CDROM                     = 0x30000,
    	LIBHAL_STORAGE_ICON_DISC_CDR                       = 0x30001,
    	LIBHAL_STORAGE_ICON_DISC_CDRW                      = 0x30002,
    	LIBHAL_STORAGE_ICON_DISC_DVDROM                    = 0x30003,
    	LIBHAL_STORAGE_ICON_DISC_DVDRAM                    = 0x30004,
    	LIBHAL_STORAGE_ICON_DISC_DVDR                      = 0x30005,
    	LIBHAL_STORAGE_ICON_DISC_DVDRW                     = 0x30006,
    	LIBHAL_STORAGE_ICON_DISC_DVDPLUSR                  = 0x30007,
    	LIBHAL_STORAGE_ICON_DISC_DVDPLUSRW                 = 0x30008,
    	LIBHAL_STORAGE_ICON_DISC_DVDPLUSRWDL               = 0x30009,
    	LIBHAL_STORAGE_ICON_DISC_BDROM                     = 0x3000a,
    	LIBHAL_STORAGE_ICON_DISC_BDR                       = 0x3000b,
    	LIBHAL_STORAGE_ICON_DISC_BDRE                      = 0x3000c,
    	LIBHAL_STORAGE_ICON_DISC_HDDVDROM                  = 0x3000d,
    	LIBHAL_STORAGE_ICON_DISC_HDDVDR                    = 0x3000e,
    	LIBHAL_STORAGE_ICON_DISC_HDDVDRW                   = 0x3000f,
    	LIBHAL_STORAGE_ICON_DISC_MRW                       = 0x30010,
    	LIBHAL_STORAGE_ICON_DISC_MRWW                      = 0x30011,
    	LIBHAL_STORAGE_ICON_DISC_MO                        = 0x30012
    } LibHalStoragePolicyIcon;

### LibHalStoragePolicyIconPair

    typedef struct {
    	LibHalStoragePolicyIcon icon;
    	const char *icon_path;
    } LibHalStoragePolicyIconPair;

### libhal_storage_policy_new ()

    LibHalStoragePolicy* libhal_storage_policy_new          ();

Returns : |

### libhal_drive_from_device_file ()

    LibHalDrive*        libhal_drive_from_device_file       (LibHalContext *hal_ctx,
                                                             const char *device_file);

`hal_ctx` : | libhal context to use
`device_file` : | Name of special device file, e.g. '/dev/hdc'
Returns : | LibHalDrive object or NULL if it doesn't exist Get the drive object that either is (when given e.g. /dev/sdb) or contains (when given e.g. /dev/sdb1) the given device file.

### libhal_drive_free ()

    void                libhal_drive_free                   (LibHalDrive *drive);

Free all resources used by a LibHalDrive object.

`drive` : | Object to free

### libhal_drive_is_hotpluggable ()

    dbus_bool_t         libhal_drive_is_hotpluggable        (LibHalDrive *drive);

`drive` : |
Returns : |

### libhal_drive_uses_removable_media ()

    dbus_bool_t         libhal_drive_uses_removable_media   (LibHalDrive *drive);

`drive` : |
Returns : |

### libhal_drive_is_media_detected ()

    dbus_bool_t         libhal_drive_is_media_detected      (LibHalDrive *drive);

`drive` : |
Returns : |

### libhal_drive_is_media_detection_automatic ()

    dbus_bool_t         libhal_drive_is_media_detection_automatic
                                                            (LibHalDrive *drive);

`drive` : |
Returns : |

### libhal_drive_get_size ()

    dbus_uint64_t       libhal_drive_get_size               (LibHalDrive *drive);

`drive` : |
Returns : |

### libhal_drive_get_media_size ()

    dbus_uint64_t       libhal_drive_get_media_size         (LibHalDrive *drive);

`drive` : |
Returns : |

### libhal_drive_get_partition_scheme ()

    const char*         libhal_drive_get_partition_scheme   (LibHalDrive *drive);

`drive` : |
Returns : |

### libhal_drive_no_partitions_hint ()

    dbus_bool_t         libhal_drive_no_partitions_hint     (LibHalDrive *drive);

`drive` : |
Returns : |

### libhal_drive_requires_eject ()

    dbus_bool_t         libhal_drive_requires_eject         (LibHalDrive *drive);

`drive` : |
Returns : |

### libhal_drive_get_type ()

    LibHalDriveType     libhal_drive_get_type               (LibHalDrive *drive);

`drive` : |
Returns : |

### libhal_drive_get_bus ()

    LibHalDriveBus      libhal_drive_get_bus                (LibHalDrive *drive);

`drive` : |
Returns : |

### libhal_drive_get_cdrom_caps ()

    LibHalDriveCdromCaps libhal_drive_get_cdrom_caps        (LibHalDrive *drive);

`drive` : |
Returns : |

### libhal_drive_get_device_major ()

    unsigned int        libhal_drive_get_device_major       (LibHalDrive *drive);

`drive` : |
Returns : |

### libhal_drive_get_device_minor ()

    unsigned int        libhal_drive_get_device_minor       (LibHalDrive *drive);

`drive` : |
Returns : |

### libhal_drive_get_type_textual ()

    const char*         libhal_drive_get_type_textual       (LibHalDrive *drive);

`drive` : |
Returns : |

### libhal_drive_get_device_file ()

    const char*         libhal_drive_get_device_file        (LibHalDrive *drive);

`drive` : |
Returns : |

### libhal_drive_get_udi ()

    const char*         libhal_drive_get_udi                (LibHalDrive *drive);

`drive` : |
Returns : |

### libhal_drive_get_serial ()

    const char*         libhal_drive_get_serial             (LibHalDrive *drive);

`drive` : |
Returns : |

### libhal_drive_get_firmware_version ()

    const char*         libhal_drive_get_firmware_version   (LibHalDrive *drive);

`drive` : |
Returns : |

### libhal_drive_get_model ()

    const char*         libhal_drive_get_model              (LibHalDrive *drive);

`drive` : |
Returns : |

### libhal_drive_get_vendor ()

    const char*         libhal_drive_get_vendor             (LibHalDrive *drive);

`drive` : |
Returns : |

### libhal_drive_get_physical_device_udi ()

    const char*         libhal_drive_get_physical_device_udi
                                                            (LibHalDrive *drive);

`drive` : |
Returns : |

### libhal_drive_get_dedicated_icon_drive ()

    const char*         libhal_drive_get_dedicated_icon_drive
                                                            (LibHalDrive *drive);

`drive` : |
Returns : |

### libhal_drive_get_dedicated_icon_volume ()

    const char*         libhal_drive_get_dedicated_icon_volume
                                                            (LibHalDrive *drive);

`drive` : |
Returns : |

### libhal_drive_policy_compute_display_name ()

    char*               libhal_drive_policy_compute_display_name
                                                            (LibHalDrive *drive,
                                                             LibHalVolume *volume);

`drive` : |
`volume` : |
Returns : |

### libhal_drive_policy_default_get_mount_root ()

    char*               libhal_drive_policy_default_get_mount_root
                                                            ();

Returns : |

### libhal_volume_from_device_file ()

    LibHalVolume*       libhal_volume_from_device_file      (LibHalContext *hal_ctx,
                                                             const char *device_file);

`hal_ctx` : | libhal context to use
`device_file` : | Name of special device file, e.g. '/dev/hda5'
Returns : | LibHalVolume object or NULL if it doesn't exist Get the volume object for a given device file.

### libhal_volume_from_mount_point ()

    LibHalVolume*       libhal_volume_from_mount_point      (LibHalContext *hal_ctx,
                                                             const char *mount_point);

`hal_ctx` : | libhal context to use
`mount_point` : | Name of mount point without terminting slash, e.g. '/media/disk'
Returns : | LibHalVolume object or NULL if it doesn't exist Get the volume object for a given mount point

### libhal_volume_free ()

    void                libhal_volume_free                  (LibHalVolume *volume);

Free all resources used by a LibHalVolume object.

`volume` : | Object to free

### libhal_volume_get_size ()

    dbus_uint64_t       libhal_volume_get_size              (LibHalVolume *volume);

`volume` : |
Returns : |

### libhal_volume_get_disc_capacity ()

    dbus_uint64_t       libhal_volume_get_disc_capacity     (LibHalVolume *volume);

`volume` : |
Returns : |

### libhal_volume_get_udi ()

    const char*         libhal_volume_get_udi               (LibHalVolume *volume);

`volume` : |
Returns : |

### libhal_volume_get_device_file ()

    const char*         libhal_volume_get_device_file       (LibHalVolume *volume);

`volume` : |
Returns : |

### libhal_volume_get_device_major ()

    unsigned int        libhal_volume_get_device_major      (LibHalVolume *volume);

`volume` : |
Returns : |

### libhal_volume_get_device_minor ()

    unsigned int        libhal_volume_get_device_minor      (LibHalVolume *volume);

`volume` : |
Returns : |

### libhal_volume_get_fstype ()

    const char*         libhal_volume_get_fstype            (LibHalVolume *volume);

`volume` : |
Returns : |

### libhal_volume_get_fsversion ()

    const char*         libhal_volume_get_fsversion         (LibHalVolume *volume);

`volume` : |
Returns : |

### libhal_volume_get_fsusage ()

    LibHalVolumeUsage   libhal_volume_get_fsusage           (LibHalVolume *volume);

`volume` : |
Returns : |

### libhal_volume_is_mounted ()

    dbus_bool_t         libhal_volume_is_mounted            (LibHalVolume *volume);

`volume` : |
Returns : |

### libhal_volume_is_mounted_read_only ()

    dbus_bool_t         libhal_volume_is_mounted_read_only  (LibHalVolume *volume);

`volume` : |
Returns : |

### libhal_volume_is_partition ()

    dbus_bool_t         libhal_volume_is_partition          (LibHalVolume *volume);

`volume` : |
Returns : |

### libhal_volume_is_disc ()

    dbus_bool_t         libhal_volume_is_disc               (LibHalVolume *volume);

`volume` : |
Returns : |

### libhal_volume_get_partition_scheme ()

    const char*         libhal_volume_get_partition_scheme  (LibHalVolume *volume);

`volume` : |
Returns : |

### libhal_volume_get_partition_type ()

    const char*         libhal_volume_get_partition_type    (LibHalVolume *volume);

`volume` : |
Returns : |

### libhal_volume_get_partition_label ()

    const char*         libhal_volume_get_partition_label   (LibHalVolume *volume);

`volume` : |
Returns : |

### libhal_volume_get_partition_uuid ()

    const char*         libhal_volume_get_partition_uuid    (LibHalVolume *volume);

`volume` : |
Returns : |

### libhal_volume_get_partition_flags ()

    const char**        libhal_volume_get_partition_flags   (LibHalVolume *volume);

`volume` : |
Returns : |

### libhal_volume_get_partition_number ()

    unsigned int        libhal_volume_get_partition_number  (LibHalVolume *volume);

`volume` : |
Returns : |

### libhal_volume_get_partition_start_offset ()

    dbus_uint64_t       libhal_volume_get_partition_start_offset
                                                            (LibHalVolume *volume);

`volume` : |
Returns : |

### libhal_volume_get_partition_media_size ()

    dbus_uint64_t       libhal_volume_get_partition_media_size
                                                            (LibHalVolume *volume);

`volume` : |
Returns : |

### libhal_volume_get_label ()

    const char*         libhal_volume_get_label             (LibHalVolume *volume);

`volume` : |
Returns : |

### libhal_volume_get_mount_point ()

    const char*         libhal_volume_get_mount_point       (LibHalVolume *volume);

`volume` : |
Returns : |

### libhal_volume_get_uuid ()

    const char*         libhal_volume_get_uuid              (LibHalVolume *volume);

`volume` : |
Returns : |

### libhal_volume_get_storage_device_udi ()

    const char*         libhal_volume_get_storage_device_udi
                                                            (LibHalVolume *volume);

`volume` : |
Returns : |

### libhal_volume_crypto_get_backing_volume_udi ()

    const char*         libhal_volume_crypto_get_backing_volume_udi
                                                            (LibHalVolume *volume);

`volume` : |
Returns : |

### libhal_volume_crypto_get_clear_volume_udi ()

    char*               libhal_volume_crypto_get_clear_volume_udi
                                                            (LibHalContext *hal_ctx,
                                                             LibHalVolume *volume);

`hal_ctx` : |
`volume` : |
Returns : |

### libhal_volume_disc_has_audio ()

    dbus_bool_t         libhal_volume_disc_has_audio        (LibHalVolume *volume);

`volume` : |
Returns : |

### libhal_volume_disc_has_data ()

    dbus_bool_t         libhal_volume_disc_has_data         (LibHalVolume *volume);

`volume` : |
Returns : |

### libhal_volume_disc_is_blank ()

    dbus_bool_t         libhal_volume_disc_is_blank         (LibHalVolume *volume);

`volume` : |
Returns : |

### libhal_volume_disc_is_rewritable ()

    dbus_bool_t         libhal_volume_disc_is_rewritable    (LibHalVolume *volume);

`volume` : |
Returns : |

### libhal_volume_disc_is_appendable ()

    dbus_bool_t         libhal_volume_disc_is_appendable    (LibHalVolume *volume);

`volume` : |
Returns : |

### libhal_volume_get_disc_type ()

    LibHalVolumeDiscType libhal_volume_get_disc_type        (LibHalVolume *volume);

`volume` : |
Returns : |

### libhal_volume_get_msdos_part_table_type ()

    int                 libhal_volume_get_msdos_part_table_type
                                                            ();

Returns : | The partition type or -1 if volume is not a partition or the media the volume stems from isn't partition with a MS DOS style table If the volume is on a drive with a MSDOS style partition table, return the partition table id.