Module posish::fs[][src]

Expand description

Filesystem operations.

Structs

Access

*_OK constants for use with accessat.

AtFlags

AT_* constants.

Dir

DIR*

Entry

struct dirent

FdFlags

FD_* constants.

MemfdFlags

MFD_* constants.

Mode

S_I* constants.

OFlags

O_* constants.

ResolveFlags

RESOLVE_* constants.

SeekLoc

A location for use with Dir::seek.

Enums

Advice

POSIX_FADV_* constants.

FileType

S_IF* constants.

Constants

PROC_SUPER_MAGIC

The filesystem magic number for procfs. https://man7.org/linux/man-pages/man2/fstatfs.2.html#DESCRIPTION

UTIME_NOW

Re-export UTIME_NOW and UTIME_OMIT.

UTIME_OMIT

Re-export UTIME_NOW and UTIME_OMIT.

Traits

DirEntryExt

Re-export types common to Posix-ish platforms.

FileExt

Re-export types common to Posix-ish platforms.

FileTypeExt

Re-export types common to Posix-ish platforms.

MetadataExt

Re-export types common to Posix-ish platforms.

OpenOptionsExt

Re-export types common to Posix-ish platforms.

Functions

accessat

faccessat(dirfd, path, access, flags)

chmodat

fchmodat(dirfd, path, mode, 0)

copy_file_range

copy_file_range(fd_in, off_in, fd_out, off_out, len, 0)

cwd

Return a “file” which holds a handle which refers to the process current directory (AT_FDCWD). It is a ManuallyDrop, however the caller should not drop it explicitly, as it refers to an ambient authority rather than an open resource.

fadvise

posix_fadvise(fd, offset, len, advice)

fchmod

fchmod(fd).

fcntl_get_seals

fcntl(fd, F_GET_SEALS)

fcntl_getfd

fcntl(fd, F_GETFD)

fcntl_getfl

fcntl(fd, F_GETFL)

fcntl_setfd

fcntl(fd, F_SETFD, flags)

fcntl_setfl

fcntl(fd, F_SETFL, flags)

fstatfs

fstatfs(fd)

futimens

futimens(fd, times)

is_file_read_write

fcntl(fd, F_GETFL) & O_ACCMODE. Returns a pair of booleans indicating whether the file descriptor is readable and/or writeable, respectively. This is only reliable on files; for example, it doesn’t reflect whether sockets have been shut down; for general I/O handle support, use crate::io::is_read_write.

linkat

linkat(old_dirfd, old_path, new_dirfd, new_path, flags)

major

major(dev)

makedev

makedev(maj, min)

memfd_create

memfd_create(path, flags)

minor

minor(dev)

mkdirat

mkdirat(fd, path, mode)

openat

openat(dirfd, path, oflags, mode)

openat2

openat2(dirfd, path, OpenHow { oflags, mode, resolve }, sizeof(OpenHow))

posix_fallocate

posix_fallocate(fd, offset, len)

readlinkat

readlinkat(fd, path)

renameat

renameat(old_dirfd, old_path, new_dirfd, new_path)

seek

lseek(fd, offset, whence)

statat

fstatat(dirfd, path, flags)

statx

statx(dirfd, path, flags, mask, statxbuf). Note that this isn’t available on older Linux; returns ENOSYS in that case.

symlinkat

symlinkat(old_dirfd, old_path, new_dirfd, new_path)

tell

lseek(fd, 0, SEEK_CUR)

unlinkat

unlinkat(fd, path, flags)

utimensat

utimensat(dirfd, path, times, flags)

Type Definitions

FsWord

Re-export __fsword_t.

RawMode

Re-export mode_t.

Stat

Re-export stat (or stat64 where applicable).

StatFs

Re-export stat (or stat64 where applicable).

Statx

Re-export statx. Only available on Linux with GLIBC for now.