Uring.Open_flagsFlags that can be passed to openat2.
val append : tappend repositions the file offset to the end of the file before every write. This should be used with caution with io_uring.
val cloexec : tcloexec enables the close-on-exec flag for the new fd.
val creat : tcreat implies that if the pathname does not exist, it is created as a regular file.
val direct : tdirect disables the kernel buffer cache and performs IO directly to and from the userspace buffers.
val directory : tdirectory causes the open operation to fail if the target is not a directory.
val dsync : tdsync ensures that write operations on the file complete according to the requirements of synchronised IO data integrity completion.
val excl : texcl is used alongside creat to ensure that the file is created as a result of the openat2 call, and otherwise fails with a Unix.error.EEXIST exception. The only exception where excl can be used without creat is when attempting to open block devices. If the block device is otherwise mounted, then the open will fail with Unix.error.EBUSY.
val noatime : tnoatime signals that the file access time should not be updated when the file is read from. See Statx.atime_nsec.
val noctty : tnoctty ensures that if the path refers to a tty, it will not be assigned as the controlling terminal even if one is not present.
val nofollow : tnofollow will cause the open to fail with Unix.error.ELOOP if the basename of the path is a symbolic link.
val nonblock : tnonblock will open the file in non-blocking mode.
val path : tval sync : tsync ensures that write operations on the file complete according to the requirements of synchronised IO file integrity completion.
val tmpfile : ttmpfile creates an anonymous temporary regular file. The pathname must be a directory, within which an unnamed inode will be created. If tmpfile is specified without excl, then a subsequent linkat call can move it permanently into the filesystem.
val trunc : ttrunc will set the file size to 0 if the file already exists and is a regular file and is opened for writing. If the file is a FIFO or terminal, then the flag is ignored. Use of trunc on other file types is unspecified.