Expand description
Filesystem operations.
Modules§
- abs 🔒
 - POSIX-style filesystem functions which operate on bare paths.
 - at 🔒
 - POSIX-style 
*atfunctions. - constants 🔒
 - Filesystem API constants, translated into 
bitflagsconstants. - copy_
file_ 🔒range  - dir 🔒
 DirandDirEntry.- fadvise 🔒
 - fcntl 🔒
 - The Unix 
fcntlfunction is effectively lots of different functions hidden behind a single dynamic dispatch interface. In order to provide a type-safe API, rustix makes them all separate functions so that they can have dedicated static type signatures. - fd 🔒
 - Functions which operate on file descriptors.
 - id 🔒
 - inotify
 - inotify support for working with inotify objects.
 - ioctl 🔒
 - Filesystem-oriented 
ioctlfunctions. - makedev 🔒
 - memfd_
create 🔒 - openat2 🔒
 - raw_dir 🔒
 RawDirandRawDirEntry.- seek_
from 🔒 - The following is derived from Rust’s library/std/src/io/mod.rs at revision dca3f1b786efd27be3b325ed1e01e247aa589c3b.
 - sendfile 🔒
 - special 🔒
 - The 
CWDandABSconstants, representing the current working directory and absolute-only paths, respectively. - statx 🔒
 - Linux 
statx. - sync 🔒
 - xattr 🔒
 - Extended attribute functions.
 
Structs§
- Access
 *_OKconstants for use withaccessat.- AtFlags
 AT_*constants for use withopenat,statat, and other*atfunctions.- Dir
 DIR*- DirEntry
 struct dirent- Fallocate
Flags  FALLOC_FL_*constants for use withfallocate.- Fsid
 fsid_tfor use withStatFs.- 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_sealsandfcntl_get_seals.- Stat
 struct statfor use withstatatandfstat.- StatFs
 struct statfsfor use withstatfsandfstatfs.- StatVfs
 struct statvfsfor use withstatvfsandfstatvfs.- Stat
VfsMount Flags  ST_*constants for use withStatVfs.- Statx
 struct statxfor use withstatx.- Statx
Attributes  STATX_ATTR_*flags for use withStatx.- Statx
Flags  STATX_*constants for use withstatx.- Statx
Timestamp  struct statx_timestampfor use withStatx.- Timespec
 struct timespec—A quantity of time in seconds plus nanoseconds.- Timestamps
 - Timestamps used by 
utimensatandfutimens. - Uid
 uid_t—A Unix user ID.- Xattr
Flags  XATTR_*constants for use withsetxattr, and other*setxattrfunctions.
Enums§
- Advice
 POSIX_FADV_*constants for use withfadvise.- File
Type  S_IF*constants for use withmknodatandStat’sst_modefield.- Flock
Operation  LOCK_*constants for use withflockandfcntl_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_NOWfor use withutimensat.- UTIME_
OMIT  UTIME_OMITfor 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. 
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.- 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)—Add seals tofd’s inode.- fcntl_
get_ seals  fcntl(fd, F_GET_SEALS)—Return the seals forfd’s inode.- 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)—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- 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)—Compute the major ID of a given device ID.- makedev
 makedev(maj, min)—Compute a device ID from a given major and minor ID.- memfd_
create  memfd_create(name, flags)—Create an anonymous file.- minor
 minor(dev)—Compute the minor ID of a given device ID.- mkdir
 mkdir(path, mode)—Creates a directory.- mkdirat
 mkdirat(fd, path, mode)—Creates a directory.- mkfifoat
 mkfifoat(dirfd, path, mode)—Make a FIFO special file.- 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))— Opens a file with more options.- 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)—Transfer data between file descriptors.- 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)—Extendedstat.- 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.