Available on crate feature
fs
only.Expand description
Filesystem operations.
Re-exports§
pub use crate::io::FdFlags;
pub use crate::io::fcntl_dupfd_cloexec;
pub use crate::io::fcntl_getfd;
pub use crate::io::fcntl_setfd;
Modules§
- inotify
- inotify support for working with inotify objects.
Structs§
- Access
*_OK
constants for use withaccessat
.- AtFlags
AT_*
constants for use withopenat
,statat
, and other*at
functions.- Dir
DIR*
- DirEntry
struct dirent
- Fallocate
Flags FALLOC_FL_*
constants for use withfallocate
.- Gid
gid_t
—A Unix group ID.- IFlags
FS_*
constants for use withioctl_getflags
.- Memfd
Flags MFD_*
constants for use withmemfd_create
.- Mode
S_I*
constants for use withopenat
,chmodat
, andfchmod
.- OFlags
O_*
constants for use withopenat
.- RawDir
- A directory iterator implemented with getdents.
- RawDir
Entry - A raw directory entry, similar to
std::fs::DirEntry
. - Rename
Flags RENAME_*
constants for use withrenameat_with
.- Resolve
Flags RESOLVE_*
constants for use withopenat2
.- Seal
Flags F_SEAL_*
constants for use withfcntl_add_seals
andfcntl_get_seals
.- StatVfs
struct statvfs
for use withstatvfs
andfstatvfs
.- Stat
VfsMount Flags ST_*
constants for use withStatVfs
.- Statx
Flags STATX_*
constants for use withstatx
.- Timestamps
- Timestamps used by
utimensat
andfutimens
. - Uid
uid_t
—A Unix user ID.- Xattr
Flags XATTR_*
constants for use withsetxattr
, and other*setxattr
functions.
Enums§
- Advice
POSIX_FADV_*
constants for use withfadvise
.- File
Type S_IF*
constants for use withmknodat
andStat
’sst_mode
field.- Flock
Operation LOCK_*
constants for use withflock
andfcntl_lock
.- Seek
From - Enumeration of possible methods to seek within an I/O object.
Constants§
- ABS
-EBADF
—A handle that requires paths to be absolute.- CWD
AT_FDCWD
—A handle representing the current working directory.- NFS_
SUPER_ MAGIC - The filesystem magic number for NFS.
- PROC_
SUPER_ MAGIC - The filesystem magic number for procfs.
- UTIME_
NOW UTIME_NOW
for use withutimensat
.- UTIME_
OMIT UTIME_OMIT
for use withutimensat
.
Traits§
- DirEntry
Ext - Re-export types common to POSIX-ish platforms.
Unix-specific extension methods for
fs::DirEntry
. - FileExt
- Re-export types common to POSIX-ish platforms.
Unix-specific extensions to
fs::File
. - File
Type Ext - Re-export types common to POSIX-ish platforms.
Unix-specific extensions for
fs::FileType
. - Metadata
Ext - Re-export types common to POSIX-ish platforms.
Unix-specific extensions to
fs::Metadata
. - Open
Options Ext - Re-export types common to POSIX-ish platforms.
Unix-specific extensions to
fs::OpenOptions
. - StatExt
- Extension trait for accessing timestamp fields of
Stat
.
Functions§
- access
access(path, access)
—Tests permissions for a file or directory.- accessat
faccessat(dirfd, path, access, flags)
—Tests permissions for a file or directory.- chmod
chmod(path, mode)
—Sets file or directory permissions.- chmodat
fchmodat(dirfd, path, mode, flags)
—Sets file or directory permissions.- chown
chown(path, owner, group)
—Sets open file or directory ownership.- chownat
fchownat(dirfd, path, owner, group, flags)
—Sets file or directory ownership.- copy_
file_ range copy_file_range(fd_in, off_in, fd_out, off_out, len, 0)
—Copies data from one file to another.- cwd
Deprecated - Return the value of [
CWD
]. - ext4_
ioc_ resize_ fs ioctl(fd, EXT4_IOC_RESIZE_FS, blocks)
—Resize ext4 filesystem on fd.- fadvise
posix_fadvise(fd, offset, len, advice)
—Declares an expected access pattern for a file.- fallocate
fallocate(fd, mode, offset, len)
—Adjusts file allocation.- fchmod
fchmod(fd, mode)
—Sets open file or directory permissions.- fchown
fchown(fd, owner, group)
—Sets open file or directory ownership.- fcntl_
add_ seals fcntl(fd, F_ADD_SEALS)
- fcntl_
get_ seals fcntl(fd, F_GET_SEALS)
- fcntl_
getfl fcntl(fd, F_GETFL)
—Returns a file descriptor’s access mode and status.- fcntl_
lock fcntl(fd, F_SETLK)
—Acquire or release anfcntl
-style lock.- fcntl_
setfl fcntl(fd, F_SETFL, flags)
—Sets a file descriptor’s status.- fdatasync
fdatasync(fd)
—Ensures that file data is written to the underlying storage device.- fgetxattr
fgetxattr(fd, name, value.as_ptr(), value.len())
—Get extended filesystem attributes on an open file descriptor.- flistxattr
flistxattr(fd, list.as_ptr(), list.len())
—List extended filesystem attributes on an open file descriptor.- flock
flock(fd, operation)
—Acquire or release an advisory lock on an open file.- fremovexattr
fremovexattr(fd, name)
—Remove an extended filesystem attribute on an open file descriptor.- fsetxattr
fsetxattr(fd, name, value.as_ptr(), value.len(), flags)
—Set extended filesystem attributes on an open file descriptor.- fstat
fstat(fd)
—Queries metadata for an open file or directory.- fstatfs
fstatfs(fd)
—Queries filesystem statistics for an open file or directory.- fstatvfs
fstatvfs(fd)
—Queries filesystem statistics for an open file or directory, POSIX version.- fsync
fsync(fd)
—Ensures that file data and metadata is written to the underlying storage device.- ftruncate
ftruncate(fd, length)
—Sets the length of a file.- futimens
futimens(fd, times)
—Sets timestamps for an open file or directory.- getxattr
getxattr(path, name, value.as_ptr(), value.len())
—Get extended filesystem attributes.- ioctl_
blkpbszget ioctl(fd, BLKPBSZGET)
—Returns the physical block size of a block device.- ioctl_
blksszget ioctl(fd, BLKSSZGET)
—Returns the logical block size of a block device.- ioctl_
ficlone ioctl(fd, FICLONE, src_fd)
—Share data between open files.- ioctl_
getflags ioctl(fd, FS_IOC_GETFLAGS)
—Returns the inode flags attributes- ioctl_
setflags ioctl(fd, FS_IOC_SETFLAGS)
—Modify the inode flags attributes- is_
file_ read_ write fcntl(fd, F_GETFL) & O_ACCMODE
- lgetxattr
lgetxattr(path, name, value.as_ptr(), value.len())
—Get extended filesystem attributes, without following symlinks in the last path component.- link
link(old_path, new_path)
—Creates a hard link.- linkat
linkat(old_dirfd, old_path, new_dirfd, new_path, flags)
—Creates a hard link.- listxattr
listxattr(path, list.as_ptr(), list.len())
—List extended filesystem attributes.- llistxattr
llistxattr(path, list.as_ptr(), list.len())
—List extended filesystem attributes, without following symlinks in the last path component.- lremovexattr
lremovexattr(path, name)
—Remove an extended filesystem attribute, without following symlinks in the last path component.- lsetxattr
setxattr(path, name, value.as_ptr(), value.len(), flags)
—Set extended filesystem attributes, without following symlinks in the last path component.- lstat
lstat(path)
—Queries metadata for a file or directory, without following symlinks.- major
major(dev)
- makedev
makedev(maj, min)
- memfd_
create memfd_create(name, flags)
- minor
minor(dev)
- mkdir
mkdir(path, mode)
—Creates a directory.- mkdirat
mkdirat(fd, path, mode)
—Creates a directory.- mknodat
mknodat(dirfd, path, mode, dev)
—Creates special or normal files.- open
open(path, oflags, mode)
—Opens a file.- openat
openat(dirfd, path, oflags, mode)
—Opens a file.- openat2
openat2(dirfd, path, OpenHow { oflags, mode, resolve }, sizeof(OpenHow))
- readlink
readlink(path)
—Reads the contents of a symlink.- readlinkat
readlinkat(fd, path)
—Reads the contents of a symlink.- readlinkat_
raw readlinkat(fd, path)
—Reads the contents of a symlink, without allocating.- removexattr
removexattr(path, name)
—Remove an extended filesystem attribute.- rename
rename(old_path, new_path)
—Renames a file or directory.- renameat
renameat(old_dirfd, old_path, new_dirfd, new_path)
—Renames a file or directory.- renameat_
with renameat2(old_dirfd, old_path, new_dirfd, new_path, flags)
—Renames a file or directory.- rmdir
rmdir(path)
—Removes a directory.- seek
lseek(fd, offset, whence)
—Repositions a file descriptor within a file.- sendfile
sendfile(out_fd, in_fd, offset, count)
- setxattr
setxattr(path, name, value.as_ptr(), value.len(), flags)
—Set extended filesystem attributes.- stat
stat(path)
—Queries metadata for a file or directory.- statat
fstatat(dirfd, path, flags)
—Queries metadata for a file or directory.- statfs
statfs
—Queries filesystem metadata.- statvfs
statvfs
—Queries filesystem metadata, POSIX version.- statx
statx(dirfd, path, flags, mask, statxbuf)
- symlink
symlink(old_path, new_path)
—Creates a symlink.- symlinkat
symlinkat(old_path, new_dirfd, new_path)
—Creates a symlink.- sync
sync
—Flush cached filesystem data for all filesystems.- syncfs
syncfs(fd)
—Flush cached filesystem data.- tell
lseek(fd, 0, SEEK_CUR)
—Returns the current position within a file.- unlink
unlink(path)
—Unlinks a file.- unlinkat
unlinkat(fd, path, flags)
—Unlinks a file or remove a directory.- utimensat
utimensat(dirfd, path, times, flags)
—Sets file or directory timestamps.
Type Aliases§
- Dev
dev_t
- FsWord
__fsword_t
- Nsecs
- A type for the
tv_sec
field ofTimespec
. - RawMode
mode_t
- Secs
- A type for the
tv_sec
field ofTimespec
. - Stat
struct stat
for use withstatat
andfstat
.- StatFs
struct statfs
for use withstatfs
andfstatfs
.- Statx
struct statx
for use withstatx
.- Statx
Timestamp struct statx_timestamp
for use withStatx
.- Timespec
struct timespec