# man > Fcntl(3pm)

## 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)](https://www.chedong.com/phpMan.php/man/fcntl/2/markdown), [open(2)](https://www.chedong.com/phpMan.php/man/open/2/markdown), [fseek(3)](https://www.chedong.com/phpMan.php/man/fseek/3/markdown), [lseek(2)](https://www.chedong.com/phpMan.php/man/lseek/2/markdown) (equal to Perl's seek() and
### sysseek
    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.

