X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=ext%2FFcntl%2FFcntl.xs;h=bc16cc9645a0265de810ca1b7b2454f5d8fed28d;hb=c5be433b5c5658093bc9cae4434721a0b63e7a85;hp=9034031c9ca7472f2a3de5093e5a40c2226144f2;hpb=3e3baf6d63945cb64e829d6e5c70a7d00f3d3d03;p=p5sagit%2Fp5-mst-13.2.git diff --git a/ext/Fcntl/Fcntl.xs b/ext/Fcntl/Fcntl.xs index 9034031..bc16cc9 100644 --- a/ext/Fcntl/Fcntl.xs +++ b/ext/Fcntl/Fcntl.xs @@ -1,3 +1,4 @@ +#define PERL_NO_GET_CONTEXT #include "EXTERN.h" #include "perl.h" #include "XSUB.h" @@ -5,7 +6,13 @@ #ifdef VMS # include #else +#if defined(__GNUC__) && defined(__cplusplus) && defined(WIN32) +#define _NO_OLDNAMES +#endif # include +#if defined(__GNUC__) && defined(__cplusplus) && defined(WIN32) +#undef _NO_OLDNAMES +#endif #endif /* This comment is a kludge to get metaconfig to see the symbols @@ -23,17 +30,14 @@ */ static int -not_here(s) -char *s; +not_here(char *s) { croak("%s not implemented on this architecture", s); return -1; } static double -constant(name, arg) -char *name; -int arg; +constant(char *name, int arg) { errno = 0; switch (*name) { @@ -45,39 +49,57 @@ int arg; #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_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_SETFD")) -#ifdef F_SETFD - return F_SETFD; + if (strEQ(name, "F_POSIX")) +#ifdef F_POSIX + return F_POSIX; #else goto not_there; #endif - if (strEQ(name, "F_GETFL")) -#ifdef F_GETFL - return F_GETFL; + if (strEQ(name, "F_RDLCK")) +#ifdef F_RDLCK + return F_RDLCK; #else goto not_there; #endif - if (strEQ(name, "F_POSIX")) -#ifdef F_POSIX - return F_POSIX; + if (strEQ(name, "F_SETFD")) +#ifdef F_SETFD + return F_SETFD; #else goto not_there; #endif @@ -93,21 +115,33 @@ int arg; #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_RDLCK")) -#ifdef F_RDLCK - return F_RDLCK; + if (strEQ(name, "F_SHLCK")) +#ifdef F_SHLCK + return F_SHLCK; #else goto not_there; #endif @@ -150,6 +184,12 @@ int arg; #else goto not_there; #endif + if (strEQ(name, "FDEFER")) +#ifdef FDEFER + return FDEFER; +#else + goto not_there; +#endif if (strEQ(name, "FEXCL")) #ifdef FEXCL return FEXCL; @@ -214,93 +254,93 @@ int arg; break; case 'O': if (strnEQ(name, "O_", 2)) { - if (strEQ(name, "O_CREAT")) -#ifdef O_CREAT - return O_CREAT; + if (strEQ(name, "O_ACCMODE")) +#ifdef O_ACCMODE + return O_ACCMODE; #else goto not_there; #endif - if (strEQ(name, "O_EXCL")) -#ifdef O_EXCL - return O_EXCL; + if (strEQ(name, "O_APPEND")) +#ifdef O_APPEND + return O_APPEND; #else goto not_there; #endif - if (strEQ(name, "O_NOCTTY")) -#ifdef O_NOCTTY - return O_NOCTTY; + if (strEQ(name, "O_ASYNC")) +#ifdef O_ASYNC + return O_ASYNC; #else goto not_there; #endif - if (strEQ(name, "O_TRUNC")) -#ifdef O_TRUNC - return O_TRUNC; + if (strEQ(name, "O_BINARY")) +#ifdef O_BINARY + return O_BINARY; #else goto not_there; #endif - if (strEQ(name, "O_APPEND")) -#ifdef O_APPEND - return O_APPEND; + if (strEQ(name, "O_CREAT")) +#ifdef O_CREAT + return O_CREAT; #else goto not_there; #endif - if (strEQ(name, "O_NONBLOCK")) -#ifdef O_NONBLOCK - return O_NONBLOCK; + if (strEQ(name, "O_DEFER")) +#ifdef O_DEFER + return O_DEFER; #else goto not_there; #endif - if (strEQ(name, "O_NDELAY")) -#ifdef O_NDELAY - return O_NDELAY; + if (strEQ(name, "O_DSYNC")) +#ifdef O_DSYNC + return O_DSYNC; #else goto not_there; #endif - if (strEQ(name, "O_RDONLY")) -#ifdef O_RDONLY - return O_RDONLY; + if (strEQ(name, "O_EXCL")) +#ifdef O_EXCL + return O_EXCL; #else goto not_there; #endif - if (strEQ(name, "O_RDWR")) -#ifdef O_RDWR - return O_RDWR; + if (strEQ(name, "O_EXLOCK")) +#ifdef O_EXLOCK + return O_EXLOCK; #else goto not_there; #endif - if (strEQ(name, "O_WRONLY")) -#ifdef O_WRONLY - return O_WRONLY; + if (strEQ(name, "O_LARGEFILE")) +#ifdef O_LARGEFILE + return O_LARGEFILE; #else goto not_there; #endif - if (strEQ(name, "O_BINARY")) -#ifdef O_BINARY - return O_BINARY; + if (strEQ(name, "O_NDELAY")) +#ifdef O_NDELAY + return O_NDELAY; #else goto not_there; #endif - if (strEQ(name, "O_EXLOCK")) -#ifdef O_EXLOCK - return O_EXLOCK; + if (strEQ(name, "O_NOCTTY")) +#ifdef O_NOCTTY + return O_NOCTTY; #else goto not_there; #endif - if (strEQ(name, "O_SHLOCK")) -#ifdef O_SHLOCK - return O_SHLOCK; + if (strEQ(name, "O_NONBLOCK")) +#ifdef O_NONBLOCK + return O_NONBLOCK; #else goto not_there; #endif - if (strEQ(name, "O_ASYNC")) -#ifdef O_ASYNC - return O_ASYNC; + if (strEQ(name, "O_RDONLY")) +#ifdef O_RDONLY + return O_RDONLY; #else goto not_there; #endif - if (strEQ(name, "O_DSYNC")) -#ifdef O_DSYNC - return O_DSYNC; + if (strEQ(name, "O_RDWR")) +#ifdef O_RDWR + return O_RDWR; #else goto not_there; #endif @@ -310,15 +350,33 @@ int arg; #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_DEFER")) -#ifdef O_DEFER - return O_DEFER; + 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