pub trait FileTypeExt {
fn is_block_device(&self) -> bool;
fn is_char_device(&self) -> bool;
fn is_fifo(&self) -> bool;
fn is_socket(&self) -> bool;
}
Expand description
Unix-specific extensions for fs::FileType
.
Adds support for special Unix file types such as block/character devices, pipes, and sockets.
Required methods
fn is_block_device(&self) -> bool
fn is_block_device(&self) -> bool
Returns true
if this file type is a block device.
Examples
use std::fs;
use std::os::unix::fs::FileTypeExt;
use std::io;
fn main() -> io::Result<()> {
let meta = fs::metadata("block_device_file")?;
let file_type = meta.file_type();
assert!(file_type.is_block_device());
Ok(())
}
fn is_char_device(&self) -> bool
fn is_char_device(&self) -> bool
Returns true
if this file type is a char device.
Examples
use std::fs;
use std::os::unix::fs::FileTypeExt;
use std::io;
fn main() -> io::Result<()> {
let meta = fs::metadata("char_device_file")?;
let file_type = meta.file_type();
assert!(file_type.is_char_device());
Ok(())
}
Returns true
if this file type is a fifo.
Examples
use std::fs;
use std::os::unix::fs::FileTypeExt;
use std::io;
fn main() -> io::Result<()> {
let meta = fs::metadata("fifo_file")?;
let file_type = meta.file_type();
assert!(file_type.is_fifo());
Ok(())
}