File: //usr/share/ri/3.0.0/system/Fcntl/cdesc-Fcntl.ri
U:RDoc::NormalModule[iI"
Fcntl:ET@0o:RDoc::Markup::Document:@parts[o;;[o:RDoc::Markup::Paragraph;[I"JFcntl loads the constants defined in the system's <fcntl.h> C header ;TI"Jfile, and used with both the fcntl(2) and open(2) POSIX system calls.;To:RDoc::Markup::BlankLine o; ;[I"4To perform a fcntl(2) operation, use IO::fcntl.;T@o; ;[I"6To perform an open(2) operation, use IO::sysopen.;T@o; ;[I"IThe set of operations and constants available depends upon specific ;TI"Noperating system. Some values listed below may not be supported on your ;TI"system.;T@o; ;[I"5See your fcntl(2) man page for complete details.;T@o; ;[I"KOpen /tmp/tempfile as a write-only file that is created if it doesn't ;TI"exist:;T@o:RDoc::Markup::Verbatim;[I"require 'fcntl'
;TI"
;TI"&fd = IO.sysopen('/tmp/tempfile',
;TI"G Fcntl::O_WRONLY | Fcntl::O_EXCL | Fcntl::O_CREAT)
;TI"f = IO.open(fd)
;TI"f.syswrite("TEMP DATA")
;TI"
f.close
;T:@format0o; ;[I"Get the flags on file +s+:;T@o;;[I"$m = s.fcntl(Fcntl::F_GETFL, 0)
;T;0o; ;[I"OSet the non-blocking flag on +f+ in addition to the existing flags in +m+.;T@o;;[I"1f.fcntl(Fcntl::F_SETFL, Fcntl::O_NONBLOCK|m);T;0:
@fileI"ext/fcntl/fcntl.c;T:0@omit_headings_from_table_of_contents_below0;
0;0[ [U:RDoc::Constant[i I"F_DUPFD;TI"Fcntl::F_DUPFD;T:public0o;;[
o; ;[I"F_DUPFD;T@o; ;[I"GDuplicate a file descriptor to the minimum unused file descriptor ;TI"+greater than or equal to the argument.;T@o; ;[I"FThe close-on-exec flag of the duplicated file descriptor is set. ;TI"F(Ruby uses F_DUPFD_CLOEXEC internally if available to avoid race ;TI"Fcondition. F_SETFD is used if F_DUPFD_CLOEXEC is not available.);T;
@8;0@8@cRDoc::NormalModule0U;[i I"F_GETFD;TI"Fcntl::F_GETFD;T;0o;;[o; ;[I"F_GETFD;T@o; ;[I"6Read the close-on-exec flag of a file descriptor.;T;
@8;0@8@@M0U;[i I"F_GETLK;TI"Fcntl::F_GETLK;T;0o;;[o; ;[I"F_GETLK;T@o; ;[I"MDetermine whether a given region of a file is locked. This uses one of ;TI"the F_*LK flags.;T;
@8;0@8@@M0U;[i I"F_SETFD;TI"Fcntl::F_SETFD;T;0o;;[o; ;[I"F_SETFD;T@o; ;[I"5Set the close-on-exec flag of a file descriptor.;T;
@8;0@8@@M0U;[i I"F_GETFL;TI"Fcntl::F_GETFL;T;0o;;[o; ;[I"F_GETFL;T@o; ;[I"IGet the file descriptor flags. This will be one or more of the O_* ;TI"flags.;T;
@8;0@8@@M0U;[i I"F_SETFL;TI"Fcntl::F_SETFL;T;0o;;[o; ;[I"F_SETFL;T@o; ;[I"ISet the file descriptor flags. This will be one or more of the O_* ;TI"flags.;T;
@8;0@8@@M0U;[i I"F_SETLK;TI"Fcntl::F_SETLK;T;0o;;[o; ;[I"F_SETLK;T@o; ;[I"HAcquire a lock on a region of a file. This uses one of the F_*LCK ;TI"flags.;T;
@8;0@8@@M0U;[i I"
F_SETLKW;TI"Fcntl::F_SETLKW;T;0o;;[o; ;[I"
F_SETLKW;T@o; ;[I"LAcquire a lock on a region of a file, waiting if necessary. This uses ;TI"one of the F_*LCK flags;T;
@8;0@8@@M0U;[i I"FD_CLOEXEC;TI"Fcntl::FD_CLOEXEC;T;0o;;[o; ;[I"FD_CLOEXEC;T@o; ;[I")the value of the close-on-exec flag.;T;
@8;0@8@@M0U;[i I"F_RDLCK;TI"Fcntl::F_RDLCK;T;0o;;[o; ;[I"F_RDLCK;T@o; ;[I"%Read lock for a region of a file;T;
@8;0@8@@M0U;[i I"F_UNLCK;TI"Fcntl::F_UNLCK;T;0o;;[o; ;[I"F_UNLCK;T@o; ;[I"'Remove lock for a region of a file;T;
@8;0@8@@M0U;[i I"F_WRLCK;TI"Fcntl::F_WRLCK;T;0o;;[o; ;[I"F_WRLCK;T@o; ;[I"&Write lock for a region of a file;T;
@8;0@8@@M0U;[i I"F_SETPIPE_SZ;TI"Fcntl::F_SETPIPE_SZ;T;0o;;[o; ;[I"F_SETPIPE_SZ;T@o; ;[I"PChange the capacity of the pipe referred to by fd to be at least arg bytes.;T;
@8;0@8@@M0U;[i I"F_GETPIPE_SZ;TI"Fcntl::F_GETPIPE_SZ;T;0o;;[o; ;[I"F_GETPIPE_SZ;T@o; ;[I"PReturn (as the function result) the capacity of the pipe referred to by fd.;T;
@8;0@8@@M0U;[i I"O_CREAT;TI"Fcntl::O_CREAT;T;0o;;[o; ;[I"O_CREAT;T@o; ;[I"(Create the file if it doesn't exist;T;
@8;0@8@@M0U;[i I"O_EXCL;TI"Fcntl::O_EXCL;T;0o;;[o; ;[I"O_EXCL;T@o; ;[I"/Used with O_CREAT, fail if the file exists;T;
@8;0@8@@M0U;[i I"
O_NOCTTY;TI"Fcntl::O_NOCTTY;T;0o;;[o; ;[I"
O_NOCTTY;T@o; ;[I"5Open TTY without it becoming the controlling TTY;T;
@8;0@8@@M0U;[i I"O_TRUNC;TI"Fcntl::O_TRUNC;T;0o;;[o; ;[I"O_TRUNC;T@o; ;[I"Truncate the file on open;T;
@8;0@8@@M0U;[i I"
O_APPEND;TI"Fcntl::O_APPEND;T;0o;;[o; ;[I"
O_APPEND;T@o; ;[I"!Open the file in append mode;T;
@8;0@8@@M0U;[i I"O_NONBLOCK;TI"Fcntl::O_NONBLOCK;T;0o;;[o; ;[I"O_NONBLOCK;T@o; ;[I"'Open the file in non-blocking mode;T;
@8;0@8@@M0U;[i I"
O_NDELAY;TI"Fcntl::O_NDELAY;T;0o;;[o; ;[I"
O_NDELAY;T@o; ;[I"'Open the file in non-blocking mode;T;
@8;0@8@@M0U;[i I"
O_RDONLY;TI"Fcntl::O_RDONLY;T;0o;;[o; ;[I"
O_RDONLY;T@o; ;[I"$Open the file in read-only mode;T;
@8;0@8@@M0U;[i I"O_RDWR;TI"Fcntl::O_RDWR;T;0o;;[o; ;[I"O_RDWR;T@o; ;[I"%Open the file in read-write mode;T;
@8;0@8@@M0U;[i I"
O_WRONLY;TI"Fcntl::O_WRONLY;T;0o;;[o; ;[I"
O_WRONLY;T@o; ;[I"&Open the file in write-only mode.;T;
@8;0@8@@M0U;[i I"O_ACCMODE;TI"Fcntl::O_ACCMODE;T;0o;;[o; ;[I"O_ACCMODE;T@o; ;[I")Mask to extract the read/write flags;T;
@8;0@8@@M0[ [[I"
class;T[[;[ [:protected[ [:private[ [I"
instance;T[[;[ [;[ [;[ [ [U:RDoc::Context::Section[i 0o;;[ ;
0;0[@8@8cRDoc::TopLevel