forked from rust-lang/rust
-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Rollup merge of rust-lang#135324 - Ayush1325:uefi-fs-unsupported, r=joboet Initial fs module for uefi - Just a copy of unsupported fs right now to reduce the noise from future PRs to allow for easier review. - For the full working version of fs on uefi, see [0] - This is an effort to break the original PR (rust-lang#129700) into much smaller chunks for faster upstreaming. [0]: https://github.com/Ayush1325/rust/tree/uefi-file-full
- Loading branch information
Showing
2 changed files
with
344 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,344 @@ | ||
use crate::ffi::OsString; | ||
use crate::fmt; | ||
use crate::hash::{Hash, Hasher}; | ||
use crate::io::{self, BorrowedCursor, IoSlice, IoSliceMut, SeekFrom}; | ||
use crate::path::{Path, PathBuf}; | ||
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) -> io::Result<bool> { | ||
self.0 | ||
} | ||
|
||
pub fn try_lock_shared(&self) -> io::Result<bool> { | ||
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 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 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() | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters