| use crate::ffi::OsString; | |
| use crate::fmt; | |
| use crate::fs::TryLockError; | |
| use crate::hash::{Hash, Hasher}; | |
| use crate::io::{self, BorrowedCursor, IoSlice, IoSliceMut, SeekFrom}; | |
| use crate::path::{Path, PathBuf}; | |
| pub use crate::sys::fs::common::Dir; | |
| use crate::sys::time::SystemTime; | |
| use crate::sys::unsupported; | |
| pub struct File(!); | |
| pub struct FileAttr(!); | |
| pub struct ReadDir(!); | |
| pub struct DirEntry(!); | |
| #[derive(Clone, Debug)] | |
| pub struct OpenOptions {} | |
| #[derive(Copy, Clone, Debug, Default)] | |
| pub struct FileTimes {} | |
| pub struct FilePermissions(!); | |
| pub struct FileType(!); | |
| #[derive(Debug)] | |
| pub struct DirBuilder {} | |
| impl FileAttr { | |
| pub fn size(&self) -> u64 { | |
| self.0 | |
| } | |
| pub fn perm(&self) -> FilePermissions { | |
| self.0 | |
| } | |
| pub fn file_type(&self) -> FileType { | |
| self.0 | |
| } | |
| pub fn modified(&self) -> io::Result<SystemTime> { | |
| self.0 | |
| } | |
| pub fn accessed(&self) -> io::Result<SystemTime> { | |
| self.0 | |
| } | |
| pub fn created(&self) -> io::Result<SystemTime> { | |
| self.0 | |
| } | |
| } | |
| impl Clone for FileAttr { | |
| fn clone(&self) -> FileAttr { | |
| self.0 | |
| } | |
| } | |
| impl FilePermissions { | |
| pub fn readonly(&self) -> bool { | |
| self.0 | |
| } | |
| pub fn set_readonly(&mut self, _readonly: bool) { | |
| self.0 | |
| } | |
| } | |
| impl Clone for FilePermissions { | |
| fn clone(&self) -> FilePermissions { | |
| self.0 | |
| } | |
| } | |
| impl PartialEq for FilePermissions { | |
| fn eq(&self, _other: &FilePermissions) -> bool { | |
| self.0 | |
| } | |
| } | |
| impl Eq for FilePermissions {} | |
| impl fmt::Debug for FilePermissions { | |
| fn fmt(&self, _f: &mut fmt::Formatter<'_>) -> fmt::Result { | |
| self.0 | |
| } | |
| } | |
| impl FileTimes { | |
| pub fn set_accessed(&mut self, _t: SystemTime) {} | |
| pub fn set_modified(&mut self, _t: SystemTime) {} | |
| } | |
| impl FileType { | |
| pub fn is_dir(&self) -> bool { | |
| self.0 | |
| } | |
| pub fn is_file(&self) -> bool { | |
| self.0 | |
| } | |
| pub fn is_symlink(&self) -> bool { | |
| self.0 | |
| } | |
| } | |
| impl Clone for FileType { | |
| fn clone(&self) -> FileType { | |
| self.0 | |
| } | |
| } | |
| impl Copy for FileType {} | |
| impl PartialEq for FileType { | |
| fn eq(&self, _other: &FileType) -> bool { | |
| self.0 | |
| } | |
| } | |
| impl Eq for FileType {} | |
| impl Hash for FileType { | |
| fn hash<H: Hasher>(&self, _h: &mut H) { | |
| self.0 | |
| } | |
| } | |
| impl fmt::Debug for FileType { | |
| fn fmt(&self, _f: &mut fmt::Formatter<'_>) -> fmt::Result { | |
| self.0 | |
| } | |
| } | |
| impl fmt::Debug for ReadDir { | |
| fn fmt(&self, _f: &mut fmt::Formatter<'_>) -> fmt::Result { | |
| self.0 | |
| } | |
| } | |
| impl Iterator for ReadDir { | |
| type Item = io::Result<DirEntry>; | |
| fn next(&mut self) -> Option<io::Result<DirEntry>> { | |
| self.0 | |
| } | |
| } | |
| impl DirEntry { | |
| pub fn path(&self) -> PathBuf { | |
| self.0 | |
| } | |
| pub fn file_name(&self) -> OsString { | |
| self.0 | |
| } | |
| pub fn metadata(&self) -> io::Result<FileAttr> { | |
| self.0 | |
| } | |
| pub fn file_type(&self) -> io::Result<FileType> { | |
| self.0 | |
| } | |
| } | |
| impl OpenOptions { | |
| pub fn new() -> OpenOptions { | |
| OpenOptions {} | |
| } | |
| pub fn read(&mut self, _read: bool) {} | |
| pub fn write(&mut self, _write: bool) {} | |
| pub fn append(&mut self, _append: bool) {} | |
| pub fn truncate(&mut self, _truncate: bool) {} | |
| pub fn create(&mut self, _create: bool) {} | |
| pub fn create_new(&mut self, _create_new: bool) {} | |
| } | |
| impl File { | |
| pub fn open(_path: &Path, _opts: &OpenOptions) -> io::Result<File> { | |
| unsupported() | |
| } | |
| pub fn file_attr(&self) -> io::Result<FileAttr> { | |
| self.0 | |
| } | |
| pub fn fsync(&self) -> io::Result<()> { | |
| self.0 | |
| } | |
| pub fn datasync(&self) -> io::Result<()> { | |
| self.0 | |
| } | |
| pub fn lock(&self) -> io::Result<()> { | |
| self.0 | |
| } | |
| pub fn lock_shared(&self) -> io::Result<()> { | |
| self.0 | |
| } | |
| pub fn try_lock(&self) -> Result<(), TryLockError> { | |
| self.0 | |
| } | |
| pub fn try_lock_shared(&self) -> Result<(), TryLockError> { | |
| self.0 | |
| } | |
| pub fn unlock(&self) -> io::Result<()> { | |
| self.0 | |
| } | |
| pub fn truncate(&self, _size: u64) -> io::Result<()> { | |
| self.0 | |
| } | |
| pub fn read(&self, _buf: &mut [u8]) -> io::Result<usize> { | |
| self.0 | |
| } | |
| pub fn read_vectored(&self, _bufs: &mut [IoSliceMut<'_>]) -> io::Result<usize> { | |
| self.0 | |
| } | |
| pub fn is_read_vectored(&self) -> bool { | |
| self.0 | |
| } | |
| pub fn read_buf(&self, _cursor: BorrowedCursor<'_>) -> io::Result<()> { | |
| self.0 | |
| } | |
| pub fn write(&self, _buf: &[u8]) -> io::Result<usize> { | |
| self.0 | |
| } | |
| pub fn write_vectored(&self, _bufs: &[IoSlice<'_>]) -> io::Result<usize> { | |
| self.0 | |
| } | |
| pub fn is_write_vectored(&self) -> bool { | |
| self.0 | |
| } | |
| pub fn flush(&self) -> io::Result<()> { | |
| self.0 | |
| } | |
| pub fn seek(&self, _pos: SeekFrom) -> io::Result<u64> { | |
| self.0 | |
| } | |
| pub fn size(&self) -> Option<io::Result<u64>> { | |
| self.0 | |
| } | |
| pub fn tell(&self) -> io::Result<u64> { | |
| self.0 | |
| } | |
| pub fn duplicate(&self) -> io::Result<File> { | |
| self.0 | |
| } | |
| pub fn set_permissions(&self, _perm: FilePermissions) -> io::Result<()> { | |
| self.0 | |
| } | |
| pub fn set_times(&self, _times: FileTimes) -> io::Result<()> { | |
| self.0 | |
| } | |
| } | |
| impl DirBuilder { | |
| pub fn new() -> DirBuilder { | |
| DirBuilder {} | |
| } | |
| pub fn mkdir(&self, _p: &Path) -> io::Result<()> { | |
| unsupported() | |
| } | |
| } | |
| impl fmt::Debug for File { | |
| fn fmt(&self, _f: &mut fmt::Formatter<'_>) -> fmt::Result { | |
| self.0 | |
| } | |
| } | |
| pub fn readdir(_p: &Path) -> io::Result<ReadDir> { | |
| unsupported() | |
| } | |
| pub fn unlink(_p: &Path) -> io::Result<()> { | |
| unsupported() | |
| } | |
| pub fn rename(_old: &Path, _new: &Path) -> io::Result<()> { | |
| unsupported() | |
| } | |
| pub fn set_perm(_p: &Path, perm: FilePermissions) -> io::Result<()> { | |
| match perm.0 {} | |
| } | |
| pub fn set_times(_p: &Path, _times: FileTimes) -> io::Result<()> { | |
| unsupported() | |
| } | |
| pub fn set_times_nofollow(_p: &Path, _times: FileTimes) -> io::Result<()> { | |
| unsupported() | |
| } | |
| pub fn rmdir(_p: &Path) -> io::Result<()> { | |
| unsupported() | |
| } | |
| pub fn remove_dir_all(_path: &Path) -> io::Result<()> { | |
| unsupported() | |
| } | |
| pub fn exists(_path: &Path) -> io::Result<bool> { | |
| unsupported() | |
| } | |
| pub fn readlink(_p: &Path) -> io::Result<PathBuf> { | |
| unsupported() | |
| } | |
| pub fn symlink(_original: &Path, _link: &Path) -> io::Result<()> { | |
| unsupported() | |
| } | |
| pub fn link(_src: &Path, _dst: &Path) -> io::Result<()> { | |
| unsupported() | |
| } | |
| pub fn stat(_p: &Path) -> io::Result<FileAttr> { | |
| unsupported() | |
| } | |
| pub fn lstat(_p: &Path) -> io::Result<FileAttr> { | |
| unsupported() | |
| } | |
| pub fn canonicalize(_p: &Path) -> io::Result<PathBuf> { | |
| unsupported() | |
| } | |
| pub fn copy(_from: &Path, _to: &Path) -> io::Result<u64> { | |
| unsupported() | |
| } |