1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
include!("./dirent_types.inc.rs"); use crate::{FromInner, IntoInner}; use uv::uv_dirent_t; /// Cross platform (reduced) equivalent of struct dirent. Used in scandir_next(). pub struct Dirent { pub name: String, pub r#type: DirentType, } impl FromInner<*const uv_dirent_t> for Dirent { fn from_inner(dirent: *const uv_dirent_t) -> Dirent { let name = unsafe { std::ffi::CStr::from_ptr((*dirent).name) } .to_string_lossy() .into_owned(); Dirent { name, r#type: unsafe { (*dirent).type_.into_inner() }, } } }