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; }
Unix-specific extensions for fs::FileType
.
Adds support for special Unix file types such as block/character devices, pipes, and sockets.
fn is_block_device(&self) -> bool
Returns true
if this file type is a block device.
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
Returns true
if this file type is a char device.
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(()) }
fn is_fifo(&self) -> bool
Returns true
if this file type is a fifo.
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(()) }
fn is_socket(&self) -> bool
Returns true
if this file type is a socket.
use std::fs; use std::os::unix::fs::FileTypeExt; use std::io; fn main() -> io::Result<()> { let meta = fs::metadata("unix.socket")?; let file_type = meta.file_type(); assert!(file_type.is_socket()); Ok(()) }
© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/std/os/unix/fs/trait.FileTypeExt.html