diff --git a/ext/Fcntl/Fcntl.pm b/ext/Fcntl/Fcntl.pm index b4ea2ac5fdd3..b0966e6f3d89 100644 --- a/ext/Fcntl/Fcntl.pm +++ b/ext/Fcntl/Fcntl.pm @@ -1,5 +1,150 @@ package Fcntl; +use strict; + +use Exporter 'import'; +require XSLoader; +our $VERSION = '1.20'; + +XSLoader::load(); + +# Named groups of exports +our %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_IFMT S_IMODE + )], +); + +# Items to export into callers namespace by default +# (move infrequently used names to @EXPORT_OK below) +our @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 +our @EXPORT_OK = (qw( + DN_ACCESS + DN_ATTRIB + DN_CREATE + DN_DELETE + DN_MODIFY + DN_MULTISHOT + DN_RENAME + F_ADD_SEALS + F_GETLEASE + F_GETPIPE_SZ + F_GET_SEALS + F_GETSIG + F_NOTIFY + F_SEAL_FUTURE_WRITE + F_SEAL_GROW + F_SEAL_SEAL + F_SEAL_SHRINK + F_SEAL_WRITE + 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_TMPFILE + O_TTY_INIT +), map {@{$_}} values %EXPORT_TAGS); + +1; + +__END__ + =head1 NAME Fcntl - various flag constants and helper functions from C's fcntl.h @@ -847,146 +992,3 @@ By default, if you say C, the following symbols are exported: O_WRONLY =cut - -use strict; - -use Exporter 'import'; -require XSLoader; -our $VERSION = '1.19'; - -XSLoader::load(); - -# Named groups of exports -our %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_IFMT S_IMODE - )], -); - -# Items to export into callers namespace by default -# (move infrequently used names to @EXPORT_OK below) -our @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 -our @EXPORT_OK = (qw( - DN_ACCESS - DN_ATTRIB - DN_CREATE - DN_DELETE - DN_MODIFY - DN_MULTISHOT - DN_RENAME - F_ADD_SEALS - F_GETLEASE - F_GETPIPE_SZ - F_GET_SEALS - F_GETSIG - F_NOTIFY - F_SEAL_FUTURE_WRITE - F_SEAL_GROW - F_SEAL_SEAL - F_SEAL_SHRINK - F_SEAL_WRITE - 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_TMPFILE - O_TTY_INIT -), map {@{$_}} values %EXPORT_TAGS); - -1;