Go to main content

man pages section 3: Library Interfaces and Headers

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

Fcntl (3)

Name

Fcntl - load the C Fcntl.h defines

Synopsis

use Fcntl;
use Fcntl qw(:DEFAULT :flock);

Description

Perl Programmers Reference Guide                                      Fcntl(3)



NAME
       Fcntl - load the C Fcntl.h defines

SYNOPSIS
           use Fcntl;
           use Fcntl qw(:DEFAULT :flock);

DESCRIPTION
       This module is just a translation of the C fcntl.h file.  Unlike the
       old mechanism of requiring a translated fcntl.ph file, this uses the
       h2xs 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.

NOTE
       Only "#define" symbols get translated; you must still correctly pack up
       your own arguments to pass as args for locking functions, etc.

EXPORTED SYMBOLS
       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 Exporter.

       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).

       For ease of use also the SEEK_* constants (for seek() and sysseek(),
       e.g. SEEK_END) and the S_I* constants (for chmod() and stat()) are
       available for import.  They can be imported either separately or using
       the tags ":seek" and ":mode".

       Please refer to your native fcntl(2), open(2), fseek(3), lseek(2)
       (equal to Perl's seek() and sysseek(), respectively), and chmod(2)
       documentation to see what constants are implemented in your system.

       See perlopentut to learn about the uses of the O_* constants with
       sysopen().

       See "seek" in perlfunc and "sysseek" in perlfunc about the SEEK_*
       constants.

       See "stat" in perlfunc about the S_I* constants.



ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+-----------------------+
       |ATTRIBUTE TYPE |   ATTRIBUTE VALUE     |
       +---------------+-----------------------+
       |Availability   | runtime/perl-532      |
       +---------------+-----------------------+
       |Stability      | Pass-through volatile |
       +---------------+-----------------------+

NOTES
       Source code for open source software components in Oracle Solaris can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-
       code-downloads.html.

       This software was built from source available at
       https://github.com/oracle/solaris-userland.  The original community
       source was downloaded from
       http://www.cpan.org/src/5.0/perl-5.32.0.tar.gz.

       Further information about this software can be found on the open source
       community website at https://www.perl.org/.



perl v5.32.0                      2020-06-14                          Fcntl(3)