Module rustix::fs

source ·
Expand description

Filesystem operations.

Modules

inotify support for working with inotifies

Structs

*_OK constants for use with accessat.
AT_* constants for use with openat, statat, and other *at functions.
DIR*
struct dirent
FALLOC_FL_* constants for use with fallocate.
FD_* constants for use with fcntl_getfd and fcntl_setfd.
gid_t—A Unix group ID.
MFD_* constants for use with memfd_create.
S_I* constants for use with openat, chmodat, and fchmod.
MS_* constants for use with mount.
MS_* constants for use with change_mount.
O_* constants for use with openat.
A directory iterator implemented with getdents.
A raw directory entry, similar to std::fs::DirEntry.
RENAME_* constants for use with renameat_with.
RESOLVE_* constants for use with openat2.
F_SEAL_* constants for use with fcntl_add_seals and fcntl_get_seals.
struct statvfs for use with statvfs and fstatvfs.
ST_* constants for use with StatVfs.
STATX_* constants for use with statx.
Timestamps used by utimensat and futimens.
uid_t—A Unix user ID.
MNT_* constants for use with unmount.
XATTR_* constants for use with setxattr, and other *setxattr functions.

Enums

POSIX_FADV_* constants for use with fadvise.
S_IF* constants. S_IF* constants for use with mknodat and Stat’s st_mode field.
LOCK_* constants for use with flock and fcntl_lock.
Enumeration of possible methods to seek within an I/O object.

Constants

AT_FDCWD—A handle representing the current working directory.
The filesystem magic number for NFS.
The filesystem magic number for procfs.
UTIME_NOW for use with utimensat.
UTIME_OMIT for use with utimensat.

Traits

Re-export types common to POSIX-ish platforms. Unix-specific extension methods for fs::DirEntry.
Re-export types common to POSIX-ish platforms. Unix-specific extensions to fs::File.
Re-export types common to POSIX-ish platforms. Unix-specific extensions for fs::FileType.
Re-export types common to POSIX-ish platforms. Unix-specific extensions to fs::Metadata.
Re-export types common to POSIX-ish platforms. Unix-specific extensions to fs::OpenOptions.

Functions

access(path, access)—Tests permissions for a file or directory.
faccessat(dirfd, path, access, flags)—Tests permissions for a file or directory.
mount(source, target, NULL, MS_BIND, NULL)
mount(NULL, target, NULL, mountflags, NULL)
chmod(path, mode)—Sets file or directory permissions.
fchmodat(dirfd, path, mode, flags)—Sets file or directory permissions.
fchownat(dirfd, path, owner, group, flags)—Sets file or directory ownership.
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.
ioctl(fd, EXT4_IOC_RESIZE_FS, blocks)—Resize ext4 filesystem on fd.
posix_fadvise(fd, offset, len, advice)—Declares an expected access pattern for a file.
fallocate(fd, mode, offset, len)—Adjusts file allocation.
fchmod(fd)—Sets open file or directory permissions.
fchown(fd)—Sets open file or directory ownership.
fcntl(fd, F_ADD_SEALS)
fcntl(fd, F_DUPFD_CLOEXEC)—Creates a new OwnedFd instance, with value at least min, that has O_CLOEXEC set and that shares the same underlying [file description] as fd.
fcntl(fd, F_GET_SEALS)
fcntl(fd, F_GETFD)—Returns a file descriptor’s flags.
fcntl(fd, F_GETFL)—Returns a file descriptor’s access mode and status.
fcntl(fd, F_SETLK)—Acquire or release an fcntl-style lock.
fcntl(fd, F_SETFD, flags)—Sets a file descriptor’s flags.
fcntl(fd, F_SETFL, flags)—Sets a file descriptor’s status.
fdatasync(fd)—Ensures that file data is written to the underlying storage device.
fgetxattr(fd, name, value.as_ptr(), value.len())—Get extended filesystem attributes on an open file descriptor.
flistxattr(fd, list.as_ptr(), list.len())—List extended filesystem attributes on an open file descriptor.
flock(fd, operation)—Acquire or release an advisory lock on an open file.
fremovexattr(fd, name)—Remove an extended filesystem attribute on an open file descriptor.
fsetxattr(fd, name, value.as_ptr(), value.len(), flags)—Set extended filesystem attributes on an open file descriptor.
fstat(fd)—Queries metadata for an open file or directory.
fstatfs(fd)—Queries filesystem statistics for an open file or directory.
fstatvfs(fd)—Queries filesystem statistics for an open file or directory, POSIX version.
fsync(fd)—Ensures that file data and metadata is written to the underlying storage device.
ftruncate(fd, length)—Sets the length of a file.
futimens(fd, times)—Sets timestamps for an open file or directory.
getxattr(path, name, value.as_ptr(), value.len())—Get extended filesystem attributes.
ioctl(fd, BLKPBSZGET)—Returns the physical block size of a block device.
ioctl(fd, BLKSSZGET)—Returns the logical block size of a block device.
ioctl(fd, FICLONE, src_fd)—Share data between open files.
fcntl(fd, F_GETFL) & O_ACCMODE
lgetxattr(path, name, value.as_ptr(), value.len())—Get extended filesystem attributes, without following symlinks in the last path component.
link(old_path, new_path)—Creates a hard link.
linkat(old_dirfd, old_path, new_dirfd, new_path, flags)—Creates a hard link.
listxattr(path, list.as_ptr(), list.len())—List extended filesystem attributes.
llistxattr(path, list.as_ptr(), list.len())—List extended filesystem attributes, without following symlinks in the last path component.
lremovexattr(path, name)—Remove an extended filesystem attribute, without following symlinks in the last path component.
setxattr(path, name, value.as_ptr(), value.len(), flags)—Set extended filesystem attributes, without following symlinks in the last path component.
lstat(path)—Queries metadata for a file or directory, without following symlinks.
major(dev)
makedev(maj, min)
memfd_create(path, flags)
minor(dev)
mkdir(path, mode)—Creates a directory.
mkdirat(fd, path, mode)—Creates a directory.
mknodat(dirfd, path, mode, dev)—Creates special or normal files.
mount(source, target, filesystemtype, mountflags, data)
mount(source, target, NULL, MS_MOVE, NULL)
open(path, oflags, mode)—Opens a file.
openat(dirfd, path, oflags, mode)—Opens a file.
openat2(dirfd, path, OpenHow { oflags, mode, resolve }, sizeof(OpenHow))
readlink(path)—Reads the contents of a symlink.
readlinkat(fd, path)—Reads the contents of a symlink.
mount(source, target, NULL, MS_BIND | MS_REC, NULL)
mount(NULL, target, NULL, MS_REMOUNT | mountflags, data)
removexattr(path, name)—Remove an extended filesystem attribute.
rename(old_path, new_path)—Renames a file or directory.
renameat(old_dirfd, old_path, new_dirfd, new_path)—Renames a file or directory.
renameat2(old_dirfd, old_path, new_dirfd, new_path, flags)—Renames a file or directory.
rmdir(path)—Removes a directory.
lseek(fd, offset, whence)—Repositions a file descriptor within a file.
sendfile(out_fd, in_fd, offset, count)
setxattr(path, name, value.as_ptr(), value.len(), flags)—Set extended filesystem attributes.
stat(path)—Queries metadata for a file or directory.
fstatat(dirfd, path, flags)—Queries metadata for a file or directory.
statfs—Queries filesystem metadata.
statvfs—Queries filesystem metadata, POSIX version.
statx(dirfd, path, flags, mask, statxbuf)
symlink(old_path, new_path)—Creates a symlink.
symlinkat(old_path, new_dirfd, new_path)—Creates a symlink.
sync—Flush cached filesystem data for all filesystems.
syncfs(fd)—Flush cached filesystem data.
lseek(fd, 0, SEEK_CUR)—Returns the current position within a file.
unlink(path)—Unlinks a file.
unlinkat(fd, path, flags)—Unlinks a file or remove a directory.
umount2(target, flags)
utimensat(dirfd, path, times, flags)—Sets file or directory timestamps.

Type Definitions

dev_t
__fsword_t
A type for the tv_nsec field of Timespec.
mode_t
A type for the tv_sec field of Timespec.
struct stat for use with statat and fstat.
struct statfs for use with statfs and fstatfs.
struct statx for use with statx.
struct statx_timestamp for use with Statx.
struct timespec