sysinfo::common::disk

Struct Disk

Source
pub struct Disk {
    pub(crate) inner: DiskInner,
}
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());
}

Fields§

§inner: DiskInner

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.