Module fs

Source
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 with accessat.
AtFlags
AT_* constants for use with openat, statat, and other *at functions.
Dir
DIR*
DirEntry
struct dirent
FallocateFlags
FALLOC_FL_* constants for use with fallocate.
Gid
gid_t—A Unix group ID.
IFlags
FS_* constants for use with ioctl_getflags.
MemfdFlags
MFD_* constants for use with memfd_create.
Mode
S_I* constants for use with openat, chmodat, and fchmod.
OFlags
O_* constants for use with openat.
RawDir
A directory iterator implemented with getdents.
RawDirEntry
A raw directory entry, similar to std::fs::DirEntry.
RenameFlags
RENAME_* constants for use with renameat_with.
ResolveFlags
RESOLVE_* constants for use with openat2.
SealFlags
F_SEAL_* constants for use with fcntl_add_seals and fcntl_get_seals.
StatVfs
struct statvfs for use with statvfs and fstatvfs.
StatVfsMountFlags
ST_* constants for use with StatVfs.
StatxFlags
STATX_* constants for use with statx.
Timestamps
Timestamps used by utimensat and futimens.
Uid
uid_t—A Unix user ID.
XattrFlags
XATTR_* constants for use with setxattr, and other *setxattr functions.

Enums§

Advice
POSIX_FADV_* constants for use with fadvise.
FileType
S_IF* constants for use with mknodat and Stat’s st_mode field.
FlockOperation
LOCK_* constants for use with flock and fcntl_lock.
SeekFrom
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 with utimensat.
UTIME_OMIT
UTIME_OMIT for use with utimensat.

Traits§

DirEntryExt
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.
FileTypeExt
Re-export types common to POSIX-ish platforms. Unix-specific extensions for fs::FileType.
MetadataExt
Re-export types common to POSIX-ish platforms. Unix-specific extensions to fs::Metadata.
OpenOptionsExt
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.
cwdDeprecated
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 an fcntl-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 of Timespec.
RawMode
mode_t
Secs
A type for the tv_sec field of Timespec.
Stat
struct stat for use with statat and fstat.
StatFs
struct statfs for use with statfs and fstatfs.
Statx
struct statx for use with statx.
StatxTimestamp
struct statx_timestamp for use with Statx.
Timespec
struct timespec