Fcntl loads the constants defined in the system’s <fcntl.h> C header file, and used with both the fcntl(2) and open(2) POSIX system calls.
To perform a fcntl(2) operation, use IO::fcntl.
To perform an open(2) operation, use IO::sysopen.
The set of operations and constants available depends upon specific operating system. Some values listed below may not be supported on your system.
See your fcntl(2) man page for complete details.
Open /tmp/tempfile as a write-only file that is created if it doesn’t exist:
require 'fcntl' fd = IO.sysopen('/tmp/tempfile', Fcntl::O_WRONLY | Fcntl::O_EXCL | Fcntl::O_CREAT) f = IO.open(fd) f.syswrite("TEMP DATA") f.close
Get the flags on file s:
m = s.fcntl(Fcntl::F_GETFL, 0)
Set the non-blocking flag on f in addition to the existing flags in m.
f.fcntl(Fcntl::F_SETFL, Fcntl::O_NONBLOCK|m)
macOS specific flag used with F_PREALLOCATE for allocating all contiguous space or no space.
macOS specific flag used with F_PREALLOCATE for allocating contiguous space.
macOS specific flag used with F_PREALLOCATE. Allocate space that is not freed when close is called.
the value of the close-on-exec flag.
It is a FreeBSD specific constant and equivalent to dup2 call.
It is a FreeBSD specific constant and acts similarly as F_DUP2FD but set the FD_CLOEXEC flag in addition.
Read the close-on-exec flag of a file descriptor.
Get the file descriptor flags. This will be one or more of the O_* flags.
Determine whether a given region of a file is locked. This uses one of the F_*LK flags.
Return (as the function result) the capacity of the pipe referred to by fd.
macOS specific flag used with F_PREALLOCATE. Allocate from the physical end of file
macOS specific flag used for preallocating file space.
Read lock for a region of a file
Acquire a lock on a region of a file. This uses one of the F_*LCK flags.
Acquire a lock on a region of a file, waiting if necessary. This uses one of the F_*LCK flags
Change the capacity of the pipe referred to by fd to be at least arg bytes.
Remove lock for a region of a file
macOS specific flag used with F_PREALLOCATE. Allocate from the volume offset.
Write lock for a region of a file
Mask to extract the read/write flags
Open the file in append mode
Create the file if it doesn’t exist
Open the file in non-blocking mode
Open TTY without it becoming the controlling TTY
Open the file in non-blocking mode
Open the file in read-only mode
Open the file in read-write mode
Truncate the file on open
Open the file in write-only mode.
The version string.