pub struct Metadata {
pub file_type: FileType,
pub size: u64,
pub permissions: Permissions,
pub created: SystemTime,
pub modified: SystemTime,
pub accessed: SystemTime,
pub inode: u64,
pub nlink: u64,
}Expand description
Complete metadata for a filesystem entry.
Contains all common metadata fields for files, directories, and symlinks.
Returned by FsRead::metadata and
FsInode::metadata_by_inode.
§Fields
| Field | Type | Description |
|---|---|---|
file_type | FileType | File, Directory, or Symlink |
size | u64 | Size in bytes (0 for directories) |
permissions | Permissions | Unix permission bits |
created | SystemTime | Creation timestamp |
modified | SystemTime | Last modification timestamp |
accessed | SystemTime | Last access timestamp |
inode | u64 | Unique identifier within filesystem |
nlink | u64 | Number of hard links |
§Example
use anyfs_backend::{Metadata, FileType, Permissions};
use std::time::SystemTime;
let meta = Metadata {
file_type: FileType::File,
size: 1024,
permissions: Permissions::from_mode(0o644),
created: SystemTime::now(),
modified: SystemTime::now(),
accessed: SystemTime::now(),
inode: 42,
nlink: 1,
};
assert!(meta.is_file());
assert_eq!(meta.size, 1024);§Default Value
The default creates a zero-sized file with standard permissions (0o644):
use anyfs_backend::{Metadata, FileType};
let meta = Metadata::default();
assert!(meta.is_file());
assert_eq!(meta.size, 0);Fields§
§file_type: FileTypeType of the entry (file, directory, symlink).
size: u64Size in bytes.
permissions: PermissionsPermissions.
created: SystemTimeCreation time.
modified: SystemTimeLast modification time.
accessed: SystemTimeLast access time.
inode: u64Inode number (unique identifier within the filesystem).
nlink: u64Number of hard links.
Implementations§
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Metadata
impl RefUnwindSafe for Metadata
impl Send for Metadata
impl Sync for Metadata
impl Unpin for Metadata
impl UnwindSafe for Metadata
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