|  |  |  | HAL Storage Library Reference Manual |  | 
|---|---|---|---|---|
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 ();
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;
typedef struct {
	LibHalStoragePolicyIcon icon;
	const char *icon_path;
} LibHalStoragePolicyIconPair;
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. | 
void libhal_drive_free (LibHalDrive *drive);
Free all resources used by a LibHalDrive object.
| drive : | Object to free | 
dbus_bool_t libhal_drive_is_hotpluggable (LibHalDrive *drive);
| drive : | |
| Returns : | 
dbus_bool_t libhal_drive_uses_removable_media (LibHalDrive *drive);
| drive : | |
| Returns : | 
dbus_bool_t libhal_drive_is_media_detected (LibHalDrive *drive);
| drive : | |
| Returns : | 
dbus_bool_t         libhal_drive_is_media_detection_automatic
                                                        (LibHalDrive *drive);
| drive : | |
| Returns : | 
dbus_uint64_t libhal_drive_get_size (LibHalDrive *drive);
| drive : | |
| Returns : | 
dbus_uint64_t libhal_drive_get_media_size (LibHalDrive *drive);
| drive : | |
| Returns : | 
const char* libhal_drive_get_partition_scheme (LibHalDrive *drive);
| drive : | |
| Returns : | 
dbus_bool_t libhal_drive_no_partitions_hint (LibHalDrive *drive);
| drive : | |
| Returns : | 
dbus_bool_t libhal_drive_requires_eject (LibHalDrive *drive);
| drive : | |
| Returns : | 
LibHalDriveType libhal_drive_get_type (LibHalDrive *drive);
| drive : | |
| Returns : | 
LibHalDriveCdromCaps libhal_drive_get_cdrom_caps (LibHalDrive *drive);
| drive : | |
| Returns : | 
unsigned int libhal_drive_get_device_major (LibHalDrive *drive);
| drive : | |
| Returns : | 
unsigned int libhal_drive_get_device_minor (LibHalDrive *drive);
| drive : | |
| Returns : | 
const char* libhal_drive_get_type_textual (LibHalDrive *drive);
| drive : | |
| Returns : | 
const char* libhal_drive_get_device_file (LibHalDrive *drive);
| drive : | |
| Returns : | 
const char* libhal_drive_get_serial (LibHalDrive *drive);
| drive : | |
| Returns : | 
const char* libhal_drive_get_firmware_version (LibHalDrive *drive);
| drive : | |
| Returns : | 
const char* libhal_drive_get_model (LibHalDrive *drive);
| drive : | |
| Returns : | 
const char* libhal_drive_get_vendor (LibHalDrive *drive);
| drive : | |
| Returns : | 
const char*         libhal_drive_get_physical_device_udi
                                                        (LibHalDrive *drive);
| drive : | |
| Returns : | 
const char*         libhal_drive_get_dedicated_icon_drive
                                                        (LibHalDrive *drive);
| drive : | |
| Returns : | 
const char*         libhal_drive_get_dedicated_icon_volume
                                                        (LibHalDrive *drive);
| drive : | |
| Returns : | 
char*               libhal_drive_policy_compute_display_name
                                                        (LibHalDrive *drive,
                                                         LibHalVolume *volume);
| drive : | |
| volume : | |
| Returns : | 
char*               libhal_drive_policy_default_get_mount_root
                                                        ();
| Returns : | 
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. | 
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 | 
void libhal_volume_free (LibHalVolume *volume);
Free all resources used by a LibHalVolume object.
| volume : | Object to free | 
dbus_uint64_t libhal_volume_get_size (LibHalVolume *volume);
| volume : | |
| Returns : | 
dbus_uint64_t libhal_volume_get_disc_capacity (LibHalVolume *volume);
| volume : | |
| Returns : | 
const char* libhal_volume_get_udi (LibHalVolume *volume);
| volume : | |
| Returns : | 
const char* libhal_volume_get_device_file (LibHalVolume *volume);
| volume : | |
| Returns : | 
unsigned int libhal_volume_get_device_major (LibHalVolume *volume);
| volume : | |
| Returns : | 
unsigned int libhal_volume_get_device_minor (LibHalVolume *volume);
| volume : | |
| Returns : | 
const char* libhal_volume_get_fstype (LibHalVolume *volume);
| volume : | |
| Returns : | 
const char* libhal_volume_get_fsversion (LibHalVolume *volume);
| volume : | |
| Returns : | 
LibHalVolumeUsage libhal_volume_get_fsusage (LibHalVolume *volume);
| volume : | |
| Returns : | 
dbus_bool_t libhal_volume_is_mounted (LibHalVolume *volume);
| volume : | |
| Returns : | 
dbus_bool_t libhal_volume_is_mounted_read_only (LibHalVolume *volume);
| volume : | |
| Returns : | 
dbus_bool_t libhal_volume_is_partition (LibHalVolume *volume);
| volume : | |
| Returns : | 
dbus_bool_t libhal_volume_is_disc (LibHalVolume *volume);
| volume : | |
| Returns : | 
const char* libhal_volume_get_partition_scheme (LibHalVolume *volume);
| volume : | |
| Returns : | 
const char* libhal_volume_get_partition_type (LibHalVolume *volume);
| volume : | |
| Returns : | 
const char* libhal_volume_get_partition_label (LibHalVolume *volume);
| volume : | |
| Returns : | 
const char* libhal_volume_get_partition_uuid (LibHalVolume *volume);
| volume : | |
| Returns : | 
const char** libhal_volume_get_partition_flags (LibHalVolume *volume);
| volume : | |
| Returns : | 
unsigned int libhal_volume_get_partition_number (LibHalVolume *volume);
| volume : | |
| Returns : | 
dbus_uint64_t       libhal_volume_get_partition_start_offset
                                                        (LibHalVolume *volume);
| volume : | |
| Returns : | 
dbus_uint64_t       libhal_volume_get_partition_media_size
                                                        (LibHalVolume *volume);
| volume : | |
| Returns : | 
const char* libhal_volume_get_label (LibHalVolume *volume);
| volume : | |
| Returns : | 
const char* libhal_volume_get_mount_point (LibHalVolume *volume);
| volume : | |
| Returns : | 
const char* libhal_volume_get_uuid (LibHalVolume *volume);
| volume : | |
| Returns : | 
const char*         libhal_volume_get_storage_device_udi
                                                        (LibHalVolume *volume);
| volume : | |
| Returns : | 
const char*         libhal_volume_crypto_get_backing_volume_udi
                                                        (LibHalVolume *volume);
| volume : | |
| Returns : | 
char*               libhal_volume_crypto_get_clear_volume_udi
                                                        (LibHalContext *hal_ctx,
                                                         LibHalVolume *volume);
| hal_ctx : | |
| volume : | |
| Returns : | 
dbus_bool_t libhal_volume_disc_has_audio (LibHalVolume *volume);
| volume : | |
| Returns : | 
dbus_bool_t libhal_volume_disc_has_data (LibHalVolume *volume);
| volume : | |
| Returns : | 
dbus_bool_t libhal_volume_disc_is_blank (LibHalVolume *volume);
| volume : | |
| Returns : | 
dbus_bool_t libhal_volume_disc_is_rewritable (LibHalVolume *volume);
| volume : | |
| Returns : | 
dbus_bool_t libhal_volume_disc_is_appendable (LibHalVolume *volume);
| volume : | |
| Returns : | 
LibHalVolumeDiscType libhal_volume_get_disc_type (LibHalVolume *volume);
| volume : | |
| Returns : | 
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. |