Top |
UDisksLinuxDriveAtaUDisksLinuxDriveAta — Linux implementation of UDisksDriveAta |
GObject ╰── GDBusInterfaceSkeleton ╰── UDisksDriveAtaSkeleton ╰── UDisksLinuxDriveAta
UDisksDriveAta *
udisks_linux_drive_ata_new (void
);
Creates a new UDisksLinuxDriveAta instance.
gboolean udisks_linux_drive_ata_update (UDisksLinuxDriveAta *drive
,UDisksLinuxDriveObject *object
);
Updates the interface.
gboolean udisks_linux_drive_ata_refresh_smart_sync (UDisksLinuxDriveAta *drive
,gboolean nowakeup
,const gchar *simulate_path
,GCancellable *cancellable
,GError **error
);
Synchronously refreshes ATA S.M.A.R.T. data on drive
using one of
the physical drives associated with it. The calling thread is
blocked until the data has been obtained.
If nowake
is TRUE
and the disk is in a sleep state this fails
with UDISKS_ERROR_WOULD_WAKEUP
.
This may only be called if drive
has been associated with a
UDisksLinuxDriveObject instance.
This method may be called from any thread.
drive |
The UDisksLinuxDriveAta to refresh. |
|
nowakeup |
If |
|
simulate_path |
If not |
|
cancellable |
A GCancellable or |
|
error |
Return location for error. |
gboolean udisks_linux_drive_ata_smart_selftest_sync (UDisksLinuxDriveAta *drive
,const gchar *type
,GCancellable *cancellable
,GError **error
);
Starts (or aborts) a SMART self-test on drive
. Valid values for
type
includes 'short', 'extended', 'conveyance' and 'abort'.
The calling thread is blocked while sending the command to the drive but will return immediately after the drive acknowledges the command.
drive |
||
type |
The type of selftest to run. |
|
cancellable |
A GCancellable that can be used to cancel the operation or |
[allow-none] |
error |
Return location for error or |
void udisks_linux_drive_ata_apply_configuration (UDisksLinuxDriveAta *drive
,UDisksLinuxDevice *device
,GVariant *configuration
);
Spawns a thread to apply configuration
to drive
, if any. Does not
wait for the thread to terminate.
gboolean udisks_linux_drive_ata_secure_erase_sync (UDisksLinuxDriveAta *drive
,uid_t caller_uid
,gboolean enhanced
,GError **error
);
Performs an ATA Secure Erase operation. Blocks the calling thread until the operation completes.
This operation may take a very long time (hours) to complete.
gboolean udisks_linux_drive_ata_get_pm_state (UDisksLinuxDriveAta *drive
,GError **error
,guchar *pm_state
);
Get the current power mode state.
The format of pm_state
is the result obtained from sending the
ATA command CHECK POWER MODE
to the drive.
Known values include:
0x00
: Device is in PM2: Standby state.
0x40
: Device is in the PM0: Active state, the NV Cache power mode is enabled, and the spindle is spun down or spinning down.
0x41
: Device is in the PM0: Active state, the NV Cache power mode is enabled, and the spindle is spun up or spinning up.
0x80
: Device is in PM1: Idle state.
0xff
: Device is in the PM0: Active state or PM1: Idle State.
Typically user interfaces will report "Drive is spun down" if pm_state
is
0x00 and "Drive is spun up" otherwise.
#define UDISKS_LINUX_DRIVE_ATA_IS_AWAKE(pm_state) (pm_state >= 0x41)
Decodes the power state value as returned by udisks_linux_drive_ata_get_pm_state.
typedef struct _UDisksLinuxDriveAta UDisksLinuxDriveAta;
The UDisksLinuxDriveAta structure contains only private data and should only be accessed using the provided API.