summaryrefslogtreecommitdiffstats
path: root/contrib/perl5/ext/Fcntl/Fcntl.xs
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/perl5/ext/Fcntl/Fcntl.xs')
-rw-r--r--contrib/perl5/ext/Fcntl/Fcntl.xs780
1 files changed, 0 insertions, 780 deletions
diff --git a/contrib/perl5/ext/Fcntl/Fcntl.xs b/contrib/perl5/ext/Fcntl/Fcntl.xs
deleted file mode 100644
index 51851bb..0000000
--- a/contrib/perl5/ext/Fcntl/Fcntl.xs
+++ /dev/null
@@ -1,780 +0,0 @@
-#define PERL_NO_GET_CONTEXT
-#include "EXTERN.h"
-#include "perl.h"
-#include "XSUB.h"
-
-#ifdef VMS
-# include <file.h>
-#else
-#if defined(__GNUC__) && defined(__cplusplus) && defined(WIN32)
-#define _NO_OLDNAMES
-#endif
-# include <fcntl.h>
-#if defined(__GNUC__) && defined(__cplusplus) && defined(WIN32)
-#undef _NO_OLDNAMES
-#endif
-#endif
-
-#ifdef I_UNISTD
-#include <unistd.h>
-#endif
-
-/* This comment is a kludge to get metaconfig to see the symbols
- VAL_O_NONBLOCK
- VAL_EAGAIN
- RD_NODATA
- EOF_NONBLOCK
- and include the appropriate metaconfig unit
- so that Configure will test how to turn on non-blocking I/O
- for a file descriptor. See config.h for how to use these
- in your extension.
-
- While I'm at it, I'll have metaconfig look for HAS_POLL too.
- --AD October 16, 1995
-*/
-
-static double
-constant(char *name, int arg)
-{
- errno = 0;
- switch (*name) {
- case '_':
- if (strEQ(name, "_S_IFMT")) /* Yes, on name _S_IFMT return S_IFMT. */
-#ifdef S_IFMT
- return S_IFMT;
-#else
- goto not_there;
-#endif
- break;
- case 'F':
- if (strnEQ(name, "F_", 2)) {
- if (strEQ(name, "F_ALLOCSP"))
-#ifdef F_ALLOCSP
- return F_ALLOCSP;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "F_ALLOCSP64"))
-#ifdef F_ALLOCSP64
- return F_ALLOCSP64;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "F_COMPAT"))
-#ifdef F_COMPAT
- return F_COMPAT;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "F_DUP2FD"))
-#ifdef F_DUP2FD
- return F_DUP2FD;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "F_DUPFD"))
-#ifdef F_DUPFD
- return F_DUPFD;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "F_EXLCK"))
-#ifdef F_EXLCK
- return F_EXLCK;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "F_FREESP"))
-#ifdef F_FREESP
- return F_FREESP;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "F_FREESP64"))
-#ifdef F_FREESP64
- return F_FREESP64;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "F_FSYNC"))
-#ifdef F_FSYNC
- return F_FSYNC;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "F_FSYNC64"))
-#ifdef F_FSYNC64
- return F_FSYNC64;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "F_GETFD"))
-#ifdef F_GETFD
- return F_GETFD;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "F_GETFL"))
-#ifdef F_GETFL
- return F_GETFL;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "F_GETLK"))
-#ifdef F_GETLK
- return F_GETLK;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "F_GETLK64"))
-#ifdef F_GETLK64
- return F_GETLK64;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "F_GETOWN"))
-#ifdef F_GETOWN
- return F_GETOWN;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "F_NODNY"))
-#ifdef F_NODNY
- return F_NODNY;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "F_POSIX"))
-#ifdef F_POSIX
- return F_POSIX;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "F_RDACC"))
-#ifdef F_RDACC
- return F_RDACC;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "F_RDDNY"))
-#ifdef F_RDDNY
- return F_RDDNY;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "F_RDLCK"))
-#ifdef F_RDLCK
- return F_RDLCK;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "F_RWACC"))
-#ifdef F_RWACC
- return F_RWACC;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "F_RWDNY"))
-#ifdef F_RWDNY
- return F_RWDNY;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "F_SETFD"))
-#ifdef F_SETFD
- return F_SETFD;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "F_SETFL"))
-#ifdef F_SETFL
- return F_SETFL;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "F_SETLK"))
-#ifdef F_SETLK
- return F_SETLK;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "F_SETLK64"))
-#ifdef F_SETLK64
- return F_SETLK64;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "F_SETLKW"))
-#ifdef F_SETLKW
- return F_SETLKW;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "F_SETLKW64"))
-#ifdef F_SETLKW64
- return F_SETLKW64;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "F_SETOWN"))
-#ifdef F_SETOWN
- return F_SETOWN;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "F_SHARE"))
-#ifdef F_SHARE
- return F_SHARE;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "F_SHLCK"))
-#ifdef F_SHLCK
- return F_SHLCK;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "F_UNLCK"))
-#ifdef F_UNLCK
- return F_UNLCK;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "F_UNSHARE"))
-#ifdef F_UNSHARE
- return F_UNSHARE;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "F_WRACC"))
-#ifdef F_WRACC
- return F_WRACC;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "F_WRDNY"))
-#ifdef F_WRDNY
- return F_WRDNY;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "F_WRLCK"))
-#ifdef F_WRLCK
- return F_WRLCK;
-#else
- goto not_there;
-#endif
- errno = EINVAL;
- return 0;
- }
- if (strEQ(name, "FAPPEND"))
-#ifdef FAPPEND
- return FAPPEND;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "FASYNC"))
-#ifdef FASYNC
- return FASYNC;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "FCREAT"))
-#ifdef FCREAT
- return FCREAT;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "FD_CLOEXEC"))
-#ifdef FD_CLOEXEC
- return FD_CLOEXEC;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "FDEFER"))
-#ifdef FDEFER
- return FDEFER;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "FDSYNC"))
-#ifdef FDSYNC
- return FDSYNC;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "FEXCL"))
-#ifdef FEXCL
- return FEXCL;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "FLARGEFILE"))
-#ifdef FLARGEFILE
- return FLARGEFILE;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "FNDELAY"))
-#ifdef FNDELAY
- return FNDELAY;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "FNONBLOCK"))
-#ifdef FNONBLOCK
- return FNONBLOCK;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "FRSYNC"))
-#ifdef FRSYNC
- return FRSYNC;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "FSYNC"))
-#ifdef FSYNC
- return FSYNC;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "FTRUNC"))
-#ifdef FTRUNC
- return FTRUNC;
-#else
- goto not_there;
-#endif
- break;
- case 'L':
- if (strnEQ(name, "LOCK_", 5)) {
- /* We support flock() on systems which don't have it, so
- always supply the constants. */
- if (strEQ(name, "LOCK_SH"))
-#ifdef LOCK_SH
- return LOCK_SH;
-#else
- return 1;
-#endif
- if (strEQ(name, "LOCK_EX"))
-#ifdef LOCK_EX
- return LOCK_EX;
-#else
- return 2;
-#endif
- if (strEQ(name, "LOCK_NB"))
-#ifdef LOCK_NB
- return LOCK_NB;
-#else
- return 4;
-#endif
- if (strEQ(name, "LOCK_UN"))
-#ifdef LOCK_UN
- return LOCK_UN;
-#else
- return 8;
-#endif
- } else
- goto not_there;
- break;
- case 'O':
- if (strnEQ(name, "O_", 2)) {
- if (strEQ(name, "O_ACCMODE"))
-#ifdef O_ACCMODE
- return O_ACCMODE;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "O_APPEND"))
-#ifdef O_APPEND
- return O_APPEND;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "O_ASYNC"))
-#ifdef O_ASYNC
- return O_ASYNC;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "O_BINARY"))
-#ifdef O_BINARY
- return O_BINARY;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "O_CREAT"))
-#ifdef O_CREAT
- return O_CREAT;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "O_DEFER"))
-#ifdef O_DEFER
- return O_DEFER;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "O_DIRECT"))
-#ifdef O_DIRECT
- return O_DIRECT;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "O_DIRECTORY"))
-#ifdef O_DIRECTORY
- return O_DIRECTORY;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "O_DSYNC"))
-#ifdef O_DSYNC
- return O_DSYNC;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "O_EXCL"))
-#ifdef O_EXCL
- return O_EXCL;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "O_EXLOCK"))
-#ifdef O_EXLOCK
- return O_EXLOCK;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "O_LARGEFILE"))
-#ifdef O_LARGEFILE
- return O_LARGEFILE;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "O_NDELAY"))
-#ifdef O_NDELAY
- return O_NDELAY;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "O_NOCTTY"))
-#ifdef O_NOCTTY
- return O_NOCTTY;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "O_NOFOLLOW"))
-#ifdef O_NOFOLLOW
- return O_NOFOLLOW;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "O_NOINHERIT"))
-#ifdef O_NOINHERIT
- return O_NOINHERIT;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "O_NONBLOCK"))
-#ifdef O_NONBLOCK
- return O_NONBLOCK;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "O_RANDOM"))
-#ifdef O_RANDOM
- return O_RANDOM;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "O_RAW"))
-#ifdef O_RAW
- return O_RAW;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "O_RDONLY"))
-#ifdef O_RDONLY
- return O_RDONLY;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "O_RDWR"))
-#ifdef O_RDWR
- return O_RDWR;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "O_RSYNC"))
-#ifdef O_RSYNC
- return O_RSYNC;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "O_SEQUENTIAL"))
-#ifdef O_SEQUENTIAL
- return O_SEQUENTIAL;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "O_SHLOCK"))
-#ifdef O_SHLOCK
- return O_SHLOCK;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "O_SYNC"))
-#ifdef O_SYNC
- return O_SYNC;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "O_TEMPORARY"))
-#ifdef O_TEMPORARY
- return O_TEMPORARY;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "O_TEXT"))
-#ifdef O_TEXT
- return O_TEXT;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "O_TRUNC"))
-#ifdef O_TRUNC
- return O_TRUNC;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "O_WRONLY"))
-#ifdef O_WRONLY
- return O_WRONLY;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "O_ALIAS"))
-#ifdef O_ALIAS
- return O_ALIAS;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "O_RSRC"))
-#ifdef O_RSRC
- return O_RSRC;
-#else
- goto not_there;
-#endif
- } else
- goto not_there;
- break;
- case 'S':
- switch (name[1]) {
- case '_':
- if (strEQ(name, "S_ISUID"))
-#ifdef S_ISUID
- return S_ISUID;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "S_ISGID"))
-#ifdef S_ISGID
- return S_ISGID;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "S_ISVTX"))
-#ifdef S_ISVTX
- return S_ISVTX;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "S_ISTXT"))
-#ifdef S_ISTXT
- return S_ISTXT;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "S_IFREG"))
-#ifdef S_IFREG
- return S_IFREG;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "S_IFDIR"))
-#ifdef S_IFDIR
- return S_IFDIR;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "S_IFLNK"))
-#ifdef S_IFLNK
- return S_IFLNK;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "S_IFSOCK"))
-#ifdef S_IFSOCK
- return S_IFSOCK;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "S_IFBLK"))
-#ifdef S_IFBLK
- return S_IFBLK;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "S_IFCHR"))
-#ifdef S_IFCHR
- return S_IFCHR;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "S_IFIFO"))
-#ifdef S_IFIFO
- return S_IFIFO;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "S_IFWHT"))
-#ifdef S_IFWHT
- return S_IFWHT;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "S_ENFMT"))
-#ifdef S_ENFMT
- return S_ENFMT;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "S_IRUSR"))
-#ifdef S_IRUSR
- return S_IRUSR;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "S_IWUSR"))
-#ifdef S_IWUSR
- return S_IWUSR;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "S_IXUSR"))
-#ifdef S_IXUSR
- return S_IXUSR;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "S_IRWXU"))
-#ifdef S_IRWXU
- return S_IRWXU;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "S_IRGRP"))
-#ifdef S_IRGRP
- return S_IRGRP;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "S_IWGRP"))
-#ifdef S_IWGRP
- return S_IWGRP;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "S_IXGRP"))
-#ifdef S_IXGRP
- return S_IXGRP;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "S_IRWXG"))
-#ifdef S_IRWXG
- return S_IRWXG;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "S_IROTH"))
-#ifdef S_IROTH
- return S_IROTH;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "S_IWOTH"))
-#ifdef S_IWOTH
- return S_IWOTH;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "S_IXOTH"))
-#ifdef S_IXOTH
- return S_IXOTH;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "S_IRWXO"))
-#ifdef S_IRWXO
- return S_IRWXO;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "S_IREAD"))
-#ifdef S_IREAD
- return S_IREAD;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "S_IWRITE"))
-#ifdef S_IWRITE
- return S_IWRITE;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "S_IEXEC"))
-#ifdef S_IEXEC
- return S_IEXEC;
-#else
- goto not_there;
-#endif
- break;
- case 'E':
- if (strEQ(name, "SEEK_CUR"))
-#ifdef SEEK_CUR
- return SEEK_CUR;
-#else
- return 1;
-#endif
- if (strEQ(name, "SEEK_END"))
-#ifdef SEEK_END
- return SEEK_END;
-#else
- return 2;
-#endif
- if (strEQ(name, "SEEK_SET"))
-#ifdef SEEK_SET
- return SEEK_SET;
-#else
- return 0;
-#endif
- break;
- }
- }
- errno = EINVAL;
- return 0;
-
-not_there:
- errno = ENOENT;
- return 0;
-}
-
-
-MODULE = Fcntl PACKAGE = Fcntl
-
-double
-constant(name,arg)
- char * name
- int arg
-
OpenPOWER on IntegriCloud