## 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
                                                (void);
    void        libhal_storage_policy_free      (LibHalStoragePolicy *policy);
    void        libhal_storage_policy_set_icon_path
                                                (LibHalStoragePolicy *policy,
                                                 LibHalStoragePolicyIcon icon,
                                                 const char *path);
    void        libhal_storage_policy_set_icon_mapping
                                                (LibHalStoragePolicy *policy,
                                                 LibHalStoragePolicyIconPair *pairs);
    const char* libhal_storage_policy_lookup_icon
                                                (LibHalStoragePolicy *policy,
                                                 LibHalStoragePolicyIcon icon);
    enum        LibHalDriveBus;
    enum        LibHalDriveType;
    enum        LibHalDriveCdromCaps;
    LibHalDrive* libhal_drive_from_udi          (LibHalContext *hal_ctx,
                                                 const char *udi);
    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_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,
                                                 LibHalStoragePolicy *policy);
    char*       libhal_drive_policy_compute_icon_name
                                                (LibHalDrive *drive,
                                                 LibHalVolume *volume,
                                                 LibHalStoragePolicy *policy);
    dbus_bool_t libhal_drive_policy_is_mountable
                                                (LibHalDrive *drive,
                                                 LibHalStoragePolicy *policy);
    const char* libhal_drive_policy_get_desired_mount_point
                                                (LibHalDrive *drive,
                                                 LibHalStoragePolicy *policy);
    const char* libhal_drive_policy_get_mount_options
                                                (LibHalDrive *drive,
                                                 LibHalStoragePolicy *policy);
    const char* libhal_drive_policy_get_mount_fs
                                                (LibHalDrive *drive,
                                                 LibHalStoragePolicy *policy);
    char**      libhal_drive_find_all_volumes   (LibHalContext *hal_ctx,
                                                 LibHalDrive *drive,
                                                 int *num_volumes);
    char*       libhal_drive_policy_default_get_mount_root
                                                (LibHalContext *hal_ctx);
    dbus_bool_t libhal_drive_policy_default_use_managed_keyword
                                                (LibHalContext *hal_ctx);
    char*       libhal_drive_policy_default_get_managed_keyword_primary
                                                (LibHalContext *hal_ctx);
    char*       libhal_drive_policy_default_get_managed_keyword_secondary
                                                (LibHalContext *hal_ctx);
    enum        LibHalVolumeUsage;
    enum        LibHalVolumeDiscType;
    LibHalVolume* libhal_volume_from_udi        (LibHalContext *hal_ctx,
                                                 const char *udi);
    LibHalVolume* libhal_volume_from_device_file
                                                (LibHalContext *hal_ctx,
                                                 const char *device_file);
    void        libhal_volume_free              (LibHalVolume *volume);
    dbus_uint64_t libhal_volume_get_size        (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);
    unsigned int libhal_volume_get_partition_number
                                                (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
                                                (LibHalVolume *volume);
    dbus_bool_t libhal_volume_should_ignore     (LibHalVolume *volume);
    char*       libhal_volume_policy_compute_size_as_string
                                                (LibHalVolume *volume);
    char*       libhal_volume_policy_compute_display_name
                                                (LibHalDrive *drive,
                                                 LibHalVolume *volume,
                                                 LibHalStoragePolicy *policy);
    char*       libhal_volume_policy_compute_icon_name
                                                (LibHalDrive *drive,
                                                 LibHalVolume *volume,
                                                 LibHalStoragePolicy *policy);
    dbus_bool_t libhal_volume_policy_should_be_visible
                                                (LibHalDrive *drive,
                                                 LibHalVolume *volume,
                                                 LibHalStoragePolicy *policy,
                                                 const char *target_mount_point);
    dbus_bool_t libhal_volume_policy_is_mountable
                                                (LibHalDrive *drive,
                                                 LibHalVolume *volume,
                                                 LibHalStoragePolicy *policy);
    const char* libhal_volume_policy_get_desired_mount_point
                                                (LibHalDrive *drive,
                                                 LibHalVolume *volume,
                                                 LibHalStoragePolicy *policy);
    const char* libhal_volume_policy_get_mount_options
                                                (LibHalDrive *drive,
                                                 LibHalVolume *volume,
                                                 LibHalStoragePolicy *policy);
    const char* libhal_volume_policy_get_mount_fs
                                                (LibHalDrive *drive,
                                                 LibHalVolume *volume,
                                                 LibHalStoragePolicy *policy);

## 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
    } LibHalStoragePolicyIcon;

### LibHalStoragePolicyIconPair

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

### libhal_storage_policy_new ()

    LibHalStoragePolicy* libhal_storage_policy_new
                                                (void);

Returns : |

### libhal_storage_policy_free ()

    void        libhal_storage_policy_free      (LibHalStoragePolicy *policy);

`policy` : |

### libhal_storage_policy_set_icon_path ()

    void        libhal_storage_policy_set_icon_path
                                                (LibHalStoragePolicy *policy,
                                                 LibHalStoragePolicyIcon icon,
                                                 const char *path);

`policy` : |
`icon` : |
`path` : |

### libhal_storage_policy_set_icon_mapping ()

    void        libhal_storage_policy_set_icon_mapping
                                                (LibHalStoragePolicy *policy,
                                                 LibHalStoragePolicyIconPair *pairs);

`policy` : |
`pairs` : |

### libhal_storage_policy_lookup_icon ()

    const char* libhal_storage_policy_lookup_icon
                                                (LibHalStoragePolicy *policy,
                                                 LibHalStoragePolicyIcon icon);

`policy` : |
`icon` : |
Returns : |

### enum LibHalDriveBus

    typedef enum {
    	LIBHAL_DRIVE_BUS_UNKNOWN     = 0x00,
    	LIBHAL_DRIVE_BUS_IDE         = 0x01,
    	LIBHAL_DRIVE_BUS_SCSI        = 0x02,
    	LIBHAL_DRIVE_BUS_USB         = 0x03,
    	LIBHAL_DRIVE_BUS_IEEE1394    = 0x04,
    	LIBHAL_DRIVE_BUS_CCW         = 0x05
    } LibHalDriveBus;

### enum LibHalDriveType

    typedef enum {
    	LIBHAL_DRIVE_TYPE_REMOVABLE_DISK        = 0x00,
    	LIBHAL_DRIVE_TYPE_DISK                  = 0x01,
    	LIBHAL_DRIVE_TYPE_CDROM                 = 0x02,
    	LIBHAL_DRIVE_TYPE_FLOPPY                = 0x03,
    	LIBHAL_DRIVE_TYPE_TAPE                  = 0x04,
    	LIBHAL_DRIVE_TYPE_COMPACT_FLASH         = 0x05,
    	LIBHAL_DRIVE_TYPE_MEMORY_STICK          = 0x06,
    	LIBHAL_DRIVE_TYPE_SMART_MEDIA           = 0x07,
    	LIBHAL_DRIVE_TYPE_SD_MMC                = 0x08,
    	LIBHAL_DRIVE_TYPE_CAMERA                = 0x09,
    	LIBHAL_DRIVE_TYPE_PORTABLE_AUDIO_PLAYER = 0x0a,
    	LIBHAL_DRIVE_TYPE_ZIP                   = 0x0b,
    	LIBHAL_DRIVE_TYPE_JAZ                   = 0x0c,
    	LIBHAL_DRIVE_TYPE_FLASHKEY              = 0x0d
    } LibHalDriveType;

### enum LibHalDriveCdromCaps

    typedef enum {
    	LIBHAL_DRIVE_CDROM_CAPS_CDROM       = 0x00001,
    	LIBHAL_DRIVE_CDROM_CAPS_CDR         = 0x00002,
    	LIBHAL_DRIVE_CDROM_CAPS_CDRW        = 0x00004,
    	LIBHAL_DRIVE_CDROM_CAPS_DVDRAM      = 0x00008,
    	LIBHAL_DRIVE_CDROM_CAPS_DVDROM      = 0x00010,
    	LIBHAL_DRIVE_CDROM_CAPS_DVDR        = 0x00020,
    	LIBHAL_DRIVE_CDROM_CAPS_DVDRW       = 0x00040,
    	LIBHAL_DRIVE_CDROM_CAPS_DVDPLUSR    = 0x00080,
    	LIBHAL_DRIVE_CDROM_CAPS_DVDPLUSRW   = 0x00100,
    	LIBHAL_DRIVE_CDROM_CAPS_DVDPLUSRDL  = 0x00200,
    	LIBHAL_DRIVE_CDROM_CAPS_DVDPLUSRWDL = 0x00400,
    	LIBHAL_DRIVE_CDROM_CAPS_BDROM       = 0x00800,
    	LIBHAL_DRIVE_CDROM_CAPS_BDR         = 0x01000,
    	LIBHAL_DRIVE_CDROM_CAPS_BDRE        = 0x02000,
    	LIBHAL_DRIVE_CDROM_CAPS_HDDVDROM    = 0x04000,
    	LIBHAL_DRIVE_CDROM_CAPS_HDDVDR      = 0x08000,
    	LIBHAL_DRIVE_CDROM_CAPS_HDDVDRW     = 0x10000
    } LibHalDriveCdromCaps;

### libhal_drive_from_udi ()

    LibHalDrive* libhal_drive_from_udi          (LibHalContext *hal_ctx,
                                                 const char *udi);

`hal_ctx` : |
`udi` : |
Returns : |

### libhal_drive_from_device_file ()

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

`hal_ctx` : |
`device_file` : |
Returns : |

### libhal_drive_free ()

    void        libhal_drive_free               (LibHalDrive *drive);

`drive` : |

### 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_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,
                                                 LibHalStoragePolicy *policy);

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

### libhal_drive_policy_compute_icon_name ()

    char*       libhal_drive_policy_compute_icon_name
                                                (LibHalDrive *drive,
                                                 LibHalVolume *volume,
                                                 LibHalStoragePolicy *policy);

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

### libhal_drive_policy_is_mountable ()

    dbus_bool_t libhal_drive_policy_is_mountable
                                                (LibHalDrive *drive,
                                                 LibHalStoragePolicy *policy);

`drive` : |
`policy` : |
Returns : |

### libhal_drive_policy_get_desired_mount_point ()

    const char* libhal_drive_policy_get_desired_mount_point
                                                (LibHalDrive *drive,
                                                 LibHalStoragePolicy *policy);

`drive` : |
`policy` : |
Returns : |

### libhal_drive_policy_get_mount_options ()

    const char* libhal_drive_policy_get_mount_options
                                                (LibHalDrive *drive,
                                                 LibHalStoragePolicy *policy);

`drive` : |
`policy` : |
Returns : |

### libhal_drive_policy_get_mount_fs ()

    const char* libhal_drive_policy_get_mount_fs
                                                (LibHalDrive *drive,
                                                 LibHalStoragePolicy *policy);

`drive` : |
`policy` : |
Returns : |

### libhal_drive_find_all_volumes ()

    char**      libhal_drive_find_all_volumes   (LibHalContext *hal_ctx,
                                                 LibHalDrive *drive,
                                                 int *num_volumes);

`hal_ctx` : |
`drive` : |
`num_volumes` : |
Returns : |

### libhal_drive_policy_default_get_mount_root ()

    char*       libhal_drive_policy_default_get_mount_root
                                                (LibHalContext *hal_ctx);

`hal_ctx` : |
Returns : |

### libhal_drive_policy_default_use_managed_keyword ()

    dbus_bool_t libhal_drive_policy_default_use_managed_keyword
                                                (LibHalContext *hal_ctx);

`hal_ctx` : |
Returns : |

### libhal_drive_policy_default_get_managed_keyword_primary ()

    char*       libhal_drive_policy_default_get_managed_keyword_primary
                                                (LibHalContext *hal_ctx);

`hal_ctx` : |
Returns : |

### libhal_drive_policy_default_get_managed_keyword_secondary ()

    char*       libhal_drive_policy_default_get_managed_keyword_secondary
                                                (LibHalContext *hal_ctx);

`hal_ctx` : |
Returns : |

### enum LibHalVolumeUsage

    typedef enum {
    	LIBHAL_VOLUME_USAGE_MOUNTABLE_FILESYSTEM,
    	LIBHAL_VOLUME_USAGE_PARTITION_TABLE,
    	LIBHAL_VOLUME_USAGE_RAID_MEMBER,
    	LIBHAL_VOLUME_USAGE_CRYPTO,
    	LIBHAL_VOLUME_USAGE_UNKNOWN
    } LibHalVolumeUsage;

### enum LibHalVolumeDiscType

    typedef enum {
    	LIBHAL_VOLUME_DISC_TYPE_CDROM       = 0x00,
    	LIBHAL_VOLUME_DISC_TYPE_CDR         = 0x01,
    	LIBHAL_VOLUME_DISC_TYPE_CDRW        = 0x02,
    	LIBHAL_VOLUME_DISC_TYPE_DVDROM      = 0x03,
    	LIBHAL_VOLUME_DISC_TYPE_DVDRAM      = 0x04,
    	LIBHAL_VOLUME_DISC_TYPE_DVDR        = 0x05,
    	LIBHAL_VOLUME_DISC_TYPE_DVDRW       = 0x06,
    	LIBHAL_VOLUME_DISC_TYPE_DVDPLUSR    = 0x07,
    	LIBHAL_VOLUME_DISC_TYPE_DVDPLUSRW   = 0x08,
    	LIBHAL_VOLUME_DISC_TYPE_DVDPLUSR_DL = 0x09,
    	LIBHAL_VOLUME_DISC_TYPE_BDROM       = 0x0a,
    	LIBHAL_VOLUME_DISC_TYPE_BDR         = 0x0b,
    	LIBHAL_VOLUME_DISC_TYPE_BDRE        = 0x0c,
    	LIBHAL_VOLUME_DISC_TYPE_HDDVDROM    = 0x0d,
    	LIBHAL_VOLUME_DISC_TYPE_HDDVDR      = 0x0e,
    	LIBHAL_VOLUME_DISC_TYPE_HDDVDRW     = 0x0f
    } LibHalVolumeDiscType;

### libhal_volume_from_udi ()

    LibHalVolume* libhal_volume_from_udi        (LibHalContext *hal_ctx,
                                                 const char *udi);

`hal_ctx` : |
`udi` : |
Returns : |

### libhal_volume_from_device_file ()

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

`hal_ctx` : |
`device_file` : |
Returns : |

### libhal_volume_free ()

    void        libhal_volume_free              (LibHalVolume *volume);

`volume` : |

### libhal_volume_get_size ()

    dbus_uint64_t libhal_volume_get_size        (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_number ()

    unsigned int libhal_volume_get_partition_number
                                                (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
                                                (LibHalVolume *volume);

`volume` : |
Returns : |

### libhal_volume_should_ignore ()

    dbus_bool_t libhal_volume_should_ignore     (LibHalVolume *volume);

`volume` : |
Returns : |

### libhal_volume_policy_compute_size_as_string ()

    char*       libhal_volume_policy_compute_size_as_string
                                                (LibHalVolume *volume);

`volume` : |
Returns : |

### libhal_volume_policy_compute_display_name ()

    char*       libhal_volume_policy_compute_display_name
                                                (LibHalDrive *drive,
                                                 LibHalVolume *volume,
                                                 LibHalStoragePolicy *policy);

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

### libhal_volume_policy_compute_icon_name ()

    char*       libhal_volume_policy_compute_icon_name
                                                (LibHalDrive *drive,
                                                 LibHalVolume *volume,
                                                 LibHalStoragePolicy *policy);

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

### libhal_volume_policy_should_be_visible ()

    dbus_bool_t libhal_volume_policy_should_be_visible
                                                (LibHalDrive *drive,
                                                 LibHalVolume *volume,
                                                 LibHalStoragePolicy *policy,
                                                 const char *target_mount_point);

`drive` : |
`volume` : |
`policy` : |
`target_mount_point` : |
Returns : |

### libhal_volume_policy_is_mountable ()

    dbus_bool_t libhal_volume_policy_is_mountable
                                                (LibHalDrive *drive,
                                                 LibHalVolume *volume,
                                                 LibHalStoragePolicy *policy);

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

### libhal_volume_policy_get_desired_mount_point ()

    const char* libhal_volume_policy_get_desired_mount_point
                                                (LibHalDrive *drive,
                                                 LibHalVolume *volume,
                                                 LibHalStoragePolicy *policy);

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

### libhal_volume_policy_get_mount_options ()

    const char* libhal_volume_policy_get_mount_options
                                                (LibHalDrive *drive,
                                                 LibHalVolume *volume,
                                                 LibHalStoragePolicy *policy);

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

### libhal_volume_policy_get_mount_fs ()

    const char* libhal_volume_policy_get_mount_fs
                                                (LibHalDrive *drive,
                                                 LibHalVolume *volume,
                                                 LibHalStoragePolicy *policy);

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