struct FileMetadata {
mode: Scalar,
size: u64,
created: Option<(u64, u32)>,
accessed: Option<(u64, u32)>,
modified: Option<(u64, u32)>,
dev: Option<u64>,
ino: Option<u64>,
nlink: Option<u64>,
uid: Option<u32>,
gid: Option<u32>,
blksize: Option<u64>,
blocks: Option<u64>,
}Expand description
Stores a file’s metadata in order to avoid code duplication in the different metadata related shims.
Some fields are host/platform-specific. None means that Miri does not have a real value for
this field, for example because the metadata is synthetic or because the host platform does not
expose it. statx must only advertise the corresponding STATX_* bit when the field is Some;
legacy stat writes zero for None to preserve the old fallback behavior.
Fields§
§mode: Scalar§size: u64§created: Option<(u64, u32)>§accessed: Option<(u64, u32)>§modified: Option<(u64, u32)>§dev: Option<u64>§ino: Option<u64>§nlink: Option<u64>§uid: Option<u32>§gid: Option<u32>§blksize: Option<u64>§blocks: Option<u64>Implementations§
Source§impl FileMetadata
impl FileMetadata
fn from_path<'tcx>( ecx: &mut MiriInterpCx<'tcx>, path: &Path, follow_symlink: bool, ) -> InterpResult<'tcx, Result<FileMetadata, IoError>>
fn from_fd_num<'tcx>( ecx: &mut MiriInterpCx<'tcx>, fd_num: i32, ) -> InterpResult<'tcx, Result<FileMetadata, IoError>>
fn synthetic<'tcx>( ecx: &mut MiriInterpCx<'tcx>, mode_name: &str, ) -> InterpResult<'tcx, Result<FileMetadata, IoError>>
fn from_meta<'tcx>( ecx: &mut MiriInterpCx<'tcx>, metadata: Result<Metadata, Error>, ) -> InterpResult<'tcx, Result<FileMetadata, IoError>>
Auto Trait Implementations§
impl Freeze for FileMetadata
impl RefUnwindSafe for FileMetadata
impl Send for FileMetadata
impl Sync for FileMetadata
impl Unpin for FileMetadata
impl UnsafeUnpin for FileMetadata
impl UnwindSafe for FileMetadata
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Layout§
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 208 bytes