139 lines
2.1 KiB
Perl
139 lines
2.1 KiB
Perl
package Fcntl;
|
|
|
|
use strict;
|
|
our($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS);
|
|
|
|
require Exporter;
|
|
require XSLoader;
|
|
@ISA = qw(Exporter);
|
|
$VERSION = '1.13';
|
|
|
|
XSLoader::load();
|
|
|
|
# Named groups of exports
|
|
%EXPORT_TAGS = (
|
|
'flock' => [qw(LOCK_SH LOCK_EX LOCK_NB LOCK_UN)],
|
|
'Fcompat' => [qw(FAPPEND FASYNC FCREAT FDEFER FDSYNC FEXCL FLARGEFILE
|
|
FNDELAY FNONBLOCK FRSYNC FSYNC FTRUNC)],
|
|
'seek' => [qw(SEEK_SET SEEK_CUR SEEK_END)],
|
|
'mode' => [qw(S_ISUID S_ISGID S_ISVTX S_ISTXT
|
|
_S_IFMT S_IFREG S_IFDIR S_IFLNK
|
|
S_IFSOCK S_IFBLK S_IFCHR S_IFIFO S_IFWHT S_ENFMT
|
|
S_IRUSR S_IWUSR S_IXUSR S_IRWXU
|
|
S_IRGRP S_IWGRP S_IXGRP S_IRWXG
|
|
S_IROTH S_IWOTH S_IXOTH S_IRWXO
|
|
S_IREAD S_IWRITE S_IEXEC
|
|
S_ISREG S_ISDIR S_ISLNK S_ISSOCK
|
|
S_ISBLK S_ISCHR S_ISFIFO
|
|
S_ISWHT S_ISENFMT
|
|
S_IFMT S_IMODE
|
|
)],
|
|
);
|
|
|
|
# Items to export into callers namespace by default
|
|
# (move infrequently used names to @EXPORT_OK below)
|
|
@EXPORT =
|
|
qw(
|
|
FD_CLOEXEC
|
|
F_ALLOCSP
|
|
F_ALLOCSP64
|
|
F_COMPAT
|
|
F_DUP2FD
|
|
F_DUPFD
|
|
F_EXLCK
|
|
F_FREESP
|
|
F_FREESP64
|
|
F_FSYNC
|
|
F_FSYNC64
|
|
F_GETFD
|
|
F_GETFL
|
|
F_GETLK
|
|
F_GETLK64
|
|
F_GETOWN
|
|
F_NODNY
|
|
F_POSIX
|
|
F_RDACC
|
|
F_RDDNY
|
|
F_RDLCK
|
|
F_RWACC
|
|
F_RWDNY
|
|
F_SETFD
|
|
F_SETFL
|
|
F_SETLK
|
|
F_SETLK64
|
|
F_SETLKW
|
|
F_SETLKW64
|
|
F_SETOWN
|
|
F_SHARE
|
|
F_SHLCK
|
|
F_UNLCK
|
|
F_UNSHARE
|
|
F_WRACC
|
|
F_WRDNY
|
|
F_WRLCK
|
|
O_ACCMODE
|
|
O_ALIAS
|
|
O_APPEND
|
|
O_ASYNC
|
|
O_BINARY
|
|
O_CREAT
|
|
O_DEFER
|
|
O_DIRECT
|
|
O_DIRECTORY
|
|
O_DSYNC
|
|
O_EXCL
|
|
O_EXLOCK
|
|
O_LARGEFILE
|
|
O_NDELAY
|
|
O_NOCTTY
|
|
O_NOFOLLOW
|
|
O_NOINHERIT
|
|
O_NONBLOCK
|
|
O_RANDOM
|
|
O_RAW
|
|
O_RDONLY
|
|
O_RDWR
|
|
O_RSRC
|
|
O_RSYNC
|
|
O_SEQUENTIAL
|
|
O_SHLOCK
|
|
O_SYNC
|
|
O_TEMPORARY
|
|
O_TEXT
|
|
O_TRUNC
|
|
O_WRONLY
|
|
);
|
|
|
|
# Other items we are prepared to export if requested
|
|
@EXPORT_OK = (qw(
|
|
DN_ACCESS
|
|
DN_ATTRIB
|
|
DN_CREATE
|
|
DN_DELETE
|
|
DN_MODIFY
|
|
DN_MULTISHOT
|
|
DN_RENAME
|
|
F_GETLEASE
|
|
F_GETPIPE_SZ
|
|
F_GETSIG
|
|
F_NOTIFY
|
|
F_SETLEASE
|
|
F_SETPIPE_SZ
|
|
F_SETSIG
|
|
LOCK_MAND
|
|
LOCK_READ
|
|
LOCK_RW
|
|
LOCK_WRITE
|
|
O_ALT_IO
|
|
O_EVTONLY
|
|
O_IGNORE_CTTY
|
|
O_NOATIME
|
|
O_NOLINK
|
|
O_NOSIGPIPE
|
|
O_NOTRANS
|
|
O_SYMLINK
|
|
O_TTY_INIT
|
|
), map {@{$_}} values %EXPORT_TAGS);
|
|
|
|
1;
|