Disk

Struct Disk 

Source
pub struct Disk { /* private fields */ }
Expand description

Struct containing a disk information.

use sysinfo::Disks;

let disks = Disks::new_with_refreshed_list();
for disk in disks.list() {
    println!("{:?}: {:?}", disk.name(), disk.kind());
}

Implementations§

Source§

impl Disk

Source

pub fn kind(&self) -> DiskKind

Returns the kind of disk.

use sysinfo::Disks;

let disks = Disks::new_with_refreshed_list();
for disk in disks.list() {
    println!("[{:?}] {:?}", disk.name(), disk.kind());
}
Source

pub fn name(&self) -> &OsStr

Returns the disk name.

use sysinfo::Disks;

let disks = Disks::new_with_refreshed_list();
for disk in disks.list() {
    println!("{:?}", disk.name());
}
Source

pub fn file_system(&self) -> &OsStr

Returns the file system used on this disk (so for example: EXT4, NTFS, etc…).

use sysinfo::Disks;

let disks = Disks::new_with_refreshed_list();
for disk in disks.list() {
    println!("[{:?}] {:?}", disk.name(), disk.file_system());
}
Source

pub fn mount_point(&self) -> &Path

Returns the mount point of the disk (/ for example).

use sysinfo::Disks;

let disks = Disks::new_with_refreshed_list();
for disk in disks.list() {
    println!("[{:?}] {:?}", disk.name(), disk.mount_point());
}
Source

pub fn total_space(&self) -> u64

Returns the total disk size, in bytes.

use sysinfo::Disks;

let disks = Disks::new_with_refreshed_list();
for disk in disks.list() {
    println!("[{:?}] {}B", disk.name(), disk.total_space());
}
Source

pub fn available_space(&self) -> u64

Returns the available disk size, in bytes.

use sysinfo::Disks;

let disks = Disks::new_with_refreshed_list();
for disk in disks.list() {
    println!("[{:?}] {}B", disk.name(), disk.available_space());
}
Source

pub fn is_removable(&self) -> bool

Returns true if the disk is removable.

use sysinfo::Disks;

let disks = Disks::new_with_refreshed_list();
for disk in disks.list() {
    println!("[{:?}] {}", disk.name(), disk.is_removable());
}
Source

pub fn is_read_only(&self) -> bool

Returns true if the disk is read-only.

use sysinfo::Disks;

let disks = Disks::new_with_refreshed_list();
for disk in disks.list() {
    println!("[{:?}] is read-only: {}", disk.name(), disk.is_read_only());
}
Source

pub fn refresh(&mut self) -> bool

Updates the disk’ information with everything loaded.

Equivalent to Disk::refresh_specifics(DiskRefreshKind::everything()).

use sysinfo::Disks;

let mut disks = Disks::new_with_refreshed_list();
for disk in disks.list_mut() {
    disk.refresh();
}
Source

pub fn refresh_specifics(&mut self, refreshes: DiskRefreshKind) -> bool

Updates the disk’s information corresponding to the given DiskRefreshKind.

use sysinfo::{Disks, DiskRefreshKind};

let mut disks = Disks::new_with_refreshed_list();
for disk in disks.list_mut() {
    disk.refresh_specifics(DiskRefreshKind::nothing());
}
Source

pub fn usage(&self) -> DiskUsage

Returns number of bytes read and written by the disk

use sysinfo::Disks;

let disks = Disks::new_with_refreshed_list();
for disk in disks.list() {
    println!("[{:?}] disk usage: {:?}", disk.name(), disk.usage());
}

Trait Implementations§

Source§

impl Debug for Disk

Source§

fn fmt(&self, fmt: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl Freeze for Disk

§

impl RefUnwindSafe for Disk

§

impl Send for Disk

§

impl Sync for Disk

§

impl Unpin for Disk

§

impl UnwindSafe for Disk

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.

Layout§

Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.

Size: 168 bytes