Fcntl(3)
NNAAMMEE
Fcntl - load the C Fcntl.h defines
SSYYNNOOPPSSIISS
use Fcntl;
use Fcntl qw(:DEFAULT :flock);
DDEESSCCRRIIPPTTIIOONN
This module is just a translation of the C fnctl.h file.
Unlike the old mechanism of requiring a translated
fnctl.ph file, this uses the hh22xxss program (see the Perl
source distribution) and your native C compiler. This
means that it has a far more likely chance of getting the
numbers right.
NNOOTTEE
Only #define symbols get translated; you must still
correctly pack up your own arguments to pass as args for
locking functions, etc.
EEXXPPOORRTTEEDD SSYYMMBBOOLLSS
By default your system's F_* and O_* constants (eg,
F_DUPFD and O_CREAT) and the FD_CLOEXEC constant are
exported into your namespace.
You can request that the flock() constants (LOCK_SH,
LOCK_EX, LOCK_NB and LOCK_UN) be provided by using the tag
:flock. See the Exporter manpage.
You can request that the old constants (FAPPEND, FASYNC,
FCREAT, FDEFER, FEXCL, FNDELAY, FNONBLOCK, FSYNC, FTRUNC)
be provided for compatibility reasons by using the tag
:Fcompat. For new applications the newer versions of
these constants are suggested (O_APPEND, O_ASYNC, O_CREAT,
O_DEFER, O_EXCL, O_NDELAY, O_NONBLOCK, O_SYNC, O_TRUNC).
Please refer to your native fcntl() and open()
documentation to see what constants are implemented in
your system.