return -1;
}
-static
-NV
-constant(char *name, int arg)
-{
- errno = 0;
- switch (*name) {
- case 'A':
- if (strEQ(name, "ARG_MAX"))
-#ifdef ARG_MAX
- return ARG_MAX;
+#define PERL_constant_NOTFOUND 1
+#define PERL_constant_NOTDEF 2
+#define PERL_constant_ISIV 3
+#define PERL_constant_ISNO 4
+#define PERL_constant_ISNV 5
+#define PERL_constant_ISPV 6
+#define PERL_constant_ISPVN 7
+#define PERL_constant_ISUNDEF 8
+#define PERL_constant_ISUV 9
+#define PERL_constant_ISYES 10
+
+/* These were implemented in the old "constant" subroutine. They are actually
+ macros that take an integer argument and return an integer result. */
+static int
+int_macro_int (const char *name, STRLEN len, IV *arg_result) {
+ /* Initially switch on the length of the name. */
+ /* This code has been edited from a "constant" function generated by:
+
+use ExtUtils::Constant qw (constant_types C_constant XS_constant);
+
+my $types = {map {($_, 1)} qw(IV)};
+my @names = (qw(S_ISBLK S_ISCHR S_ISDIR S_ISFIFO S_ISREG WEXITSTATUS WIFEXITED
+ WIFSIGNALED WIFSTOPPED WSTOPSIG WTERMSIG));
+
+print constant_types(); # macro defs
+foreach (C_constant ("POSIX", 'int_macro_int', 'IV', $types, undef, 5, @names) ) {
+ print $_, "\n"; # C constant subs
+}
+print "#### XS Section:\n";
+print XS_constant ("POSIX", $types);
+__END__
+ */
+
+ switch (len) {
+ case 7:
+ /* Names all of length 7. */
+ /* S_ISBLK S_ISCHR S_ISDIR S_ISREG */
+ /* Offset 5 gives the best switch position. */
+ switch (name[5]) {
+ case 'E':
+ if (memEQ(name, "S_ISREG", 7)) {
+ /* ^ */
+#ifdef S_ISREG
+ *arg_result = S_ISREG(*arg_result);
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- break;
- case 'B':
- if (strEQ(name, "BUFSIZ"))
-#ifdef BUFSIZ
- return BUFSIZ;
+ }
+ break;
+ case 'H':
+ if (memEQ(name, "S_ISCHR", 7)) {
+ /* ^ */
+#ifdef S_ISCHR
+ *arg_result = S_ISCHR(*arg_result);
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "BRKINT"))
-#ifdef BRKINT
- return BRKINT;
+ }
+ break;
+ case 'I':
+ if (memEQ(name, "S_ISDIR", 7)) {
+ /* ^ */
+#ifdef S_ISDIR
+ *arg_result = S_ISDIR(*arg_result);
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "B9600"))
-#ifdef B9600
- return B9600;
+ }
+ break;
+ case 'L':
+ if (memEQ(name, "S_ISBLK", 7)) {
+ /* ^ */
+#ifdef S_ISBLK
+ *arg_result = S_ISBLK(*arg_result);
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "B19200"))
-#ifdef B19200
- return B19200;
+ }
+ break;
+ }
+ break;
+ case 8:
+ /* Names all of length 8. */
+ /* S_ISFIFO WSTOPSIG WTERMSIG */
+ /* Offset 3 gives the best switch position. */
+ switch (name[3]) {
+ case 'O':
+ if (memEQ(name, "WSTOPSIG", 8)) {
+ /* ^ */
+#ifdef WSTOPSIG
+ *arg_result = WSTOPSIG(*arg_result);
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "B38400"))
-#ifdef B38400
- return B38400;
+ }
+ break;
+ case 'R':
+ if (memEQ(name, "WTERMSIG", 8)) {
+ /* ^ */
+#ifdef WTERMSIG
+ *arg_result = WTERMSIG(*arg_result);
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "B0"))
-#ifdef B0
- return B0;
+ }
+ break;
+ case 'S':
+ if (memEQ(name, "S_ISFIFO", 8)) {
+ /* ^ */
+#ifdef S_ISFIFO
+ *arg_result = S_ISFIFO(*arg_result);
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "B110"))
-#ifdef B110
- return B110;
+ }
+ break;
+ }
+ break;
+ case 9:
+ if (memEQ(name, "WIFEXITED", 9)) {
+#ifdef WIFEXITED
+ *arg_result = WIFEXITED(*arg_result);
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "B1200"))
-#ifdef B1200
- return B1200;
+ }
+ break;
+ case 10:
+ if (memEQ(name, "WIFSTOPPED", 10)) {
+#ifdef WIFSTOPPED
+ *arg_result = WIFSTOPPED(*arg_result);
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "B134"))
-#ifdef B134
- return B134;
+ }
+ break;
+ case 11:
+ /* Names all of length 11. */
+ /* WEXITSTATUS WIFSIGNALED */
+ /* Offset 1 gives the best switch position. */
+ switch (name[1]) {
+ case 'E':
+ if (memEQ(name, "WEXITSTATUS", 11)) {
+ /* ^ */
+#ifdef WEXITSTATUS
+ *arg_result = WEXITSTATUS(*arg_result);
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "B150"))
-#ifdef B150
- return B150;
+ }
+ break;
+ case 'I':
+ if (memEQ(name, "WIFSIGNALED", 11)) {
+ /* ^ */
+#ifdef WIFSIGNALED
+ *arg_result = WIFSIGNALED(*arg_result);
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "B1800"))
-#ifdef B1800
- return B1800;
+ }
+ break;
+ }
+ break;
+ }
+ return PERL_constant_NOTFOUND;
+}
+
+static int
+constant_3 (const char *name, IV *iv_return, NV *nv_return) {
+ /* When generated this function returned values for the list of names given
+ here. However, subsequent manual editing may have added or removed some.
+ B50 B75 CS5 CS6 CS7 CS8 EIO EOF */
+ /* Offset 2 gives the best switch position. */
+ switch (name[2]) {
+ case '0':
+ if (memEQ(name, "B50", 3)) {
+ /* ^ */
+#ifdef B50
+ *iv_return = B50;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "B200"))
-#ifdef B200
- return B200;
+ }
+ break;
+ case '5':
+ if (memEQ(name, "B75", 3)) {
+ /* ^ */
+#ifdef B75
+ *iv_return = B75;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "B2400"))
-#ifdef B2400
- return B2400;
+ }
+ if (memEQ(name, "CS5", 3)) {
+ /* ^ */
+#ifdef CS5
+ *iv_return = CS5;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "B300"))
-#ifdef B300
- return B300;
+ }
+ break;
+ case '6':
+ if (memEQ(name, "CS6", 3)) {
+ /* ^ */
+#ifdef CS6
+ *iv_return = CS6;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "B4800"))
-#ifdef B4800
- return B4800;
+ }
+ break;
+ case '7':
+ if (memEQ(name, "CS7", 3)) {
+ /* ^ */
+#ifdef CS7
+ *iv_return = CS7;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "B50"))
-#ifdef B50
- return B50;
+ }
+ break;
+ case '8':
+ if (memEQ(name, "CS8", 3)) {
+ /* ^ */
+#ifdef CS8
+ *iv_return = CS8;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "B600"))
-#ifdef B600
- return B600;
+ }
+ break;
+ case 'F':
+ if (memEQ(name, "EOF", 3)) {
+ /* ^ */
+#ifdef EOF
+ *iv_return = EOF;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "B75"))
-#ifdef B75
- return B75;
+ }
+ break;
+ case 'O':
+ if (memEQ(name, "EIO", 3)) {
+ /* ^ */
+#ifdef EIO
+ *iv_return = EIO;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- break;
- case 'C':
- if (strEQ(name, "CHAR_BIT"))
-#ifdef CHAR_BIT
- return CHAR_BIT;
+ }
+ break;
+ }
+ return PERL_constant_NOTFOUND;
+}
+
+static int
+constant_4 (const char *name, IV *iv_return, NV *nv_return) {
+ /* When generated this function returned values for the list of names given
+ here. However, subsequent manual editing may have added or removed some.
+ B110 B134 B150 B200 B300 B600 ECHO EDOM F_OK ISIG IXON NCCS NULL R_OK VEOF
+ VEOL VMIN W_OK X_OK */
+ /* Offset 1 gives the best switch position. */
+ switch (name[1]) {
+ case '1':
+ if (memEQ(name, "B110", 4)) {
+ /* ^ */
+#ifdef B110
+ *iv_return = B110;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "CHAR_MAX"))
-#ifdef CHAR_MAX
- return CHAR_MAX;
+ }
+ if (memEQ(name, "B134", 4)) {
+ /* ^ */
+#ifdef B134
+ *iv_return = B134;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "CHAR_MIN"))
-#ifdef CHAR_MIN
- return CHAR_MIN;
+ }
+ if (memEQ(name, "B150", 4)) {
+ /* ^ */
+#ifdef B150
+ *iv_return = B150;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "CHILD_MAX"))
-#ifdef CHILD_MAX
- return CHILD_MAX;
+ }
+ break;
+ case '2':
+ if (memEQ(name, "B200", 4)) {
+ /* ^ */
+#ifdef B200
+ *iv_return = B200;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "CLK_TCK"))
-#ifdef CLK_TCK
- return CLK_TCK;
+ }
+ break;
+ case '3':
+ if (memEQ(name, "B300", 4)) {
+ /* ^ */
+#ifdef B300
+ *iv_return = B300;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "CLOCAL"))
-#ifdef CLOCAL
- return CLOCAL;
+ }
+ break;
+ case '6':
+ if (memEQ(name, "B600", 4)) {
+ /* ^ */
+#ifdef B600
+ *iv_return = B600;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "CLOCKS_PER_SEC"))
-#ifdef CLOCKS_PER_SEC
- return CLOCKS_PER_SEC;
+ }
+ break;
+ case 'C':
+ if (memEQ(name, "ECHO", 4)) {
+ /* ^ */
+#ifdef ECHO
+ *iv_return = ECHO;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "CREAD"))
-#ifdef CREAD
- return CREAD;
+ }
+ if (memEQ(name, "NCCS", 4)) {
+ /* ^ */
+#ifdef NCCS
+ *iv_return = NCCS;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "CS5"))
-#ifdef CS5
- return CS5;
+ }
+ break;
+ case 'D':
+ if (memEQ(name, "EDOM", 4)) {
+ /* ^ */
+#ifdef EDOM
+ *iv_return = EDOM;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "CS6"))
-#ifdef CS6
- return CS6;
+ }
+ break;
+ case 'E':
+ if (memEQ(name, "VEOF", 4)) {
+ /* ^ */
+#ifdef VEOF
+ *iv_return = VEOF;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "CS7"))
-#ifdef CS7
- return CS7;
+ }
+ if (memEQ(name, "VEOL", 4)) {
+ /* ^ */
+#ifdef VEOL
+ *iv_return = VEOL;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "CS8"))
-#ifdef CS8
- return CS8;
+ }
+ break;
+ case 'M':
+ if (memEQ(name, "VMIN", 4)) {
+ /* ^ */
+#ifdef VMIN
+ *iv_return = VMIN;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "CSIZE"))
-#ifdef CSIZE
- return CSIZE;
+ }
+ break;
+ case 'S':
+ if (memEQ(name, "ISIG", 4)) {
+ /* ^ */
+#ifdef ISIG
+ *iv_return = ISIG;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "CSTOPB"))
-#ifdef CSTOPB
- return CSTOPB;
+ }
+ break;
+ case 'U':
+ if (memEQ(name, "NULL", 4)) {
+ /* ^ */
+#ifdef NULL
+ *iv_return = 0;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- break;
- case 'D':
- if (strEQ(name, "DBL_MAX"))
-#ifdef DBL_MAX
- return DBL_MAX;
+ }
+ break;
+ case 'X':
+ if (memEQ(name, "IXON", 4)) {
+ /* ^ */
+#ifdef IXON
+ *iv_return = IXON;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "DBL_MIN"))
-#ifdef DBL_MIN
- return DBL_MIN;
+ }
+ break;
+ case '_':
+ if (memEQ(name, "F_OK", 4)) {
+ /* ^ */
+#ifdef F_OK
+ *iv_return = F_OK;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "DBL_DIG"))
-#ifdef DBL_DIG
- return DBL_DIG;
+ }
+ if (memEQ(name, "R_OK", 4)) {
+ /* ^ */
+#ifdef R_OK
+ *iv_return = R_OK;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "DBL_EPSILON"))
-#ifdef DBL_EPSILON
- return DBL_EPSILON;
+ }
+ if (memEQ(name, "W_OK", 4)) {
+ /* ^ */
+#ifdef W_OK
+ *iv_return = W_OK;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "DBL_MANT_DIG"))
-#ifdef DBL_MANT_DIG
- return DBL_MANT_DIG;
+ }
+ if (memEQ(name, "X_OK", 4)) {
+ /* ^ */
+#ifdef X_OK
+ *iv_return = X_OK;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "DBL_MAX_10_EXP"))
-#ifdef DBL_MAX_10_EXP
- return DBL_MAX_10_EXP;
+ }
+ break;
+ }
+ return PERL_constant_NOTFOUND;
+}
+
+static int
+constant_5 (const char *name, IV *iv_return, NV *nv_return) {
+ /* When generated this function returned values for the list of names given
+ here. However, subsequent manual editing may have added or removed some.
+ B1200 B1800 B2400 B4800 B9600 CREAD CSIZE E2BIG EBADF EBUSY ECHOE ECHOK
+ EFBIG EINTR ELOOP ENXIO EPERM EPIPE EROFS ESRCH EXDEV HUPCL ICRNL IGNCR
+ INLCR INPCK IXOFF OPOST TCION TCOON VINTR VKILL VQUIT VSTOP VSUSP VTIME */
+ /* Offset 1 gives the best switch position. */
+ switch (name[1]) {
+ case '1':
+ if (memEQ(name, "B1200", 5)) {
+ /* ^ */
+#ifdef B1200
+ *iv_return = B1200;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "DBL_MAX_EXP"))
-#ifdef DBL_MAX_EXP
- return DBL_MAX_EXP;
+ }
+ if (memEQ(name, "B1800", 5)) {
+ /* ^ */
+#ifdef B1800
+ *iv_return = B1800;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "DBL_MIN_10_EXP"))
-#ifdef DBL_MIN_10_EXP
- return DBL_MIN_10_EXP;
+ }
+ break;
+ case '2':
+ if (memEQ(name, "B2400", 5)) {
+ /* ^ */
+#ifdef B2400
+ *iv_return = B2400;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "DBL_MIN_EXP"))
-#ifdef DBL_MIN_EXP
- return DBL_MIN_EXP;
+ }
+ if (memEQ(name, "E2BIG", 5)) {
+ /* ^ */
+#ifdef E2BIG
+ *iv_return = E2BIG;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- break;
- case 'E':
- switch (name[1]) {
- case 'A':
- if (strEQ(name, "EACCES"))
-#ifdef EACCES
- return EACCES;
+ }
+ break;
+ case '4':
+ if (memEQ(name, "B4800", 5)) {
+ /* ^ */
+#ifdef B4800
+ *iv_return = B4800;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "EADDRINUSE"))
-#ifdef EADDRINUSE
- return EADDRINUSE;
+ }
+ break;
+ case '9':
+ if (memEQ(name, "B9600", 5)) {
+ /* ^ */
+#ifdef B9600
+ *iv_return = B9600;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "EADDRNOTAVAIL"))
-#ifdef EADDRNOTAVAIL
- return EADDRNOTAVAIL;
+ }
+ break;
+ case 'B':
+ if (memEQ(name, "EBADF", 5)) {
+ /* ^ */
+#ifdef EBADF
+ *iv_return = EBADF;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "EAFNOSUPPORT"))
-#ifdef EAFNOSUPPORT
- return EAFNOSUPPORT;
+ }
+ if (memEQ(name, "EBUSY", 5)) {
+ /* ^ */
+#ifdef EBUSY
+ *iv_return = EBUSY;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "EAGAIN"))
-#ifdef EAGAIN
- return EAGAIN;
+ }
+ break;
+ case 'C':
+ if (memEQ(name, "ECHOE", 5)) {
+ /* ^ */
+#ifdef ECHOE
+ *iv_return = ECHOE;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "EALREADY"))
-#ifdef EALREADY
- return EALREADY;
+ }
+ if (memEQ(name, "ECHOK", 5)) {
+ /* ^ */
+#ifdef ECHOK
+ *iv_return = ECHOK;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- break;
- case 'B':
- if (strEQ(name, "EBADF"))
-#ifdef EBADF
- return EBADF;
+ }
+ if (memEQ(name, "ICRNL", 5)) {
+ /* ^ */
+#ifdef ICRNL
+ *iv_return = ICRNL;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "EBUSY"))
-#ifdef EBUSY
- return EBUSY;
+ }
+ if (memEQ(name, "TCION", 5)) {
+ /* ^ */
+#ifdef TCION
+ *iv_return = TCION;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- break;
- case 'C':
- if (strEQ(name, "ECHILD"))
-#ifdef ECHILD
- return ECHILD;
+ }
+ if (memEQ(name, "TCOON", 5)) {
+ /* ^ */
+#ifdef TCOON
+ *iv_return = TCOON;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "ECHO"))
-#ifdef ECHO
- return ECHO;
+ }
+ break;
+ case 'F':
+ if (memEQ(name, "EFBIG", 5)) {
+ /* ^ */
+#ifdef EFBIG
+ *iv_return = EFBIG;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "ECHOE"))
-#ifdef ECHOE
- return ECHOE;
+ }
+ break;
+ case 'G':
+ if (memEQ(name, "IGNCR", 5)) {
+ /* ^ */
+#ifdef IGNCR
+ *iv_return = IGNCR;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "ECHOK"))
-#ifdef ECHOK
- return ECHOK;
+ }
+ break;
+ case 'I':
+ if (memEQ(name, "EINTR", 5)) {
+ /* ^ */
+#ifdef EINTR
+ *iv_return = EINTR;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "ECHONL"))
-#ifdef ECHONL
- return ECHONL;
+ }
+ if (memEQ(name, "VINTR", 5)) {
+ /* ^ */
+#ifdef VINTR
+ *iv_return = VINTR;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "ECONNABORTED"))
-#ifdef ECONNABORTED
- return ECONNABORTED;
+ }
+ break;
+ case 'K':
+ if (memEQ(name, "VKILL", 5)) {
+ /* ^ */
+#ifdef VKILL
+ *iv_return = VKILL;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "ECONNREFUSED"))
-#ifdef ECONNREFUSED
- return ECONNREFUSED;
+ }
+ break;
+ case 'L':
+ if (memEQ(name, "ELOOP", 5)) {
+ /* ^ */
+#ifdef ELOOP
+ *iv_return = ELOOP;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "ECONNRESET"))
-#ifdef ECONNRESET
- return ECONNRESET;
+ }
+ break;
+ case 'N':
+ if (memEQ(name, "ENXIO", 5)) {
+ /* ^ */
+#ifdef ENXIO
+ *iv_return = ENXIO;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- break;
- case 'D':
- if (strEQ(name, "EDEADLK"))
-#ifdef EDEADLK
- return EDEADLK;
+ }
+ if (memEQ(name, "INLCR", 5)) {
+ /* ^ */
+#ifdef INLCR
+ *iv_return = INLCR;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "EDESTADDRREQ"))
-#ifdef EDESTADDRREQ
- return EDESTADDRREQ;
+ }
+ if (memEQ(name, "INPCK", 5)) {
+ /* ^ */
+#ifdef INPCK
+ *iv_return = INPCK;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "EDOM"))
-#ifdef EDOM
- return EDOM;
+ }
+ break;
+ case 'P':
+ if (memEQ(name, "EPERM", 5)) {
+ /* ^ */
+#ifdef EPERM
+ *iv_return = EPERM;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "EDQUOT"))
-#ifdef EDQUOT
- return EDQUOT;
+ }
+ if (memEQ(name, "EPIPE", 5)) {
+ /* ^ */
+#ifdef EPIPE
+ *iv_return = EPIPE;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- break;
- case 'E':
- if (strEQ(name, "EEXIST"))
-#ifdef EEXIST
- return EEXIST;
+ }
+ if (memEQ(name, "OPOST", 5)) {
+ /* ^ */
+#ifdef OPOST
+ *iv_return = OPOST;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- break;
- case 'F':
- if (strEQ(name, "EFAULT"))
-#ifdef EFAULT
- return EFAULT;
+ }
+ break;
+ case 'Q':
+ if (memEQ(name, "VQUIT", 5)) {
+ /* ^ */
+#ifdef VQUIT
+ *iv_return = VQUIT;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "EFBIG"))
-#ifdef EFBIG
- return EFBIG;
+ }
+ break;
+ case 'R':
+ if (memEQ(name, "CREAD", 5)) {
+ /* ^ */
+#ifdef CREAD
+ *iv_return = CREAD;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- break;
- case 'H':
- if (strEQ(name, "EHOSTDOWN"))
-#ifdef EHOSTDOWN
- return EHOSTDOWN;
+ }
+ if (memEQ(name, "EROFS", 5)) {
+ /* ^ */
+#ifdef EROFS
+ *iv_return = EROFS;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "EHOSTUNREACH"))
-#ifdef EHOSTUNREACH
- return EHOSTUNREACH;
+ }
+ break;
+ case 'S':
+ if (memEQ(name, "CSIZE", 5)) {
+ /* ^ */
+#ifdef CSIZE
+ *iv_return = CSIZE;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- break;
- case 'I':
- if (strEQ(name, "EINPROGRESS"))
-#ifdef EINPROGRESS
- return EINPROGRESS;
+ }
+ if (memEQ(name, "ESRCH", 5)) {
+ /* ^ */
+#ifdef ESRCH
+ *iv_return = ESRCH;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "EINTR"))
-#ifdef EINTR
- return EINTR;
+ }
+ if (memEQ(name, "VSTOP", 5)) {
+ /* ^ */
+#ifdef VSTOP
+ *iv_return = VSTOP;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "EINVAL"))
-#ifdef EINVAL
- return EINVAL;
+ }
+ if (memEQ(name, "VSUSP", 5)) {
+ /* ^ */
+#ifdef VSUSP
+ *iv_return = VSUSP;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "EIO"))
-#ifdef EIO
- return EIO;
+ }
+ break;
+ case 'T':
+ if (memEQ(name, "VTIME", 5)) {
+ /* ^ */
+#ifdef VTIME
+ *iv_return = VTIME;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "EISCONN"))
-#ifdef EISCONN
- return EISCONN;
+ }
+ break;
+ case 'U':
+ if (memEQ(name, "HUPCL", 5)) {
+ /* ^ */
+#ifdef HUPCL
+ *iv_return = HUPCL;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "EISDIR"))
-#ifdef EISDIR
- return EISDIR;
+ }
+ break;
+ case 'X':
+ if (memEQ(name, "EXDEV", 5)) {
+ /* ^ */
+#ifdef EXDEV
+ *iv_return = EXDEV;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- break;
- case 'L':
- if (strEQ(name, "ELOOP"))
-#ifdef ELOOP
- return ELOOP;
+ }
+ if (memEQ(name, "IXOFF", 5)) {
+ /* ^ */
+#ifdef IXOFF
+ *iv_return = IXOFF;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- break;
- case 'M':
- if (strEQ(name, "EMFILE"))
-#ifdef EMFILE
- return EMFILE;
+ }
+ break;
+ }
+ return PERL_constant_NOTFOUND;
+}
+
+static int
+constant_6 (const char *name, IV *iv_return, NV *nv_return) {
+ /* When generated this function returned values for the list of names given
+ here. However, subsequent manual editing may have added or removed some.
+ B19200 B38400 BRKINT BUFSIZ CLOCAL CSTOPB EACCES EAGAIN ECHILD ECHONL
+ EDQUOT EEXIST EFAULT EINVAL EISDIR EMFILE EMLINK ENFILE ENODEV ENOENT
+ ENOLCK ENOMEM ENOSPC ENOSYS ENOTTY ERANGE ESPIPE ESTALE EUSERS ICANON
+ IEXTEN IGNBRK IGNPAR ISTRIP LC_ALL NOFLSH O_EXCL O_RDWR PARENB PARMRK
+ PARODD SIGFPE SIGHUP SIGILL SIGINT TCIOFF TCOOFF TOSTOP VERASE VSTART */
+ /* Offset 3 gives the best switch position. */
+ switch (name[3]) {
+ case '2':
+ if (memEQ(name, "B19200", 6)) {
+ /* ^ */
+#ifdef B19200
+ *iv_return = B19200;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "EMLINK"))
-#ifdef EMLINK
- return EMLINK;
+ }
+ break;
+ case '4':
+ if (memEQ(name, "B38400", 6)) {
+ /* ^ */
+#ifdef B38400
+ *iv_return = B38400;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "EMSGSIZE"))
-#ifdef EMSGSIZE
- return EMSGSIZE;
+ }
+ break;
+ case 'A':
+ if (memEQ(name, "EAGAIN", 6)) {
+ /* ^ */
+#ifdef EAGAIN
+ *iv_return = EAGAIN;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- break;
- case 'N':
- if (strEQ(name, "ENETDOWN"))
-#ifdef ENETDOWN
- return ENETDOWN;
+ }
+ if (memEQ(name, "ESTALE", 6)) {
+ /* ^ */
+#ifdef ESTALE
+ *iv_return = ESTALE;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "ENETRESET"))
-#ifdef ENETRESET
- return ENETRESET;
-#else
- goto not_there;
-#endif
- if (strEQ(name, "ENETUNREACH"))
-#ifdef ENETUNREACH
- return ENETUNREACH;
+ }
+ if (memEQ(name, "LC_ALL", 6)) {
+ /* ^ */
+#ifdef LC_ALL
+ *iv_return = LC_ALL;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "ENOBUFS"))
-#ifdef ENOBUFS
- return ENOBUFS;
+ }
+ if (memEQ(name, "VERASE", 6)) {
+ /* ^ */
+#ifdef VERASE
+ *iv_return = VERASE;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "ENOEXEC"))
-#ifdef ENOEXEC
- return ENOEXEC;
+ }
+ if (memEQ(name, "VSTART", 6)) {
+ /* ^ */
+#ifdef VSTART
+ *iv_return = VSTART;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "ENOMEM"))
-#ifdef ENOMEM
- return ENOMEM;
+ }
+ break;
+ case 'B':
+ if (memEQ(name, "IGNBRK", 6)) {
+ /* ^ */
+#ifdef IGNBRK
+ *iv_return = IGNBRK;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "ENOPROTOOPT"))
-#ifdef ENOPROTOOPT
- return ENOPROTOOPT;
+ }
+ break;
+ case 'C':
+ if (memEQ(name, "CLOCAL", 6)) {
+ /* ^ */
+#ifdef CLOCAL
+ *iv_return = CLOCAL;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "ENOSPC"))
-#ifdef ENOSPC
- return ENOSPC;
+ }
+ if (memEQ(name, "EACCES", 6)) {
+ /* ^ */
+#ifdef EACCES
+ *iv_return = EACCES;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "ENOTBLK"))
-#ifdef ENOTBLK
- return ENOTBLK;
+ }
+ break;
+ case 'D':
+ if (memEQ(name, "EISDIR", 6)) {
+ /* ^ */
+#ifdef EISDIR
+ *iv_return = EISDIR;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "ENOTCONN"))
-#ifdef ENOTCONN
- return ENOTCONN;
+ }
+ if (memEQ(name, "ENODEV", 6)) {
+ /* ^ */
+#ifdef ENODEV
+ *iv_return = ENODEV;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "ENOTDIR"))
-#ifdef ENOTDIR
- return ENOTDIR;
+ }
+ if (memEQ(name, "O_RDWR", 6)) {
+ /* ^ */
+#ifdef O_RDWR
+ *iv_return = O_RDWR;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "ENOTEMPTY"))
-#ifdef ENOTEMPTY
- return ENOTEMPTY;
+ }
+ break;
+ case 'E':
+ if (memEQ(name, "ENOENT", 6)) {
+ /* ^ */
+#ifdef ENOENT
+ *iv_return = ENOENT;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "ENOTSOCK"))
-#ifdef ENOTSOCK
- return ENOTSOCK;
+ }
+ if (memEQ(name, "EUSERS", 6)) {
+ /* ^ */
+#ifdef EUSERS
+ *iv_return = EUSERS;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "ENOTTY"))
-#ifdef ENOTTY
- return ENOTTY;
+ }
+ if (memEQ(name, "PARENB", 6)) {
+ /* ^ */
+#ifdef PARENB
+ *iv_return = PARENB;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "ENFILE"))
-#ifdef ENFILE
- return ENFILE;
+ }
+ break;
+ case 'F':
+ if (memEQ(name, "SIGFPE", 6)) {
+ /* ^ */
+#ifdef SIGFPE
+ *iv_return = SIGFPE;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "ENODEV"))
-#ifdef ENODEV
- return ENODEV;
+ }
+ break;
+ case 'H':
+ if (memEQ(name, "SIGHUP", 6)) {
+ /* ^ */
+#ifdef SIGHUP
+ *iv_return = SIGHUP;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "ENOENT"))
-#ifdef ENOENT
- return ENOENT;
+ }
+ break;
+ case 'I':
+ if (memEQ(name, "BRKINT", 6)) {
+ /* ^ */
+#ifdef BRKINT
+ *iv_return = BRKINT;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "ENOLCK"))
-#ifdef ENOLCK
- return ENOLCK;
+ }
+ if (memEQ(name, "ECHILD", 6)) {
+ /* ^ */
+#ifdef ECHILD
+ *iv_return = ECHILD;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "ENOSYS"))
-#ifdef ENOSYS
- return ENOSYS;
+ }
+ if (memEQ(name, "EEXIST", 6)) {
+ /* ^ */
+#ifdef EEXIST
+ *iv_return = EEXIST;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "ENXIO"))
-#ifdef ENXIO
- return ENXIO;
+ }
+ if (memEQ(name, "EMFILE", 6)) {
+ /* ^ */
+#ifdef EMFILE
+ *iv_return = EMFILE;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "ENAMETOOLONG"))
-#ifdef ENAMETOOLONG
- return ENAMETOOLONG;
+ }
+ if (memEQ(name, "EMLINK", 6)) {
+ /* ^ */
+#ifdef EMLINK
+ *iv_return = EMLINK;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- break;
- case 'O':
- if (strEQ(name, "EOF"))
-#ifdef EOF
- return EOF;
+ }
+ if (memEQ(name, "ENFILE", 6)) {
+ /* ^ */
+#ifdef ENFILE
+ *iv_return = ENFILE;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "EOPNOTSUPP"))
-#ifdef EOPNOTSUPP
- return EOPNOTSUPP;
+ }
+ if (memEQ(name, "ESPIPE", 6)) {
+ /* ^ */
+#ifdef ESPIPE
+ *iv_return = ESPIPE;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- break;
- case 'P':
- if (strEQ(name, "EPERM"))
-#ifdef EPERM
- return EPERM;
+ }
+ if (memEQ(name, "SIGILL", 6)) {
+ /* ^ */
+#ifdef SIGILL
+ *iv_return = SIGILL;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "EPFNOSUPPORT"))
-#ifdef EPFNOSUPPORT
- return EPFNOSUPPORT;
+ }
+ if (memEQ(name, "SIGINT", 6)) {
+ /* ^ */
+#ifdef SIGINT
+ *iv_return = SIGINT;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "EPIPE"))
-#ifdef EPIPE
- return EPIPE;
+ }
+ break;
+ case 'L':
+ if (memEQ(name, "ENOLCK", 6)) {
+ /* ^ */
+#ifdef ENOLCK
+ *iv_return = ENOLCK;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "EPROCLIM"))
-#ifdef EPROCLIM
- return EPROCLIM;
+ }
+ if (memEQ(name, "NOFLSH", 6)) {
+ /* ^ */
+#ifdef NOFLSH
+ *iv_return = NOFLSH;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "EPROTONOSUPPORT"))
-#ifdef EPROTONOSUPPORT
- return EPROTONOSUPPORT;
+ }
+ break;
+ case 'M':
+ if (memEQ(name, "ENOMEM", 6)) {
+ /* ^ */
+#ifdef ENOMEM
+ *iv_return = ENOMEM;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "EPROTOTYPE"))
-#ifdef EPROTOTYPE
- return EPROTOTYPE;
+ }
+ if (memEQ(name, "PARMRK", 6)) {
+ /* ^ */
+#ifdef PARMRK
+ *iv_return = PARMRK;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- break;
- case 'R':
- if (strEQ(name, "ERANGE"))
+ }
+ break;
+ case 'N':
+ if (memEQ(name, "ERANGE", 6)) {
+ /* ^ */
#ifdef ERANGE
- return ERANGE;
+ *iv_return = ERANGE;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "EREMOTE"))
-#ifdef EREMOTE
- return EREMOTE;
+ }
+ if (memEQ(name, "ICANON", 6)) {
+ /* ^ */
+#ifdef ICANON
+ *iv_return = ICANON;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "ERESTART"))
-#ifdef ERESTART
- return ERESTART;
+ }
+ break;
+ case 'O':
+ if (memEQ(name, "CSTOPB", 6)) {
+ /* ^ */
+#ifdef CSTOPB
+ *iv_return = CSTOPB;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "EROFS"))
-#ifdef EROFS
- return EROFS;
+ }
+ if (memEQ(name, "ECHONL", 6)) {
+ /* ^ */
+#ifdef ECHONL
+ *iv_return = ECHONL;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- break;
- case 'S':
- if (strEQ(name, "ESHUTDOWN"))
-#ifdef ESHUTDOWN
- return ESHUTDOWN;
+ }
+ if (memEQ(name, "PARODD", 6)) {
+ /* ^ */
+#ifdef PARODD
+ *iv_return = PARODD;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "ESOCKTNOSUPPORT"))
-#ifdef ESOCKTNOSUPPORT
- return ESOCKTNOSUPPORT;
+ }
+ if (memEQ(name, "TCIOFF", 6)) {
+ /* ^ */
+#ifdef TCIOFF
+ *iv_return = TCIOFF;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "ESPIPE"))
-#ifdef ESPIPE
- return ESPIPE;
+ }
+ if (memEQ(name, "TCOOFF", 6)) {
+ /* ^ */
+#ifdef TCOOFF
+ *iv_return = TCOOFF;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "ESRCH"))
-#ifdef ESRCH
- return ESRCH;
+ }
+ break;
+ case 'P':
+ if (memEQ(name, "IGNPAR", 6)) {
+ /* ^ */
+#ifdef IGNPAR
+ *iv_return = IGNPAR;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "ESTALE"))
-#ifdef ESTALE
- return ESTALE;
+ }
+ break;
+ case 'R':
+ if (memEQ(name, "ISTRIP", 6)) {
+ /* ^ */
+#ifdef ISTRIP
+ *iv_return = ISTRIP;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- break;
- case 'T':
- if (strEQ(name, "ETIMEDOUT"))
-#ifdef ETIMEDOUT
- return ETIMEDOUT;
+ }
+ break;
+ case 'S':
+ if (memEQ(name, "BUFSIZ", 6)) {
+ /* ^ */
+#ifdef BUFSIZ
+ *iv_return = BUFSIZ;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "ETOOMANYREFS"))
-#ifdef ETOOMANYREFS
- return ETOOMANYREFS;
+ }
+ if (memEQ(name, "ENOSPC", 6)) {
+ /* ^ */
+#ifdef ENOSPC
+ *iv_return = ENOSPC;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "ETXTBSY"))
-#ifdef ETXTBSY
- return ETXTBSY;
+ }
+ if (memEQ(name, "ENOSYS", 6)) {
+ /* ^ */
+#ifdef ENOSYS
+ *iv_return = ENOSYS;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- break;
- case 'U':
- if (strEQ(name, "EUSERS"))
-#ifdef EUSERS
- return EUSERS;
+ }
+ break;
+ case 'T':
+ if (memEQ(name, "ENOTTY", 6)) {
+ /* ^ */
+#ifdef ENOTTY
+ *iv_return = ENOTTY;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- break;
- case 'W':
- if (strEQ(name, "EWOULDBLOCK"))
-#ifdef EWOULDBLOCK
- return EWOULDBLOCK;
+ }
+ if (memEQ(name, "IEXTEN", 6)) {
+ /* ^ */
+#ifdef IEXTEN
+ *iv_return = IEXTEN;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- break;
- case 'X':
- if (strEQ(name, "EXIT_FAILURE"))
-#ifdef EXIT_FAILURE
- return EXIT_FAILURE;
+ }
+ if (memEQ(name, "TOSTOP", 6)) {
+ /* ^ */
+#ifdef TOSTOP
+ *iv_return = TOSTOP;
+ return PERL_constant_ISIV;
#else
- return 1;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "EXIT_SUCCESS"))
-#ifdef EXIT_SUCCESS
- return EXIT_SUCCESS;
+ }
+ break;
+ case 'U':
+ if (memEQ(name, "EDQUOT", 6)) {
+ /* ^ */
+#ifdef EDQUOT
+ *iv_return = EDQUOT;
+ return PERL_constant_ISIV;
#else
- return 0;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "EXDEV"))
-#ifdef EXDEV
- return EXDEV;
+ }
+ if (memEQ(name, "EFAULT", 6)) {
+ /* ^ */
+#ifdef EFAULT
+ *iv_return = EFAULT;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- break;
- }
- if (strEQ(name, "E2BIG"))
-#ifdef E2BIG
- return E2BIG;
+ }
+ break;
+ case 'V':
+ if (memEQ(name, "EINVAL", 6)) {
+ /* ^ */
+#ifdef EINVAL
+ *iv_return = EINVAL;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- break;
- case 'F':
- if (strnEQ(name, "FLT_", 4)) {
- if (strEQ(name, "FLT_MAX"))
-#ifdef FLT_MAX
- return FLT_MAX;
+ }
+ break;
+ case 'X':
+ if (memEQ(name, "O_EXCL", 6)) {
+ /* ^ */
+#ifdef O_EXCL
+ *iv_return = O_EXCL;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "FLT_MIN"))
-#ifdef FLT_MIN
- return FLT_MIN;
+ }
+ break;
+ }
+ return PERL_constant_NOTFOUND;
+}
+
+static int
+constant_7 (const char *name, IV *iv_return, NV *nv_return) {
+ /* When generated this function returned values for the list of names given
+ here. However, subsequent manual editing may have added or removed some.
+ ARG_MAX CLK_TCK DBL_DIG DBL_MAX DBL_MIN EDEADLK EISCONN ENOBUFS ENOEXEC
+ ENOTBLK ENOTDIR EREMOTE ETXTBSY FLT_DIG FLT_MAX FLT_MIN F_DUPFD F_GETFD
+ F_GETFL F_GETLK F_RDLCK F_SETFD F_SETFL F_SETLK F_UNLCK F_WRLCK INT_MAX
+ INT_MIN LC_TIME O_CREAT O_TRUNC SIGABRT SIGALRM SIGCHLD SIGCONT SIGKILL
+ SIGPIPE SIGQUIT SIGSEGV SIGSTOP SIGTERM SIGTSTP SIGTTIN SIGTTOU SIGUSR1
+ SIGUSR2 SIG_DFL SIG_ERR SIG_IGN S_IRGRP S_IROTH S_IRUSR S_IRWXG S_IRWXO
+ S_IRWXU S_ISGID S_ISUID S_IWGRP S_IWOTH S_IWUSR S_IXGRP S_IXOTH S_IXUSR
+ TCSANOW TMP_MAX WNOHANG */
+ /* Offset 6 gives the best switch position. */
+ switch (name[6]) {
+ case '1':
+ if (memEQ(name, "SIGUSR1", 7)) {
+ /* ^ */
+#ifdef SIGUSR1
+ *iv_return = SIGUSR1;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "FLT_ROUNDS"))
-#ifdef FLT_ROUNDS
- return FLT_ROUNDS;
+ }
+ break;
+ case '2':
+ if (memEQ(name, "SIGUSR2", 7)) {
+ /* ^ */
+#ifdef SIGUSR2
+ *iv_return = SIGUSR2;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "FLT_DIG"))
-#ifdef FLT_DIG
- return FLT_DIG;
+ }
+ break;
+ case 'C':
+ if (memEQ(name, "ENOEXEC", 7)) {
+ /* ^ */
+#ifdef ENOEXEC
+ *iv_return = ENOEXEC;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "FLT_EPSILON"))
-#ifdef FLT_EPSILON
- return FLT_EPSILON;
+ }
+ if (memEQ(name, "O_TRUNC", 7)) {
+ /* ^ */
+#ifdef O_TRUNC
+ *iv_return = O_TRUNC;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "FLT_MANT_DIG"))
-#ifdef FLT_MANT_DIG
- return FLT_MANT_DIG;
+ }
+ break;
+ case 'D':
+ if (memEQ(name, "F_DUPFD", 7)) {
+ /* ^ */
+#ifdef F_DUPFD
+ *iv_return = F_DUPFD;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "FLT_MAX_10_EXP"))
-#ifdef FLT_MAX_10_EXP
- return FLT_MAX_10_EXP;
+ }
+ if (memEQ(name, "F_GETFD", 7)) {
+ /* ^ */
+#ifdef F_GETFD
+ *iv_return = F_GETFD;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "FLT_MAX_EXP"))
-#ifdef FLT_MAX_EXP
- return FLT_MAX_EXP;
+ }
+ if (memEQ(name, "F_SETFD", 7)) {
+ /* ^ */
+#ifdef F_SETFD
+ *iv_return = F_SETFD;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "FLT_MIN_10_EXP"))
-#ifdef FLT_MIN_10_EXP
- return FLT_MIN_10_EXP;
+ }
+ if (memEQ(name, "SIGCHLD", 7)) {
+ /* ^ */
+#ifdef SIGCHLD
+ *iv_return = SIGCHLD;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "FLT_MIN_EXP"))
-#ifdef FLT_MIN_EXP
- return FLT_MIN_EXP;
+ }
+ if (memEQ(name, "S_ISGID", 7)) {
+ /* ^ */
+#ifdef S_ISGID
+ *iv_return = S_ISGID;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "FLT_RADIX"))
-#ifdef FLT_RADIX
- return FLT_RADIX;
+ }
+ if (memEQ(name, "S_ISUID", 7)) {
+ /* ^ */
+#ifdef S_ISUID
+ *iv_return = S_ISUID;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- break;
- }
- if (strnEQ(name, "F_", 2)) {
- if (strEQ(name, "F_DUPFD"))
-#ifdef F_DUPFD
- return F_DUPFD;
+ }
+ break;
+ case 'E':
+ if (memEQ(name, "EREMOTE", 7)) {
+ /* ^ */
+#ifdef EREMOTE
+ *iv_return = EREMOTE;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "F_GETFD"))
-#ifdef F_GETFD
- return F_GETFD;
+ }
+ if (memEQ(name, "LC_TIME", 7)) {
+ /* ^ */
+#ifdef LC_TIME
+ *iv_return = LC_TIME;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "F_GETFL"))
-#ifdef F_GETFL
- return F_GETFL;
+ }
+ if (memEQ(name, "SIGPIPE", 7)) {
+ /* ^ */
+#ifdef SIGPIPE
+ *iv_return = SIGPIPE;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "F_GETLK"))
-#ifdef F_GETLK
- return F_GETLK;
+ }
+ break;
+ case 'G':
+ if (memEQ(name, "DBL_DIG", 7)) {
+ /* ^ */
+#ifdef DBL_DIG
+ *nv_return = DBL_DIG;
+ return PERL_constant_ISNV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "F_OK"))
-#ifdef F_OK
- return F_OK;
+ }
+ if (memEQ(name, "FLT_DIG", 7)) {
+ /* ^ */
+#ifdef FLT_DIG
+ *nv_return = FLT_DIG;
+ return PERL_constant_ISNV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "F_RDLCK"))
-#ifdef F_RDLCK
- return F_RDLCK;
+ }
+ if (memEQ(name, "S_IRWXG", 7)) {
+ /* ^ */
+#ifdef S_IRWXG
+ *iv_return = S_IRWXG;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "F_SETFD"))
-#ifdef F_SETFD
- return F_SETFD;
+ }
+ if (memEQ(name, "WNOHANG", 7)) {
+ /* ^ */
+#ifdef WNOHANG
+ *iv_return = WNOHANG;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "F_SETFL"))
-#ifdef F_SETFL
- return F_SETFL;
+ }
+ break;
+ case 'H':
+ if (memEQ(name, "S_IROTH", 7)) {
+ /* ^ */
+#ifdef S_IROTH
+ *iv_return = S_IROTH;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "F_SETLK"))
-#ifdef F_SETLK
- return F_SETLK;
+ }
+ if (memEQ(name, "S_IWOTH", 7)) {
+ /* ^ */
+#ifdef S_IWOTH
+ *iv_return = S_IWOTH;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "F_SETLKW"))
-#ifdef F_SETLKW
- return F_SETLKW;
+ }
+ if (memEQ(name, "S_IXOTH", 7)) {
+ /* ^ */
+#ifdef S_IXOTH
+ *iv_return = S_IXOTH;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "F_UNLCK"))
-#ifdef F_UNLCK
- return F_UNLCK;
+ }
+ break;
+ case 'K':
+ if (memEQ(name, "CLK_TCK", 7)) {
+ /* ^ */
+#ifdef CLK_TCK
+ *iv_return = CLK_TCK;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "F_WRLCK"))
-#ifdef F_WRLCK
- return F_WRLCK;
+ }
+ if (memEQ(name, "EDEADLK", 7)) {
+ /* ^ */
+#ifdef EDEADLK
+ *iv_return = EDEADLK;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- break;
- }
- if (strEQ(name, "FD_CLOEXEC"))
-#ifdef FD_CLOEXEC
- return FD_CLOEXEC;
+ }
+ if (memEQ(name, "ENOTBLK", 7)) {
+ /* ^ */
+#ifdef ENOTBLK
+ *iv_return = ENOTBLK;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "FILENAME_MAX"))
-#ifdef FILENAME_MAX
- return FILENAME_MAX;
+ }
+ if (memEQ(name, "F_GETLK", 7)) {
+ /* ^ */
+#ifdef F_GETLK
+ *iv_return = F_GETLK;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- break;
- case 'H':
- if (strEQ(name, "HUGE_VAL"))
-#if defined(USE_LONG_DOUBLE) && defined(HUGE_VALL)
- /* HUGE_VALL is admittedly non-POSIX but if we are using long doubles
- * we might as well use long doubles. --jhi */
- return HUGE_VALL;
-#endif
-#ifdef HUGE_VAL
- return HUGE_VAL;
+ }
+ if (memEQ(name, "F_RDLCK", 7)) {
+ /* ^ */
+#ifdef F_RDLCK
+ *iv_return = F_RDLCK;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "HUPCL"))
-#ifdef HUPCL
- return HUPCL;
+ }
+ if (memEQ(name, "F_SETLK", 7)) {
+ /* ^ */
+#ifdef F_SETLK
+ *iv_return = F_SETLK;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- break;
- case 'I':
- if (strEQ(name, "INT_MAX"))
-#ifdef INT_MAX
- return INT_MAX;
+ }
+ if (memEQ(name, "F_UNLCK", 7)) {
+ /* ^ */
+#ifdef F_UNLCK
+ *iv_return = F_UNLCK;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "INT_MIN"))
-#ifdef INT_MIN
- return INT_MIN;
+ }
+ if (memEQ(name, "F_WRLCK", 7)) {
+ /* ^ */
+#ifdef F_WRLCK
+ *iv_return = F_WRLCK;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "ICANON"))
-#ifdef ICANON
- return ICANON;
+ }
+ break;
+ case 'L':
+ if (memEQ(name, "F_GETFL", 7)) {
+ /* ^ */
+#ifdef F_GETFL
+ *iv_return = F_GETFL;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "ICRNL"))
-#ifdef ICRNL
- return ICRNL;
+ }
+ if (memEQ(name, "F_SETFL", 7)) {
+ /* ^ */
+#ifdef F_SETFL
+ *iv_return = F_SETFL;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "IEXTEN"))
-#ifdef IEXTEN
- return IEXTEN;
+ }
+ if (memEQ(name, "SIGKILL", 7)) {
+ /* ^ */
+#ifdef SIGKILL
+ *iv_return = SIGKILL;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "IGNBRK"))
-#ifdef IGNBRK
- return IGNBRK;
+ }
+ if (memEQ(name, "SIG_DFL", 7)) {
+ /* ^ */
+#ifdef SIG_DFL
+ *iv_return = (IV)SIG_DFL;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "IGNCR"))
-#ifdef IGNCR
- return IGNCR;
+ }
+ break;
+ case 'M':
+ if (memEQ(name, "SIGALRM", 7)) {
+ /* ^ */
+#ifdef SIGALRM
+ *iv_return = SIGALRM;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "IGNPAR"))
-#ifdef IGNPAR
- return IGNPAR;
+ }
+ if (memEQ(name, "SIGTERM", 7)) {
+ /* ^ */
+#ifdef SIGTERM
+ *iv_return = SIGTERM;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "INLCR"))
-#ifdef INLCR
- return INLCR;
+ }
+ break;
+ case 'N':
+ if (memEQ(name, "DBL_MIN", 7)) {
+ /* ^ */
+#ifdef DBL_MIN
+ *nv_return = DBL_MIN;
+ return PERL_constant_ISNV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "INPCK"))
-#ifdef INPCK
- return INPCK;
+ }
+ if (memEQ(name, "EISCONN", 7)) {
+ /* ^ */
+#ifdef EISCONN
+ *iv_return = EISCONN;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "ISIG"))
-#ifdef ISIG
- return ISIG;
+ }
+ if (memEQ(name, "FLT_MIN", 7)) {
+ /* ^ */
+#ifdef FLT_MIN
+ *nv_return = FLT_MIN;
+ return PERL_constant_ISNV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "ISTRIP"))
-#ifdef ISTRIP
- return ISTRIP;
+ }
+ if (memEQ(name, "INT_MIN", 7)) {
+ /* ^ */
+#ifdef INT_MIN
+ *iv_return = INT_MIN;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "IXOFF"))
-#ifdef IXOFF
- return IXOFF;
+ }
+ if (memEQ(name, "SIGTTIN", 7)) {
+ /* ^ */
+#ifdef SIGTTIN
+ *iv_return = SIGTTIN;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "IXON"))
-#ifdef IXON
- return IXON;
+ }
+ if (memEQ(name, "SIG_IGN", 7)) {
+ /* ^ */
+#ifdef SIG_IGN
+ *iv_return = (IV)SIG_IGN;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- break;
- case 'L':
- if (strnEQ(name, "LC_", 3)) {
- if (strEQ(name, "LC_ALL"))
-#ifdef LC_ALL
- return LC_ALL;
+ }
+ break;
+ case 'O':
+ if (memEQ(name, "S_IRWXO", 7)) {
+ /* ^ */
+#ifdef S_IRWXO
+ *iv_return = S_IRWXO;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "LC_COLLATE"))
-#ifdef LC_COLLATE
- return LC_COLLATE;
+ }
+ break;
+ case 'P':
+ if (memEQ(name, "SIGSTOP", 7)) {
+ /* ^ */
+#ifdef SIGSTOP
+ *iv_return = SIGSTOP;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "LC_CTYPE"))
-#ifdef LC_CTYPE
- return LC_CTYPE;
+ }
+ if (memEQ(name, "SIGTSTP", 7)) {
+ /* ^ */
+#ifdef SIGTSTP
+ *iv_return = SIGTSTP;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "LC_MONETARY"))
-#ifdef LC_MONETARY
- return LC_MONETARY;
+ }
+ if (memEQ(name, "S_IRGRP", 7)) {
+ /* ^ */
+#ifdef S_IRGRP
+ *iv_return = S_IRGRP;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "LC_NUMERIC"))
-#ifdef LC_NUMERIC
- return LC_NUMERIC;
+ }
+ if (memEQ(name, "S_IWGRP", 7)) {
+ /* ^ */
+#ifdef S_IWGRP
+ *iv_return = S_IWGRP;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "LC_TIME"))
-#ifdef LC_TIME
- return LC_TIME;
+ }
+ if (memEQ(name, "S_IXGRP", 7)) {
+ /* ^ */
+#ifdef S_IXGRP
+ *iv_return = S_IXGRP;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- break;
- }
- if (strnEQ(name, "LDBL_", 5)) {
- if (strEQ(name, "LDBL_MAX"))
-#ifdef LDBL_MAX
- return LDBL_MAX;
+ }
+ break;
+ case 'R':
+ if (memEQ(name, "ENOTDIR", 7)) {
+ /* ^ */
+#ifdef ENOTDIR
+ *iv_return = ENOTDIR;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "LDBL_MIN"))
-#ifdef LDBL_MIN
- return LDBL_MIN;
+ }
+ if (memEQ(name, "SIG_ERR", 7)) {
+ /* ^ */
+#ifdef SIG_ERR
+ *iv_return = (IV)SIG_ERR;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "LDBL_DIG"))
-#ifdef LDBL_DIG
- return LDBL_DIG;
+ }
+ if (memEQ(name, "S_IRUSR", 7)) {
+ /* ^ */
+#ifdef S_IRUSR
+ *iv_return = S_IRUSR;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "LDBL_EPSILON"))
-#ifdef LDBL_EPSILON
- return LDBL_EPSILON;
+ }
+ if (memEQ(name, "S_IWUSR", 7)) {
+ /* ^ */
+#ifdef S_IWUSR
+ *iv_return = S_IWUSR;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "LDBL_MANT_DIG"))
-#ifdef LDBL_MANT_DIG
- return LDBL_MANT_DIG;
+ }
+ if (memEQ(name, "S_IXUSR", 7)) {
+ /* ^ */
+#ifdef S_IXUSR
+ *iv_return = S_IXUSR;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "LDBL_MAX_10_EXP"))
-#ifdef LDBL_MAX_10_EXP
- return LDBL_MAX_10_EXP;
+ }
+ break;
+ case 'S':
+ if (memEQ(name, "ENOBUFS", 7)) {
+ /* ^ */
+#ifdef ENOBUFS
+ *iv_return = ENOBUFS;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "LDBL_MAX_EXP"))
-#ifdef LDBL_MAX_EXP
- return LDBL_MAX_EXP;
+ }
+ break;
+ case 'T':
+ if (memEQ(name, "O_CREAT", 7)) {
+ /* ^ */
+#ifdef O_CREAT
+ *iv_return = O_CREAT;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "LDBL_MIN_10_EXP"))
-#ifdef LDBL_MIN_10_EXP
- return LDBL_MIN_10_EXP;
+ }
+ if (memEQ(name, "SIGABRT", 7)) {
+ /* ^ */
+#ifdef SIGABRT
+ *iv_return = SIGABRT;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "LDBL_MIN_EXP"))
-#ifdef LDBL_MIN_EXP
- return LDBL_MIN_EXP;
+ }
+ if (memEQ(name, "SIGCONT", 7)) {
+ /* ^ */
+#ifdef SIGCONT
+ *iv_return = SIGCONT;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- break;
- }
- if (strnEQ(name, "L_", 2)) {
- if (strEQ(name, "L_ctermid"))
-#ifdef L_ctermid
- return L_ctermid;
+ }
+ if (memEQ(name, "SIGQUIT", 7)) {
+ /* ^ */
+#ifdef SIGQUIT
+ *iv_return = SIGQUIT;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "L_cuserid"))
-#ifdef L_cuserid
- return L_cuserid;
+ }
+ break;
+ case 'U':
+ if (memEQ(name, "SIGTTOU", 7)) {
+ /* ^ */
+#ifdef SIGTTOU
+ *iv_return = SIGTTOU;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- /* L_tmpnam[e] was a typo--retained for compatibility */
- if (strEQ(name, "L_tmpname") || strEQ(name, "L_tmpnam"))
-#ifdef L_tmpnam
- return L_tmpnam;
+ }
+ if (memEQ(name, "S_IRWXU", 7)) {
+ /* ^ */
+#ifdef S_IRWXU
+ *iv_return = S_IRWXU;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- break;
- }
- if (strEQ(name, "LONG_MAX"))
-#ifdef LONG_MAX
- return LONG_MAX;
+ }
+ break;
+ case 'V':
+ if (memEQ(name, "SIGSEGV", 7)) {
+ /* ^ */
+#ifdef SIGSEGV
+ *iv_return = SIGSEGV;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "LONG_MIN"))
-#ifdef LONG_MIN
- return LONG_MIN;
+ }
+ break;
+ case 'W':
+ if (memEQ(name, "TCSANOW", 7)) {
+ /* ^ */
+#ifdef TCSANOW
+ *iv_return = TCSANOW;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "LINK_MAX"))
-#ifdef LINK_MAX
- return LINK_MAX;
+ }
+ break;
+ case 'X':
+ if (memEQ(name, "ARG_MAX", 7)) {
+ /* ^ */
+#ifdef ARG_MAX
+ *iv_return = ARG_MAX;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- break;
- case 'M':
- if (strEQ(name, "MAX_CANON"))
-#ifdef MAX_CANON
- return MAX_CANON;
+ }
+ if (memEQ(name, "DBL_MAX", 7)) {
+ /* ^ */
+#ifdef DBL_MAX
+ *nv_return = DBL_MAX;
+ return PERL_constant_ISNV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "MAX_INPUT"))
-#ifdef MAX_INPUT
- return MAX_INPUT;
+ }
+ if (memEQ(name, "FLT_MAX", 7)) {
+ /* ^ */
+#ifdef FLT_MAX
+ *nv_return = FLT_MAX;
+ return PERL_constant_ISNV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "MB_CUR_MAX"))
-#ifdef MB_CUR_MAX
- return MB_CUR_MAX;
+ }
+ if (memEQ(name, "INT_MAX", 7)) {
+ /* ^ */
+#ifdef INT_MAX
+ *iv_return = INT_MAX;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "MB_LEN_MAX"))
-#ifdef MB_LEN_MAX
- return MB_LEN_MAX;
+ }
+ if (memEQ(name, "TMP_MAX", 7)) {
+ /* ^ */
+#ifdef TMP_MAX
+ *iv_return = TMP_MAX;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- break;
- case 'N':
- if (strEQ(name, "NULL")) return 0;
- if (strEQ(name, "NAME_MAX"))
-#ifdef NAME_MAX
- return NAME_MAX;
+ }
+ break;
+ case 'Y':
+ if (memEQ(name, "ETXTBSY", 7)) {
+ /* ^ */
+#ifdef ETXTBSY
+ *iv_return = ETXTBSY;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "NCCS"))
-#ifdef NCCS
- return NCCS;
+ }
+ break;
+ }
+ return PERL_constant_NOTFOUND;
+}
+
+static int
+constant_8 (const char *name, IV *iv_return, NV *nv_return) {
+ /* When generated this function returned values for the list of names given
+ here. However, subsequent manual editing may have added or removed some.
+ CHAR_BIT CHAR_MAX CHAR_MIN EALREADY EMSGSIZE ENETDOWN ENOTCONN ENOTSOCK
+ EPROCLIM ERESTART F_SETLKW HUGE_VAL LC_CTYPE LDBL_DIG LDBL_MAX LDBL_MIN
+ LINK_MAX LONG_MAX LONG_MIN L_tmpnam NAME_MAX OPEN_MAX O_APPEND O_NOCTTY
+ O_RDONLY O_WRONLY PATH_MAX PIPE_BUF RAND_MAX SEEK_CUR SEEK_END SEEK_SET
+ SHRT_MAX SHRT_MIN TCIFLUSH TCOFLUSH UINT_MAX */
+ /* Offset 2 gives the best switch position. */
+ switch (name[2]) {
+ case 'A':
+ if (memEQ(name, "CHAR_BIT", 8)) {
+ /* ^ */
+#ifdef CHAR_BIT
+ *iv_return = CHAR_BIT;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "NGROUPS_MAX"))
-#ifdef NGROUPS_MAX
- return NGROUPS_MAX;
+ }
+ if (memEQ(name, "CHAR_MAX", 8)) {
+ /* ^ */
+#ifdef CHAR_MAX
+ *iv_return = CHAR_MAX;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "NOFLSH"))
-#ifdef NOFLSH
- return NOFLSH;
+ }
+ if (memEQ(name, "CHAR_MIN", 8)) {
+ /* ^ */
+#ifdef CHAR_MIN
+ *iv_return = CHAR_MIN;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- break;
- case 'O':
- if (strnEQ(name, "O_", 2)) {
- if (strEQ(name, "O_APPEND"))
+ }
+ if (memEQ(name, "O_APPEND", 8)) {
+ /* ^ */
#ifdef O_APPEND
- return O_APPEND;
+ *iv_return = O_APPEND;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "O_CREAT"))
-#ifdef O_CREAT
- return O_CREAT;
+ }
+ break;
+ case 'B':
+ if (memEQ(name, "LDBL_DIG", 8)) {
+ /* ^ */
+#ifdef LDBL_DIG
+ *nv_return = LDBL_DIG;
+ return PERL_constant_ISNV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "O_TRUNC"))
-#ifdef O_TRUNC
- return O_TRUNC;
+ }
+ if (memEQ(name, "LDBL_MAX", 8)) {
+ /* ^ */
+#ifdef LDBL_MAX
+ *nv_return = LDBL_MAX;
+ return PERL_constant_ISNV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "O_RDONLY"))
-#ifdef O_RDONLY
- return O_RDONLY;
+ }
+ if (memEQ(name, "LDBL_MIN", 8)) {
+ /* ^ */
+#ifdef LDBL_MIN
+ *nv_return = LDBL_MIN;
+ return PERL_constant_ISNV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "O_RDWR"))
-#ifdef O_RDWR
- return O_RDWR;
+ }
+ break;
+ case 'E':
+ if (memEQ(name, "ENETDOWN", 8)) {
+ /* ^ */
+#ifdef ENETDOWN
+ *iv_return = ENETDOWN;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "O_WRONLY"))
-#ifdef O_WRONLY
- return O_WRONLY;
+ }
+ if (memEQ(name, "ERESTART", 8)) {
+ /* ^ */
+#ifdef ERESTART
+ *iv_return = ERESTART;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "O_EXCL"))
-#ifdef O_EXCL
- return O_EXCL;
+ }
+ if (memEQ(name, "OPEN_MAX", 8)) {
+ /* ^ */
+#ifdef OPEN_MAX
+ *iv_return = OPEN_MAX;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "O_NOCTTY"))
-#ifdef O_NOCTTY
- return O_NOCTTY;
+ }
+ if (memEQ(name, "SEEK_CUR", 8)) {
+ /* ^ */
+#ifdef SEEK_CUR
+ *iv_return = SEEK_CUR;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "O_NONBLOCK"))
-#ifdef O_NONBLOCK
- return O_NONBLOCK;
+ }
+ if (memEQ(name, "SEEK_END", 8)) {
+ /* ^ */
+#ifdef SEEK_END
+ *iv_return = SEEK_END;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "O_ACCMODE"))
-#ifdef O_ACCMODE
- return O_ACCMODE;
+ }
+ if (memEQ(name, "SEEK_SET", 8)) {
+ /* ^ */
+#ifdef SEEK_SET
+ *iv_return = SEEK_SET;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- break;
- }
- if (strEQ(name, "OPEN_MAX"))
-#ifdef OPEN_MAX
- return OPEN_MAX;
+ }
+ break;
+ case 'G':
+ if (memEQ(name, "HUGE_VAL", 8)) {
+ /* ^ */
+#if (defined(USE_LONG_DOUBLE) && defined(HUGE_VALL)) || defined(HUGE_VAL)
+ /* HUGE_VALL is admittedly non-POSIX but if we are using long doubles
+ * we might as well use long doubles. --jhi */
+ *nv_return =
+#if defined(USE_LONG_DOUBLE) && defined(HUGE_VALL)
+ HUGE_VALL
#else
- goto not_there;
+ HUGE_VAL
#endif
- if (strEQ(name, "OPOST"))
-#ifdef OPOST
- return OPOST;
+ ;
+ return PERL_constant_ISNV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- break;
- case 'P':
- if (strEQ(name, "PATH_MAX"))
-#ifdef PATH_MAX
- return PATH_MAX;
+ }
+ break;
+ case 'I':
+ if (memEQ(name, "TCIFLUSH", 8)) {
+ /* ^ */
+#ifdef TCIFLUSH
+ *iv_return = TCIFLUSH;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "PARENB"))
-#ifdef PARENB
- return PARENB;
+ }
+ break;
+ case 'L':
+ if (memEQ(name, "EALREADY", 8)) {
+ /* ^ */
+#ifdef EALREADY
+ *iv_return = EALREADY;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "PARMRK"))
-#ifdef PARMRK
- return PARMRK;
+ }
+ break;
+ case 'M':
+ if (memEQ(name, "NAME_MAX", 8)) {
+ /* ^ */
+#ifdef NAME_MAX
+ *iv_return = NAME_MAX;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "PARODD"))
-#ifdef PARODD
- return PARODD;
+ }
+ break;
+ case 'N':
+ if (memEQ(name, "LINK_MAX", 8)) {
+ /* ^ */
+#ifdef LINK_MAX
+ *iv_return = LINK_MAX;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "PIPE_BUF"))
-#ifdef PIPE_BUF
- return PIPE_BUF;
+ }
+ if (memEQ(name, "LONG_MAX", 8)) {
+ /* ^ */
+#ifdef LONG_MAX
+ *iv_return = LONG_MAX;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- break;
- case 'R':
- if (strEQ(name, "RAND_MAX"))
-#ifdef RAND_MAX
- return RAND_MAX;
+ }
+ if (memEQ(name, "LONG_MIN", 8)) {
+ /* ^ */
+#ifdef LONG_MIN
+ *iv_return = LONG_MIN;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "R_OK"))
-#ifdef R_OK
- return R_OK;
+ }
+ if (memEQ(name, "O_NOCTTY", 8)) {
+ /* ^ */
+#ifdef O_NOCTTY
+ *iv_return = O_NOCTTY;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- break;
- case 'S':
- if (strnEQ(name, "SIG", 3)) {
- if (name[3] == '_') {
- if (strEQ(name, "SIG_BLOCK"))
-#ifdef SIG_BLOCK
- return SIG_BLOCK;
+ }
+ if (memEQ(name, "RAND_MAX", 8)) {
+ /* ^ */
+#ifdef RAND_MAX
+ *iv_return = RAND_MAX;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
-#ifdef SIG_DFL
- if (strEQ(name, "SIG_DFL")) return (IV)SIG_DFL;
+ }
+ if (memEQ(name, "UINT_MAX", 8)) {
+ /* ^ */
+#ifdef UINT_MAX
+ *iv_return = (IV) UINT_MAX;
+ return PERL_constant_ISUV;
+#else
+ return PERL_constant_NOTDEF;
#endif
-#ifdef SIG_ERR
- if (strEQ(name, "SIG_ERR")) return (IV)SIG_ERR;
+ }
+ break;
+ case 'O':
+ if (memEQ(name, "ENOTCONN", 8)) {
+ /* ^ */
+#ifdef ENOTCONN
+ *iv_return = ENOTCONN;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
#endif
-#ifdef SIG_IGN
- if (strEQ(name, "SIG_IGN")) return (IV)SIG_IGN;
+ }
+ if (memEQ(name, "ENOTSOCK", 8)) {
+ /* ^ */
+#ifdef ENOTSOCK
+ *iv_return = ENOTSOCK;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "SIG_SETMASK"))
-#ifdef SIG_SETMASK
- return SIG_SETMASK;
+ }
+ if (memEQ(name, "TCOFLUSH", 8)) {
+ /* ^ */
+#ifdef TCOFLUSH
+ *iv_return = TCOFLUSH;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "SIG_UNBLOCK"))
-#ifdef SIG_UNBLOCK
- return SIG_UNBLOCK;
+ }
+ break;
+ case 'P':
+ if (memEQ(name, "PIPE_BUF", 8)) {
+ /* ^ */
+#ifdef PIPE_BUF
+ *iv_return = PIPE_BUF;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- break;
- }
- if (strEQ(name, "SIGABRT"))
-#ifdef SIGABRT
- return SIGABRT;
+ }
+ break;
+ case 'R':
+ if (memEQ(name, "EPROCLIM", 8)) {
+ /* ^ */
+#ifdef EPROCLIM
+ *iv_return = EPROCLIM;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "SIGALRM"))
-#ifdef SIGALRM
- return SIGALRM;
+ }
+ if (memEQ(name, "O_RDONLY", 8)) {
+ /* ^ */
+#ifdef O_RDONLY
+ *iv_return = O_RDONLY;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "SIGCHLD"))
-#ifdef SIGCHLD
- return SIGCHLD;
+ }
+ if (memEQ(name, "SHRT_MAX", 8)) {
+ /* ^ */
+#ifdef SHRT_MAX
+ *iv_return = SHRT_MAX;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "SIGCONT"))
-#ifdef SIGCONT
- return SIGCONT;
+ }
+ if (memEQ(name, "SHRT_MIN", 8)) {
+ /* ^ */
+#ifdef SHRT_MIN
+ *iv_return = SHRT_MIN;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "SIGFPE"))
-#ifdef SIGFPE
- return SIGFPE;
+ }
+ break;
+ case 'S':
+ if (memEQ(name, "EMSGSIZE", 8)) {
+ /* ^ */
+#ifdef EMSGSIZE
+ *iv_return = EMSGSIZE;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "SIGHUP"))
-#ifdef SIGHUP
- return SIGHUP;
+ }
+ if (memEQ(name, "F_SETLKW", 8)) {
+ /* ^ */
+#ifdef F_SETLKW
+ *iv_return = F_SETLKW;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "SIGILL"))
-#ifdef SIGILL
- return SIGILL;
+ }
+ break;
+ case 'T':
+ if (memEQ(name, "PATH_MAX", 8)) {
+ /* ^ */
+#ifdef PATH_MAX
+ *iv_return = PATH_MAX;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "SIGINT"))
-#ifdef SIGINT
- return SIGINT;
+ }
+ break;
+ case 'W':
+ if (memEQ(name, "O_WRONLY", 8)) {
+ /* ^ */
+#ifdef O_WRONLY
+ *iv_return = O_WRONLY;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "SIGKILL"))
-#ifdef SIGKILL
- return SIGKILL;
+ }
+ break;
+ case '_':
+ if (memEQ(name, "LC_CTYPE", 8)) {
+ /* ^ */
+#ifdef LC_CTYPE
+ *iv_return = LC_CTYPE;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "SIGPIPE"))
-#ifdef SIGPIPE
- return SIGPIPE;
+ }
+ break;
+ case 't':
+ if (memEQ(name, "L_tmpnam", 8)) {
+ /* ^ */
+#ifdef L_tmpnam
+ *iv_return = L_tmpnam;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "SIGQUIT"))
-#ifdef SIGQUIT
- return SIGQUIT;
+ }
+ break;
+ }
+ return PERL_constant_NOTFOUND;
+}
+
+static int
+constant_9 (const char *name, IV *iv_return, NV *nv_return) {
+ /* When generated this function returned values for the list of names given
+ here. However, subsequent manual editing may have added or removed some.
+ CHILD_MAX EHOSTDOWN ENETRESET ENOTEMPTY ESHUTDOWN ETIMEDOUT FLT_RADIX
+ L_ctermid L_cuserid L_tmpname MAX_CANON MAX_INPUT O_ACCMODE SCHAR_MAX
+ SCHAR_MIN SIG_BLOCK SSIZE_MAX TCIOFLUSH TCSADRAIN TCSAFLUSH UCHAR_MAX
+ ULONG_MAX USHRT_MAX WUNTRACED */
+ /* Offset 3 gives the best switch position. */
+ switch (name[3]) {
+ case 'A':
+ if (memEQ(name, "SCHAR_MAX", 9)) {
+ /* ^ */
+#ifdef SCHAR_MAX
+ *iv_return = SCHAR_MAX;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "SIGSEGV"))
-#ifdef SIGSEGV
- return SIGSEGV;
+ }
+ if (memEQ(name, "SCHAR_MIN", 9)) {
+ /* ^ */
+#ifdef SCHAR_MIN
+ *iv_return = SCHAR_MIN;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "SIGSTOP"))
-#ifdef SIGSTOP
- return SIGSTOP;
+ }
+ if (memEQ(name, "TCSADRAIN", 9)) {
+ /* ^ */
+#ifdef TCSADRAIN
+ *iv_return = TCSADRAIN;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "SIGTERM"))
-#ifdef SIGTERM
- return SIGTERM;
+ }
+ if (memEQ(name, "TCSAFLUSH", 9)) {
+ /* ^ */
+#ifdef TCSAFLUSH
+ *iv_return = TCSAFLUSH;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "SIGTSTP"))
-#ifdef SIGTSTP
- return SIGTSTP;
+ }
+ if (memEQ(name, "UCHAR_MAX", 9)) {
+ /* ^ */
+#ifdef UCHAR_MAX
+ *iv_return = (IV) UCHAR_MAX;
+ return PERL_constant_ISUV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "SIGTTIN"))
-#ifdef SIGTTIN
- return SIGTTIN;
+ }
+ break;
+ case 'C':
+ if (memEQ(name, "O_ACCMODE", 9)) {
+ /* ^ */
+#ifdef O_ACCMODE
+ *iv_return = O_ACCMODE;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "SIGTTOU"))
-#ifdef SIGTTOU
- return SIGTTOU;
+ }
+ break;
+ case 'L':
+ if (memEQ(name, "CHILD_MAX", 9)) {
+ /* ^ */
+#ifdef CHILD_MAX
+ *iv_return = CHILD_MAX;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "SIGUSR1"))
-#ifdef SIGUSR1
- return SIGUSR1;
+ }
+ break;
+ case 'M':
+ if (memEQ(name, "ETIMEDOUT", 9)) {
+ /* ^ */
+#ifdef ETIMEDOUT
+ *iv_return = ETIMEDOUT;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "SIGUSR2"))
-#ifdef SIGUSR2
- return SIGUSR2;
+ }
+ break;
+ case 'N':
+ if (memEQ(name, "ULONG_MAX", 9)) {
+ /* ^ */
+#ifdef ULONG_MAX
+ *iv_return = (IV) ULONG_MAX;
+ return PERL_constant_ISUV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- break;
- }
- if (name[1] == '_') {
- if (strEQ(name, "S_ISGID"))
-#ifdef S_ISGID
- return S_ISGID;
+ }
+ break;
+ case 'O':
+ if (memEQ(name, "TCIOFLUSH", 9)) {
+ /* ^ */
+#ifdef TCIOFLUSH
+ *iv_return = TCIOFLUSH;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "S_ISUID"))
-#ifdef S_ISUID
- return S_ISUID;
+ }
+ break;
+ case 'R':
+ if (memEQ(name, "USHRT_MAX", 9)) {
+ /* ^ */
+#ifdef USHRT_MAX
+ *iv_return = (IV) USHRT_MAX;
+ return PERL_constant_ISUV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "S_IRGRP"))
-#ifdef S_IRGRP
- return S_IRGRP;
+ }
+ break;
+ case 'S':
+ if (memEQ(name, "EHOSTDOWN", 9)) {
+ /* ^ */
+#ifdef EHOSTDOWN
+ *iv_return = EHOSTDOWN;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "S_IROTH"))
-#ifdef S_IROTH
- return S_IROTH;
+ }
+ break;
+ case 'T':
+ if (memEQ(name, "ENETRESET", 9)) {
+ /* ^ */
+#ifdef ENETRESET
+ *iv_return = ENETRESET;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "S_IRUSR"))
-#ifdef S_IRUSR
- return S_IRUSR;
+ }
+ if (memEQ(name, "ENOTEMPTY", 9)) {
+ /* ^ */
+#ifdef ENOTEMPTY
+ *iv_return = ENOTEMPTY;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "S_IRWXG"))
-#ifdef S_IRWXG
- return S_IRWXG;
+ }
+ if (memEQ(name, "WUNTRACED", 9)) {
+ /* ^ */
+#ifdef WUNTRACED
+ *iv_return = WUNTRACED;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "S_IRWXO"))
-#ifdef S_IRWXO
- return S_IRWXO;
+ }
+ break;
+ case 'U':
+ if (memEQ(name, "ESHUTDOWN", 9)) {
+ /* ^ */
+#ifdef ESHUTDOWN
+ *iv_return = ESHUTDOWN;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "S_IRWXU"))
-#ifdef S_IRWXU
- return S_IRWXU;
+ }
+ break;
+ case 'Z':
+ if (memEQ(name, "SSIZE_MAX", 9)) {
+ /* ^ */
+#ifdef SSIZE_MAX
+ *iv_return = SSIZE_MAX;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "S_IWGRP"))
-#ifdef S_IWGRP
- return S_IWGRP;
+ }
+ break;
+ case '_':
+ if (memEQ(name, "FLT_RADIX", 9)) {
+ /* ^ */
+#ifdef FLT_RADIX
+ *nv_return = FLT_RADIX;
+ return PERL_constant_ISNV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "S_IWOTH"))
-#ifdef S_IWOTH
- return S_IWOTH;
+ }
+ if (memEQ(name, "MAX_CANON", 9)) {
+ /* ^ */
+#ifdef MAX_CANON
+ *iv_return = MAX_CANON;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "S_IWUSR"))
-#ifdef S_IWUSR
- return S_IWUSR;
+ }
+ if (memEQ(name, "MAX_INPUT", 9)) {
+ /* ^ */
+#ifdef MAX_INPUT
+ *iv_return = MAX_INPUT;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "S_IXGRP"))
-#ifdef S_IXGRP
- return S_IXGRP;
+ }
+ if (memEQ(name, "SIG_BLOCK", 9)) {
+ /* ^ */
+#ifdef SIG_BLOCK
+ *iv_return = SIG_BLOCK;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "S_IXOTH"))
-#ifdef S_IXOTH
- return S_IXOTH;
+ }
+ break;
+ case 'm':
+ if (memEQ(name, "L_tmpname", 9)) {
+ /* ^ */
+#ifdef L_tmpname
+ *iv_return = L_tmpnam;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "S_IXUSR"))
-#ifdef S_IXUSR
- return S_IXUSR;
+ }
+ break;
+ case 't':
+ if (memEQ(name, "L_ctermid", 9)) {
+ /* ^ */
+#ifdef L_ctermid
+ *iv_return = L_ctermid;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- errno = EAGAIN; /* the following aren't constants */
-#ifdef S_ISBLK
- if (strEQ(name, "S_ISBLK")) return S_ISBLK(arg);
+ }
+ break;
+ case 'u':
+ if (memEQ(name, "L_cuserid", 9)) {
+ /* ^ */
+#ifdef L_cuserid
+ *iv_return = L_cuserid;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
#endif
-#ifdef S_ISCHR
- if (strEQ(name, "S_ISCHR")) return S_ISCHR(arg);
+ }
+ break;
+ }
+ return PERL_constant_NOTFOUND;
+}
+
+static int
+constant_10 (const char *name, IV *iv_return, NV *nv_return) {
+ /* When generated this function returned values for the list of names given
+ here. However, subsequent manual editing may have added or removed some.
+ EADDRINUSE ECONNRESET EOPNOTSUPP EPROTOTYPE FD_CLOEXEC FLT_ROUNDS
+ LC_COLLATE LC_NUMERIC MB_CUR_MAX MB_LEN_MAX O_NONBLOCK SA_NODEFER
+ SA_ONSTACK SA_RESTART SA_SIGINFO STREAM_MAX TZNAME_MAX */
+ /* Offset 5 gives the best switch position. */
+ switch (name[5]) {
+ case 'B':
+ if (memEQ(name, "O_NONBLOCK", 10)) {
+ /* ^ */
+#ifdef O_NONBLOCK
+ *iv_return = O_NONBLOCK;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
#endif
-#ifdef S_ISDIR
- if (strEQ(name, "S_ISDIR")) return S_ISDIR(arg);
+ }
+ break;
+ case 'D':
+ if (memEQ(name, "SA_NODEFER", 10)) {
+ /* ^ */
+#ifdef SA_NODEFER
+ *iv_return = (IV) SA_NODEFER;
+ return PERL_constant_ISUV;
+#else
+ return PERL_constant_NOTDEF;
#endif
-#ifdef S_ISFIFO
- if (strEQ(name, "S_ISFIFO")) return S_ISFIFO(arg);
+ }
+ break;
+ case 'E':
+ if (memEQ(name, "TZNAME_MAX", 10)) {
+ /* ^ */
+#ifdef TZNAME_MAX
+ *iv_return = TZNAME_MAX;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
#endif
-#ifdef S_ISREG
- if (strEQ(name, "S_ISREG")) return S_ISREG(arg);
+ }
+ break;
+ case 'G':
+ if (memEQ(name, "SA_SIGINFO", 10)) {
+ /* ^ */
+#ifdef SA_SIGINFO
+ *iv_return = (IV) SA_SIGINFO;
+ return PERL_constant_ISUV;
+#else
+ return PERL_constant_NOTDEF;
#endif
- break;
- }
- if (strEQ(name, "SEEK_CUR"))
-#ifdef SEEK_CUR
- return SEEK_CUR;
+ }
+ break;
+ case 'I':
+ if (memEQ(name, "EADDRINUSE", 10)) {
+ /* ^ */
+#ifdef EADDRINUSE
+ *iv_return = EADDRINUSE;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "SEEK_END"))
-#ifdef SEEK_END
- return SEEK_END;
+ }
+ break;
+ case 'L':
+ if (memEQ(name, "LC_COLLATE", 10)) {
+ /* ^ */
+#ifdef LC_COLLATE
+ *iv_return = LC_COLLATE;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "SEEK_SET"))
-#ifdef SEEK_SET
- return SEEK_SET;
+ }
+ break;
+ case 'M':
+ if (memEQ(name, "LC_NUMERIC", 10)) {
+ /* ^ */
+#ifdef LC_NUMERIC
+ *iv_return = LC_NUMERIC;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "STREAM_MAX"))
+ }
+ if (memEQ(name, "STREAM_MAX", 10)) {
+ /* ^ */
#ifdef STREAM_MAX
- return STREAM_MAX;
+ *iv_return = STREAM_MAX;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "SHRT_MAX"))
-#ifdef SHRT_MAX
- return SHRT_MAX;
+ }
+ break;
+ case 'N':
+ if (memEQ(name, "MB_LEN_MAX", 10)) {
+ /* ^ */
+#ifdef MB_LEN_MAX
+ *iv_return = MB_LEN_MAX;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "SHRT_MIN"))
-#ifdef SHRT_MIN
- return SHRT_MIN;
+ }
+ break;
+ case 'O':
+ if (memEQ(name, "EPROTOTYPE", 10)) {
+ /* ^ */
+#ifdef EPROTOTYPE
+ *iv_return = EPROTOTYPE;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strnEQ(name, "SA_", 3)) {
- if (strEQ(name, "SA_NOCLDSTOP"))
-#ifdef SA_NOCLDSTOP
- return SA_NOCLDSTOP;
+ }
+ if (memEQ(name, "FD_CLOEXEC", 10)) {
+ /* ^ */
+#ifdef FD_CLOEXEC
+ *iv_return = FD_CLOEXEC;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "SA_NOCLDWAIT"))
-#ifdef SA_NOCLDWAIT
- return SA_NOCLDWAIT;
+ }
+ if (memEQ(name, "FLT_ROUNDS", 10)) {
+ /* ^ */
+#ifdef FLT_ROUNDS
+ *nv_return = FLT_ROUNDS;
+ return PERL_constant_ISNV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ break;
+ case 'R':
+ if (memEQ(name, "ECONNRESET", 10)) {
+ /* ^ */
+#ifdef ECONNRESET
+ *iv_return = ECONNRESET;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ if (memEQ(name, "MB_CUR_MAX", 10)) {
+ /* ^ */
+#ifdef MB_CUR_MAX
+ *iv_return = MB_CUR_MAX;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ break;
+ case 'S':
+ if (memEQ(name, "SA_ONSTACK", 10)) {
+ /* ^ */
+#ifdef SA_ONSTACK
+ *iv_return = (IV) SA_ONSTACK;
+ return PERL_constant_ISUV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ if (memEQ(name, "SA_RESTART", 10)) {
+ /* ^ */
+#ifdef SA_RESTART
+ *iv_return = (IV) SA_RESTART;
+ return PERL_constant_ISUV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ break;
+ case 'T':
+ if (memEQ(name, "EOPNOTSUPP", 10)) {
+ /* ^ */
+#ifdef EOPNOTSUPP
+ *iv_return = EOPNOTSUPP;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ break;
+ }
+ return PERL_constant_NOTFOUND;
+}
+
+static int
+constant_11 (const char *name, IV *iv_return, NV *nv_return) {
+ /* When generated this function returned values for the list of names given
+ here. However, subsequent manual editing may have added or removed some.
+ DBL_EPSILON DBL_MAX_EXP DBL_MIN_EXP EINPROGRESS ENETUNREACH ENOPROTOOPT
+ EWOULDBLOCK FLT_EPSILON FLT_MAX_EXP FLT_MIN_EXP LC_MESSAGES LC_MONETARY
+ NGROUPS_MAX SIG_SETMASK SIG_UNBLOCK _SC_ARG_MAX _SC_CLK_TCK _SC_VERSION */
+ /* Offset 5 gives the best switch position. */
+ switch (name[5]) {
+ case 'A':
+ if (memEQ(name, "DBL_MAX_EXP", 11)) {
+ /* ^ */
+#ifdef DBL_MAX_EXP
+ *nv_return = DBL_MAX_EXP;
+ return PERL_constant_ISNV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ if (memEQ(name, "FLT_MAX_EXP", 11)) {
+ /* ^ */
+#ifdef FLT_MAX_EXP
+ *nv_return = FLT_MAX_EXP;
+ return PERL_constant_ISNV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ break;
+ case 'D':
+ if (memEQ(name, "EWOULDBLOCK", 11)) {
+ /* ^ */
+#ifdef EWOULDBLOCK
+ *iv_return = EWOULDBLOCK;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ break;
+ case 'E':
+ if (memEQ(name, "SIG_SETMASK", 11)) {
+ /* ^ */
+#ifdef SIG_SETMASK
+ *iv_return = SIG_SETMASK;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ if (memEQ(name, "_SC_VERSION", 11)) {
+ /* ^ */
+#ifdef _SC_VERSION
+ *iv_return = _SC_VERSION;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
+#endif
+ }
+ break;
+ case 'I':
+ if (memEQ(name, "DBL_MIN_EXP", 11)) {
+ /* ^ */
+#ifdef DBL_MIN_EXP
+ *nv_return = DBL_MIN_EXP;
+ return PERL_constant_ISNV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "SA_NODEFER"))
-#ifdef SA_NODEFER
- return SA_NODEFER;
+ }
+ if (memEQ(name, "FLT_MIN_EXP", 11)) {
+ /* ^ */
+#ifdef FLT_MIN_EXP
+ *nv_return = FLT_MIN_EXP;
+ return PERL_constant_ISNV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "SA_ONSTACK"))
-#ifdef SA_ONSTACK
- return SA_ONSTACK;
+ }
+ break;
+ case 'L':
+ if (memEQ(name, "_SC_CLK_TCK", 11)) {
+ /* ^ */
+#ifdef _SC_CLK_TCK
+ *iv_return = _SC_CLK_TCK;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "SA_RESETHAND"))
-#ifdef SA_RESETHAND
- return SA_RESETHAND;
+ }
+ break;
+ case 'N':
+ if (memEQ(name, "ENETUNREACH", 11)) {
+ /* ^ */
+#ifdef ENETUNREACH
+ *iv_return = ENETUNREACH;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "SA_RESTART"))
-#ifdef SA_RESTART
- return SA_RESTART;
+ }
+ if (memEQ(name, "LC_MONETARY", 11)) {
+ /* ^ */
+#ifdef LC_MONETARY
+ *iv_return = LC_MONETARY;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "SA_SIGINFO"))
-#ifdef SA_SIGINFO
- return SA_SIGINFO;
+ }
+ if (memEQ(name, "SIG_UNBLOCK", 11)) {
+ /* ^ */
+#ifdef SIG_UNBLOCK
+ *iv_return = SIG_UNBLOCK;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- break;
- }
- if (strEQ(name, "SCHAR_MAX"))
-#ifdef SCHAR_MAX
- return SCHAR_MAX;
+ }
+ break;
+ case 'O':
+ if (memEQ(name, "EINPROGRESS", 11)) {
+ /* ^ */
+#ifdef EINPROGRESS
+ *iv_return = EINPROGRESS;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "SCHAR_MIN"))
-#ifdef SCHAR_MIN
- return SCHAR_MIN;
+ }
+ if (memEQ(name, "ENOPROTOOPT", 11)) {
+ /* ^ */
+#ifdef ENOPROTOOPT
+ *iv_return = ENOPROTOOPT;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "SSIZE_MAX"))
-#ifdef SSIZE_MAX
- return SSIZE_MAX;
+ }
+ break;
+ case 'P':
+ if (memEQ(name, "DBL_EPSILON", 11)) {
+ /* ^ */
+#ifdef DBL_EPSILON
+ *nv_return = DBL_EPSILON;
+ return PERL_constant_ISNV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "STDIN_FILENO"))
-#ifdef STDIN_FILENO
- return STDIN_FILENO;
+ }
+ if (memEQ(name, "FLT_EPSILON", 11)) {
+ /* ^ */
+#ifdef FLT_EPSILON
+ *nv_return = FLT_EPSILON;
+ return PERL_constant_ISNV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "STDOUT_FILENO"))
-#ifdef STDOUT_FILENO
- return STDOUT_FILENO;
+ }
+ if (memEQ(name, "NGROUPS_MAX", 11)) {
+ /* ^ */
+#ifdef NGROUPS_MAX
+ *iv_return = NGROUPS_MAX;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "STDERR_FILENO"))
-#ifdef STDERR_FILENO
- return STDERR_FILENO;
+ }
+ break;
+ case 'R':
+ if (memEQ(name, "_SC_ARG_MAX", 11)) {
+ /* ^ */
+#ifdef _SC_ARG_MAX
+ *iv_return = _SC_ARG_MAX;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- break;
- case 'T':
- if (strEQ(name, "TCIFLUSH"))
-#ifdef TCIFLUSH
- return TCIFLUSH;
+ }
+ break;
+ case 'S':
+ if (memEQ(name, "LC_MESSAGES", 11)) {
+ /* ^ */
+#ifdef LC_MESSAGES
+ *iv_return = LC_MESSAGES;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "TCIOFF"))
-#ifdef TCIOFF
- return TCIOFF;
+ }
+ break;
+ }
+ return PERL_constant_NOTFOUND;
+}
+
+static int
+constant_12 (const char *name, IV *iv_return, NV *nv_return) {
+ /* When generated this function returned values for the list of names given
+ here. However, subsequent manual editing may have added or removed some.
+ DBL_MANT_DIG EAFNOSUPPORT ECONNABORTED ECONNREFUSED EDESTADDRREQ
+ EHOSTUNREACH ENAMETOOLONG EPFNOSUPPORT ETOOMANYREFS EXIT_FAILURE
+ EXIT_SUCCESS FILENAME_MAX FLT_MANT_DIG LDBL_EPSILON LDBL_MAX_EXP
+ LDBL_MIN_EXP SA_NOCLDSTOP SA_NOCLDWAIT SA_RESETHAND STDIN_FILENO
+ _PC_LINK_MAX _PC_NAME_MAX _PC_NO_TRUNC _PC_PATH_MAX _PC_PIPE_BUF
+ _PC_VDISABLE _SC_OPEN_MAX */
+ /* Offset 7 gives the best switch position. */
+ switch (name[7]) {
+ case 'C':
+ if (memEQ(name, "EXIT_SUCCESS", 12)) {
+ /* ^ */
+#ifdef EXIT_SUCCESS
+ *iv_return = EXIT_SUCCESS;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ *iv_return = 0;
+ return PERL_constant_ISIV;
#endif
- if (strEQ(name, "TCIOFLUSH"))
-#ifdef TCIOFLUSH
- return TCIOFLUSH;
+ }
+ break;
+ case 'D':
+ if (memEQ(name, "EDESTADDRREQ", 12)) {
+ /* ^ */
+#ifdef EDESTADDRREQ
+ *iv_return = EDESTADDRREQ;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "TCION"))
-#ifdef TCION
- return TCION;
+ }
+ if (memEQ(name, "SA_NOCLDSTOP", 12)) {
+ /* ^ */
+#ifdef SA_NOCLDSTOP
+ *iv_return = (IV) SA_NOCLDSTOP;
+ return PERL_constant_ISUV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "TCOFLUSH"))
-#ifdef TCOFLUSH
- return TCOFLUSH;
+ }
+ if (memEQ(name, "SA_NOCLDWAIT", 12)) {
+ /* ^ */
+#ifdef SA_NOCLDWAIT
+ *iv_return = (IV) SA_NOCLDWAIT;
+ return PERL_constant_ISUV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "TCOOFF"))
-#ifdef TCOOFF
- return TCOOFF;
+ }
+ break;
+ case 'E':
+ if (memEQ(name, "FILENAME_MAX", 12)) {
+ /* ^ */
+#ifdef FILENAME_MAX
+ *iv_return = FILENAME_MAX;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "TCOON"))
-#ifdef TCOON
- return TCOON;
+ }
+ if (memEQ(name, "_PC_NAME_MAX", 12)) {
+ /* ^ */
+#ifdef _PC_NAME_MAX
+ *iv_return = _PC_NAME_MAX;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "TCSADRAIN"))
-#ifdef TCSADRAIN
- return TCSADRAIN;
+ }
+ if (memEQ(name, "_PC_PIPE_BUF", 12)) {
+ /* ^ */
+#ifdef _PC_PIPE_BUF
+ *iv_return = _PC_PIPE_BUF;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "TCSAFLUSH"))
-#ifdef TCSAFLUSH
- return TCSAFLUSH;
+ }
+ break;
+ case 'F':
+ if (memEQ(name, "ECONNREFUSED", 12)) {
+ /* ^ */
+#ifdef ECONNREFUSED
+ *iv_return = ECONNREFUSED;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "TCSANOW"))
-#ifdef TCSANOW
- return TCSANOW;
+ }
+ break;
+ case 'H':
+ if (memEQ(name, "_PC_PATH_MAX", 12)) {
+ /* ^ */
+#ifdef _PC_PATH_MAX
+ *iv_return = _PC_PATH_MAX;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "TMP_MAX"))
-#ifdef TMP_MAX
- return TMP_MAX;
+ }
+ break;
+ case 'I':
+ if (memEQ(name, "EXIT_FAILURE", 12)) {
+ /* ^ */
+#ifdef EXIT_FAILURE
+ *iv_return = EXIT_FAILURE;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ *iv_return = 1;
+ return PERL_constant_ISIV;
#endif
- if (strEQ(name, "TOSTOP"))
-#ifdef TOSTOP
- return TOSTOP;
+ }
+ if (memEQ(name, "STDIN_FILENO", 12)) {
+ /* ^ */
+#ifdef STDIN_FILENO
+ *iv_return = STDIN_FILENO;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "TZNAME_MAX"))
-#ifdef TZNAME_MAX
- return TZNAME_MAX;
+ }
+ break;
+ case 'K':
+ if (memEQ(name, "_PC_LINK_MAX", 12)) {
+ /* ^ */
+#ifdef _PC_LINK_MAX
+ *iv_return = _PC_LINK_MAX;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- break;
- case 'U':
- if (strEQ(name, "UCHAR_MAX"))
-#ifdef UCHAR_MAX
- return UCHAR_MAX;
+ }
+ break;
+ case 'N':
+ if (memEQ(name, "LDBL_MIN_EXP", 12)) {
+ /* ^ */
+#ifdef LDBL_MIN_EXP
+ *nv_return = LDBL_MIN_EXP;
+ return PERL_constant_ISNV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "UINT_MAX"))
-#ifdef UINT_MAX
- return UINT_MAX;
+ }
+ if (memEQ(name, "_SC_OPEN_MAX", 12)) {
+ /* ^ */
+#ifdef _SC_OPEN_MAX
+ *iv_return = _SC_OPEN_MAX;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "ULONG_MAX"))
-#ifdef ULONG_MAX
- return ULONG_MAX;
+ }
+ break;
+ case 'O':
+ if (memEQ(name, "ECONNABORTED", 12)) {
+ /* ^ */
+#ifdef ECONNABORTED
+ *iv_return = ECONNABORTED;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "USHRT_MAX"))
-#ifdef USHRT_MAX
- return USHRT_MAX;
+ }
+ if (memEQ(name, "ENAMETOOLONG", 12)) {
+ /* ^ */
+#ifdef ENAMETOOLONG
+ *iv_return = ENAMETOOLONG;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- break;
- case 'V':
- if (strEQ(name, "VEOF"))
-#ifdef VEOF
- return VEOF;
+ }
+ break;
+ case 'P':
+ if (memEQ(name, "EAFNOSUPPORT", 12)) {
+ /* ^ */
+#ifdef EAFNOSUPPORT
+ *iv_return = EAFNOSUPPORT;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "VEOL"))
-#ifdef VEOL
- return VEOL;
+ }
+ if (memEQ(name, "EPFNOSUPPORT", 12)) {
+ /* ^ */
+#ifdef EPFNOSUPPORT
+ *iv_return = EPFNOSUPPORT;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "VERASE"))
-#ifdef VERASE
- return VERASE;
+ }
+ break;
+ case 'R':
+ if (memEQ(name, "EHOSTUNREACH", 12)) {
+ /* ^ */
+#ifdef EHOSTUNREACH
+ *iv_return = EHOSTUNREACH;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "VINTR"))
-#ifdef VINTR
- return VINTR;
+ }
+ break;
+ case 'S':
+ if (memEQ(name, "LDBL_EPSILON", 12)) {
+ /* ^ */
+#ifdef LDBL_EPSILON
+ *nv_return = LDBL_EPSILON;
+ return PERL_constant_ISNV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "VKILL"))
-#ifdef VKILL
- return VKILL;
+ }
+ if (memEQ(name, "_PC_VDISABLE", 12)) {
+ /* ^ */
+#ifdef _PC_VDISABLE
+ *iv_return = _PC_VDISABLE;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "VMIN"))
-#ifdef VMIN
- return VMIN;
+ }
+ break;
+ case 'T':
+ if (memEQ(name, "DBL_MANT_DIG", 12)) {
+ /* ^ */
+#ifdef DBL_MANT_DIG
+ *nv_return = DBL_MANT_DIG;
+ return PERL_constant_ISNV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "VQUIT"))
-#ifdef VQUIT
- return VQUIT;
+ }
+ if (memEQ(name, "FLT_MANT_DIG", 12)) {
+ /* ^ */
+#ifdef FLT_MANT_DIG
+ *nv_return = FLT_MANT_DIG;
+ return PERL_constant_ISNV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "VSTART"))
-#ifdef VSTART
- return VSTART;
+ }
+ if (memEQ(name, "SA_RESETHAND", 12)) {
+ /* ^ */
+#ifdef SA_RESETHAND
+ *iv_return = (IV) SA_RESETHAND;
+ return PERL_constant_ISUV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "VSTOP"))
-#ifdef VSTOP
- return VSTOP;
+ }
+ if (memEQ(name, "_PC_NO_TRUNC", 12)) {
+ /* ^ */
+#ifdef _PC_NO_TRUNC
+ *iv_return = _PC_NO_TRUNC;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "VSUSP"))
-#ifdef VSUSP
- return VSUSP;
+ }
+ break;
+ case 'X':
+ if (memEQ(name, "LDBL_MAX_EXP", 12)) {
+ /* ^ */
+#ifdef LDBL_MAX_EXP
+ *nv_return = LDBL_MAX_EXP;
+ return PERL_constant_ISNV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "VTIME"))
-#ifdef VTIME
- return VTIME;
+ }
+ break;
+ case 'Y':
+ if (memEQ(name, "ETOOMANYREFS", 12)) {
+ /* ^ */
+#ifdef ETOOMANYREFS
+ *iv_return = ETOOMANYREFS;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- break;
- case 'W':
- if (strEQ(name, "W_OK"))
-#ifdef W_OK
- return W_OK;
+ }
+ break;
+ }
+ return PERL_constant_NOTFOUND;
+}
+
+static int
+constant_13 (const char *name, IV *iv_return, NV *nv_return) {
+ /* When generated this function returned values for the list of names given
+ here. However, subsequent manual editing may have added or removed some.
+ EADDRNOTAVAIL LDBL_MANT_DIG STDERR_FILENO STDOUT_FILENO _PC_MAX_CANON
+ _PC_MAX_INPUT _SC_CHILD_MAX _SC_SAVED_IDS */
+ /* Offset 10 gives the best switch position. */
+ switch (name[10]) {
+ case 'A':
+ if (memEQ(name, "EADDRNOTAVAIL", 13)) {
+ /* ^ */
+#ifdef EADDRNOTAVAIL
+ *iv_return = EADDRNOTAVAIL;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "WNOHANG"))
-#ifdef WNOHANG
- return WNOHANG;
+ }
+ break;
+ case 'D':
+ if (memEQ(name, "LDBL_MANT_DIG", 13)) {
+ /* ^ */
+#ifdef LDBL_MANT_DIG
+ *nv_return = LDBL_MANT_DIG;
+ return PERL_constant_ISNV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "WUNTRACED"))
-#ifdef WUNTRACED
- return WUNTRACED;
+ }
+ break;
+ case 'E':
+ if (memEQ(name, "STDERR_FILENO", 13)) {
+ /* ^ */
+#ifdef STDERR_FILENO
+ *iv_return = STDERR_FILENO;
+ return PERL_constant_ISIV;
#else
- goto not_there;
-#endif
- errno = EAGAIN; /* the following aren't constants */
-#ifdef WEXITSTATUS
- if (strEQ(name, "WEXITSTATUS")) return WEXITSTATUS(arg);
-#endif
-#ifdef WIFEXITED
- if (strEQ(name, "WIFEXITED")) return WIFEXITED(arg);
+ return PERL_constant_NOTDEF;
#endif
-#ifdef WIFSIGNALED
- if (strEQ(name, "WIFSIGNALED")) return WIFSIGNALED(arg);
-#endif
-#ifdef WIFSTOPPED
- if (strEQ(name, "WIFSTOPPED")) return WIFSTOPPED(arg);
-#endif
-#ifdef WSTOPSIG
- if (strEQ(name, "WSTOPSIG")) return WSTOPSIG(arg);
-#endif
-#ifdef WTERMSIG
- if (strEQ(name, "WTERMSIG")) return WTERMSIG(arg);
+ }
+ if (memEQ(name, "STDOUT_FILENO", 13)) {
+ /* ^ */
+#ifdef STDOUT_FILENO
+ *iv_return = STDOUT_FILENO;
+ return PERL_constant_ISIV;
+#else
+ return PERL_constant_NOTDEF;
#endif
- break;
- case 'X':
- if (strEQ(name, "X_OK"))
-#ifdef X_OK
- return X_OK;
+ }
+ break;
+ case 'I':
+ if (memEQ(name, "_SC_SAVED_IDS", 13)) {
+ /* ^ */
+#ifdef _SC_SAVED_IDS
+ *iv_return = _SC_SAVED_IDS;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- break;
- case '_':
- if (strnEQ(name, "_PC_", 4)) {
- if (strEQ(name, "_PC_CHOWN_RESTRICTED"))
-#if defined(_PC_CHOWN_RESTRICTED) || HINT_SC_EXIST
- return _PC_CHOWN_RESTRICTED;
+ }
+ break;
+ case 'M':
+ if (memEQ(name, "_SC_CHILD_MAX", 13)) {
+ /* ^ */
+#ifdef _SC_CHILD_MAX
+ *iv_return = _SC_CHILD_MAX;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "_PC_LINK_MAX"))
-#if defined(_PC_LINK_MAX) || HINT_SC_EXIST
- return _PC_LINK_MAX;
+ }
+ break;
+ case 'N':
+ if (memEQ(name, "_PC_MAX_CANON", 13)) {
+ /* ^ */
+#ifdef _PC_MAX_CANON
+ *iv_return = _PC_MAX_CANON;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "_PC_MAX_CANON"))
-#if defined(_PC_MAX_CANON) || HINT_SC_EXIST
- return _PC_MAX_CANON;
+ }
+ break;
+ case 'P':
+ if (memEQ(name, "_PC_MAX_INPUT", 13)) {
+ /* ^ */
+#ifdef _PC_MAX_INPUT
+ *iv_return = _PC_MAX_INPUT;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "_PC_MAX_INPUT"))
-#if defined(_PC_MAX_INPUT) || HINT_SC_EXIST
- return _PC_MAX_INPUT;
+ }
+ break;
+ }
+ return PERL_constant_NOTFOUND;
+}
+
+static int
+constant_14 (const char *name, IV *iv_return, NV *nv_return) {
+ /* When generated this function returned values for the list of names given
+ here. However, subsequent manual editing may have added or removed some.
+ CLOCKS_PER_SEC DBL_MAX_10_EXP DBL_MIN_10_EXP FLT_MAX_10_EXP FLT_MIN_10_EXP
+ _POSIX_ARG_MAX _POSIX_VERSION _SC_STREAM_MAX _SC_TZNAME_MAX */
+ /* Offset 5 gives the best switch position. */
+ switch (name[5]) {
+ case 'A':
+ if (memEQ(name, "DBL_MAX_10_EXP", 14)) {
+ /* ^ */
+#ifdef DBL_MAX_10_EXP
+ *nv_return = DBL_MAX_10_EXP;
+ return PERL_constant_ISNV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "_PC_NAME_MAX"))
-#if defined(_PC_NAME_MAX) || HINT_SC_EXIST
- return _PC_NAME_MAX;
+ }
+ if (memEQ(name, "FLT_MAX_10_EXP", 14)) {
+ /* ^ */
+#ifdef FLT_MAX_10_EXP
+ *nv_return = FLT_MAX_10_EXP;
+ return PERL_constant_ISNV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "_PC_NO_TRUNC"))
-#if defined(_PC_NO_TRUNC) || HINT_SC_EXIST
- return _PC_NO_TRUNC;
+ }
+ break;
+ case 'I':
+ if (memEQ(name, "DBL_MIN_10_EXP", 14)) {
+ /* ^ */
+#ifdef DBL_MIN_10_EXP
+ *nv_return = DBL_MIN_10_EXP;
+ return PERL_constant_ISNV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "_PC_PATH_MAX"))
-#if defined(_PC_PATH_MAX) || HINT_SC_EXIST
- return _PC_PATH_MAX;
+ }
+ if (memEQ(name, "FLT_MIN_10_EXP", 14)) {
+ /* ^ */
+#ifdef FLT_MIN_10_EXP
+ *nv_return = FLT_MIN_10_EXP;
+ return PERL_constant_ISNV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "_PC_PIPE_BUF"))
-#if defined(_PC_PIPE_BUF) || HINT_SC_EXIST
- return _PC_PIPE_BUF;
+ }
+ break;
+ case 'S':
+ if (memEQ(name, "CLOCKS_PER_SEC", 14)) {
+ /* ^ */
+#ifdef CLOCKS_PER_SEC
+ *iv_return = CLOCKS_PER_SEC;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "_PC_VDISABLE"))
-#if defined(_PC_VDISABLE) || HINT_SC_EXIST
- return _PC_VDISABLE;
+ }
+ break;
+ case 'T':
+ if (memEQ(name, "_SC_STREAM_MAX", 14)) {
+ /* ^ */
+#ifdef _SC_STREAM_MAX
+ *iv_return = _SC_STREAM_MAX;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- break;
- }
- if (strnEQ(name, "_POSIX_", 7)) {
- if (strEQ(name, "_POSIX_ARG_MAX"))
+ }
+ break;
+ case 'X':
+ if (memEQ(name, "_POSIX_ARG_MAX", 14)) {
+ /* ^ */
#ifdef _POSIX_ARG_MAX
- return _POSIX_ARG_MAX;
+ *iv_return = _POSIX_ARG_MAX;
+ return PERL_constant_ISIV;
#else
- return 0;
+ *iv_return = 0;
+ return PERL_constant_ISIV;
#endif
- if (strEQ(name, "_POSIX_CHILD_MAX"))
-#ifdef _POSIX_CHILD_MAX
- return _POSIX_CHILD_MAX;
+ }
+ if (memEQ(name, "_POSIX_VERSION", 14)) {
+ /* ^ */
+#ifdef _POSIX_VERSION
+ *iv_return = _POSIX_VERSION;
+ return PERL_constant_ISIV;
#else
- return 0;
+ *iv_return = 0;
+ return PERL_constant_ISIV;
#endif
- if (strEQ(name, "_POSIX_CHOWN_RESTRICTED"))
-#ifdef _POSIX_CHOWN_RESTRICTED
- return _POSIX_CHOWN_RESTRICTED;
+ }
+ break;
+ case 'Z':
+ if (memEQ(name, "_SC_TZNAME_MAX", 14)) {
+ /* ^ */
+#ifdef _SC_TZNAME_MAX
+ *iv_return = _SC_TZNAME_MAX;
+ return PERL_constant_ISIV;
#else
- return 0;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "_POSIX_JOB_CONTROL"))
-#ifdef _POSIX_JOB_CONTROL
- return _POSIX_JOB_CONTROL;
+ }
+ break;
+ }
+ return PERL_constant_NOTFOUND;
+}
+
+static int
+constant_15 (const char *name, IV *iv_return, NV *nv_return) {
+ /* When generated this function returned values for the list of names given
+ here. However, subsequent manual editing may have added or removed some.
+ EPROTONOSUPPORT ESOCKTNOSUPPORT LDBL_MAX_10_EXP LDBL_MIN_10_EXP
+ _POSIX_LINK_MAX _POSIX_NAME_MAX _POSIX_NO_TRUNC _POSIX_OPEN_MAX
+ _POSIX_PATH_MAX _POSIX_PIPE_BUF _POSIX_VDISABLE _SC_JOB_CONTROL
+ _SC_NGROUPS_MAX */
+ /* Offset 9 gives the best switch position. */
+ switch (name[9]) {
+ case '1':
+ if (memEQ(name, "LDBL_MAX_10_EXP", 15)) {
+ /* ^ */
+#ifdef LDBL_MAX_10_EXP
+ *nv_return = LDBL_MAX_10_EXP;
+ return PERL_constant_ISNV;
#else
- return 0;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "_POSIX_LINK_MAX"))
-#ifdef _POSIX_LINK_MAX
- return _POSIX_LINK_MAX;
+ }
+ if (memEQ(name, "LDBL_MIN_10_EXP", 15)) {
+ /* ^ */
+#ifdef LDBL_MIN_10_EXP
+ *nv_return = LDBL_MIN_10_EXP;
+ return PERL_constant_ISNV;
#else
- return 0;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "_POSIX_MAX_CANON"))
-#ifdef _POSIX_MAX_CANON
- return _POSIX_MAX_CANON;
+ }
+ break;
+ case 'E':
+ if (memEQ(name, "_POSIX_OPEN_MAX", 15)) {
+ /* ^ */
+#ifdef _POSIX_OPEN_MAX
+ *iv_return = _POSIX_OPEN_MAX;
+ return PERL_constant_ISIV;
#else
- return 0;
+ *iv_return = 0;
+ return PERL_constant_ISIV;
#endif
- if (strEQ(name, "_POSIX_MAX_INPUT"))
-#ifdef _POSIX_MAX_INPUT
- return _POSIX_MAX_INPUT;
+ }
+ break;
+ case 'I':
+ if (memEQ(name, "_POSIX_VDISABLE", 15)) {
+ /* ^ */
+#ifdef _POSIX_VDISABLE
+ *iv_return = _POSIX_VDISABLE;
+ return PERL_constant_ISIV;
#else
- return 0;
+ *iv_return = 0;
+ return PERL_constant_ISIV;
#endif
- if (strEQ(name, "_POSIX_NAME_MAX"))
+ }
+ break;
+ case 'M':
+ if (memEQ(name, "_POSIX_NAME_MAX", 15)) {
+ /* ^ */
#ifdef _POSIX_NAME_MAX
- return _POSIX_NAME_MAX;
-#else
- return 0;
-#endif
- if (strEQ(name, "_POSIX_NGROUPS_MAX"))
-#ifdef _POSIX_NGROUPS_MAX
- return _POSIX_NGROUPS_MAX;
-#else
- return 0;
-#endif
- if (strEQ(name, "_POSIX_NO_TRUNC"))
-#ifdef _POSIX_NO_TRUNC
- return _POSIX_NO_TRUNC;
+ *iv_return = _POSIX_NAME_MAX;
+ return PERL_constant_ISIV;
#else
- return 0;
+ *iv_return = 0;
+ return PERL_constant_ISIV;
#endif
- if (strEQ(name, "_POSIX_OPEN_MAX"))
-#ifdef _POSIX_OPEN_MAX
- return _POSIX_OPEN_MAX;
+ }
+ break;
+ case 'N':
+ if (memEQ(name, "_POSIX_LINK_MAX", 15)) {
+ /* ^ */
+#ifdef _POSIX_LINK_MAX
+ *iv_return = _POSIX_LINK_MAX;
+ return PERL_constant_ISIV;
#else
- return 0;
+ *iv_return = 0;
+ return PERL_constant_ISIV;
#endif
- if (strEQ(name, "_POSIX_PATH_MAX"))
-#ifdef _POSIX_PATH_MAX
- return _POSIX_PATH_MAX;
+ }
+ break;
+ case 'O':
+ if (memEQ(name, "_SC_JOB_CONTROL", 15)) {
+ /* ^ */
+#ifdef _SC_JOB_CONTROL
+ *iv_return = _SC_JOB_CONTROL;
+ return PERL_constant_ISIV;
#else
- return 0;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "_POSIX_PIPE_BUF"))
+ }
+ break;
+ case 'P':
+ if (memEQ(name, "_POSIX_PIPE_BUF", 15)) {
+ /* ^ */
#ifdef _POSIX_PIPE_BUF
- return _POSIX_PIPE_BUF;
+ *iv_return = _POSIX_PIPE_BUF;
+ return PERL_constant_ISIV;
#else
- return 0;
+ *iv_return = 0;
+ return PERL_constant_ISIV;
#endif
- if (strEQ(name, "_POSIX_SAVED_IDS"))
-#ifdef _POSIX_SAVED_IDS
- return _POSIX_SAVED_IDS;
+ }
+ if (memEQ(name, "_SC_NGROUPS_MAX", 15)) {
+ /* ^ */
+#ifdef _SC_NGROUPS_MAX
+ *iv_return = _SC_NGROUPS_MAX;
+ return PERL_constant_ISIV;
#else
- return 0;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "_POSIX_SSIZE_MAX"))
-#ifdef _POSIX_SSIZE_MAX
- return _POSIX_SSIZE_MAX;
+ }
+ break;
+ case 'T':
+ if (memEQ(name, "_POSIX_PATH_MAX", 15)) {
+ /* ^ */
+#ifdef _POSIX_PATH_MAX
+ *iv_return = _POSIX_PATH_MAX;
+ return PERL_constant_ISIV;
#else
- return 0;
+ *iv_return = 0;
+ return PERL_constant_ISIV;
#endif
- if (strEQ(name, "_POSIX_STREAM_MAX"))
-#ifdef _POSIX_STREAM_MAX
- return _POSIX_STREAM_MAX;
+ }
+ break;
+ case 'U':
+ if (memEQ(name, "EPROTONOSUPPORT", 15)) {
+ /* ^ */
+#ifdef EPROTONOSUPPORT
+ *iv_return = EPROTONOSUPPORT;
+ return PERL_constant_ISIV;
#else
- return 0;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "_POSIX_TZNAME_MAX"))
-#ifdef _POSIX_TZNAME_MAX
- return _POSIX_TZNAME_MAX;
+ }
+ if (memEQ(name, "ESOCKTNOSUPPORT", 15)) {
+ /* ^ */
+#ifdef ESOCKTNOSUPPORT
+ *iv_return = ESOCKTNOSUPPORT;
+ return PERL_constant_ISIV;
#else
- return 0;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "_POSIX_VDISABLE"))
-#ifdef _POSIX_VDISABLE
- return _POSIX_VDISABLE;
+ }
+ break;
+ case '_':
+ if (memEQ(name, "_POSIX_NO_TRUNC", 15)) {
+ /* ^ */
+#ifdef _POSIX_NO_TRUNC
+ *iv_return = _POSIX_NO_TRUNC;
+ return PERL_constant_ISIV;
#else
- return 0;
+ *iv_return = 0;
+ return PERL_constant_ISIV;
#endif
- if (strEQ(name, "_POSIX_VERSION"))
-#ifdef _POSIX_VERSION
- return _POSIX_VERSION;
+ }
+ break;
+ }
+ return PERL_constant_NOTFOUND;
+}
+
+static int
+constant_16 (const char *name, IV *iv_return, NV *nv_return) {
+ /* When generated this function returned values for the list of names given
+ here. However, subsequent manual editing may have added or removed some.
+ _POSIX_CHILD_MAX _POSIX_MAX_CANON _POSIX_MAX_INPUT _POSIX_SAVED_IDS
+ _POSIX_SSIZE_MAX */
+ /* Offset 11 gives the best switch position. */
+ switch (name[11]) {
+ case 'C':
+ if (memEQ(name, "_POSIX_MAX_CANON", 16)) {
+ /* ^ */
+#ifdef _POSIX_MAX_CANON
+ *iv_return = _POSIX_MAX_CANON;
+ return PERL_constant_ISIV;
#else
- return 0;
+ *iv_return = 0;
+ return PERL_constant_ISIV;
#endif
- break;
- }
- if (strnEQ(name, "_SC_", 4)) {
- if (strEQ(name, "_SC_ARG_MAX"))
-#if defined(_SC_ARG_MAX) || HINT_SC_EXIST
- return _SC_ARG_MAX;
+ }
+ break;
+ case 'D':
+ if (memEQ(name, "_POSIX_CHILD_MAX", 16)) {
+ /* ^ */
+#ifdef _POSIX_CHILD_MAX
+ *iv_return = _POSIX_CHILD_MAX;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ *iv_return = 0;
+ return PERL_constant_ISIV;
#endif
- if (strEQ(name, "_SC_CHILD_MAX"))
-#if defined(_SC_CHILD_MAX) || HINT_SC_EXIST
- return _SC_CHILD_MAX;
+ }
+ if (memEQ(name, "_POSIX_SAVED_IDS", 16)) {
+ /* ^ */
+#ifdef _POSIX_SAVED_IDS
+ *iv_return = 1;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ *iv_return = 0;
+ return PERL_constant_ISIV;
#endif
- if (strEQ(name, "_SC_CLK_TCK"))
-#if defined(_SC_CLK_TCK) || HINT_SC_EXIST
- return _SC_CLK_TCK;
+ }
+ break;
+ case 'E':
+ if (memEQ(name, "_POSIX_SSIZE_MAX", 16)) {
+ /* ^ */
+#ifdef _POSIX_SSIZE_MAX
+ *iv_return = _POSIX_SSIZE_MAX;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ *iv_return = 0;
+ return PERL_constant_ISIV;
#endif
- if (strEQ(name, "_SC_JOB_CONTROL"))
-#if defined(_SC_JOB_CONTROL) || HINT_SC_EXIST
- return _SC_JOB_CONTROL;
+ }
+ break;
+ case 'I':
+ if (memEQ(name, "_POSIX_MAX_INPUT", 16)) {
+ /* ^ */
+#ifdef _POSIX_MAX_INPUT
+ *iv_return = _POSIX_MAX_INPUT;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ *iv_return = 0;
+ return PERL_constant_ISIV;
#endif
- if (strEQ(name, "_SC_NGROUPS_MAX"))
-#if defined(_SC_NGROUPS_MAX) || HINT_SC_EXIST
- return _SC_NGROUPS_MAX;
+ }
+ break;
+ }
+ return PERL_constant_NOTFOUND;
+}
+
+static int
+constant (const char *name, STRLEN len, IV *iv_return, NV *nv_return) {
+ /* Initially switch on the length of the name. */
+ /* When generated this function returned values for the list of names given
+ in this section of perl code. Rather than manually editing these functions
+ to add or remove constants, which would result in this comment and section
+ of code becoming inaccurate, we recommend that you edit this section of
+ code, and use it to regenerate a new set of constant functions which you
+ then use to replace the originals.
+
+ Regenerate these constant functions by feeding this entire source file to
+ perl -x
+
+#!../../perl -w
+use ExtUtils::Constant qw (constant_types C_constant XS_constant);
+
+my $types = {map {($_, 1)} qw(IV NV UV)};
+my @names = (qw(ARG_MAX B0 B110 B1200 B134 B150 B1800 B19200 B200 B2400 B300
+ B38400 B4800 B50 B600 B75 B9600 BRKINT BUFSIZ CHAR_BIT CHAR_MAX
+ CHAR_MIN CHILD_MAX CLK_TCK CLOCAL CLOCKS_PER_SEC CREAD CS5 CS6
+ CS7 CS8 CSIZE CSTOPB E2BIG EACCES EADDRINUSE EADDRNOTAVAIL
+ EAFNOSUPPORT EAGAIN EALREADY EBADF EBUSY ECHILD ECHO ECHOE ECHOK
+ ECHONL ECONNABORTED ECONNREFUSED ECONNRESET EDEADLK EDESTADDRREQ
+ EDOM EDQUOT EEXIST EFAULT EFBIG EHOSTDOWN EHOSTUNREACH
+ EINPROGRESS EINTR EINVAL EIO EISCONN EISDIR ELOOP EMFILE EMLINK
+ EMSGSIZE ENAMETOOLONG ENETDOWN ENETRESET ENETUNREACH ENFILE
+ ENOBUFS ENODEV ENOENT ENOEXEC ENOLCK ENOMEM ENOPROTOOPT ENOSPC
+ ENOSYS ENOTBLK ENOTCONN ENOTDIR ENOTEMPTY ENOTSOCK ENOTTY ENXIO
+ EOF EOPNOTSUPP EPERM EPFNOSUPPORT EPIPE EPROCLIM EPROTONOSUPPORT
+ EPROTOTYPE ERANGE EREMOTE ERESTART EROFS ESHUTDOWN
+ ESOCKTNOSUPPORT ESPIPE ESRCH ESTALE ETIMEDOUT ETOOMANYREFS
+ ETXTBSY EUSERS EWOULDBLOCK EXDEV FD_CLOEXEC FILENAME_MAX F_DUPFD
+ F_GETFD F_GETFL F_GETLK F_OK F_RDLCK F_SETFD F_SETFL F_SETLK
+ F_SETLKW F_UNLCK F_WRLCK HUPCL ICANON ICRNL IEXTEN IGNBRK IGNCR
+ IGNPAR INLCR INPCK INT_MAX INT_MIN ISIG ISTRIP IXOFF IXON LC_ALL
+ LC_COLLATE LC_CTYPE LC_MESSAGES LC_MONETARY LC_NUMERIC LC_TIME
+ LINK_MAX LONG_MAX LONG_MIN L_ctermid L_cuserid L_tmpnam
+ MAX_CANON MAX_INPUT MB_CUR_MAX MB_LEN_MAX NAME_MAX NCCS
+ NGROUPS_MAX NOFLSH OPEN_MAX OPOST O_ACCMODE O_APPEND O_CREAT
+ O_EXCL O_NOCTTY O_NONBLOCK O_RDONLY O_RDWR O_TRUNC O_WRONLY
+ PARENB PARMRK PARODD PATH_MAX PIPE_BUF RAND_MAX R_OK SCHAR_MAX
+ SCHAR_MIN SEEK_CUR SEEK_END SEEK_SET SHRT_MAX SHRT_MIN SIGABRT
+ SIGALRM SIGCHLD SIGCONT SIGFPE SIGHUP SIGILL SIGINT SIGKILL
+ SIGPIPE SIGQUIT SIGSEGV SIGSTOP SIGTERM SIGTSTP SIGTTIN SIGTTOU
+ SIGUSR1 SIGUSR2 SIG_BLOCK SIG_SETMASK SIG_UNBLOCK SSIZE_MAX
+ STDERR_FILENO STDIN_FILENO STDOUT_FILENO STREAM_MAX S_IRGRP
+ S_IROTH S_IRUSR S_IRWXG S_IRWXO S_IRWXU S_ISGID S_ISUID S_IWGRP
+ S_IWOTH S_IWUSR S_IXGRP S_IXOTH S_IXUSR TCIFLUSH TCIOFF
+ TCIOFLUSH TCION TCOFLUSH TCOOFF TCOON TCSADRAIN TCSAFLUSH
+ TCSANOW TMP_MAX TOSTOP TZNAME_MAX VEOF VEOL VERASE VINTR VKILL
+ VMIN VQUIT VSTART VSTOP VSUSP VTIME WNOHANG WUNTRACED W_OK X_OK
+ _PC_CHOWN_RESTRICTED _PC_LINK_MAX _PC_MAX_CANON _PC_MAX_INPUT
+ _PC_NAME_MAX _PC_NO_TRUNC _PC_PATH_MAX _PC_PIPE_BUF _PC_VDISABLE
+ _SC_ARG_MAX _SC_CHILD_MAX _SC_CLK_TCK _SC_JOB_CONTROL
+ _SC_NGROUPS_MAX _SC_OPEN_MAX _SC_SAVED_IDS _SC_STREAM_MAX
+ _SC_TZNAME_MAX _SC_VERSION),
+ {name=>"DBL_DIG", type=>"NV"},
+ {name=>"DBL_EPSILON", type=>"NV"},
+ {name=>"DBL_MANT_DIG", type=>"NV"},
+ {name=>"DBL_MAX", type=>"NV"},
+ {name=>"DBL_MAX_10_EXP", type=>"NV"},
+ {name=>"DBL_MAX_EXP", type=>"NV"},
+ {name=>"DBL_MIN", type=>"NV"},
+ {name=>"DBL_MIN_10_EXP", type=>"NV"},
+ {name=>"DBL_MIN_EXP", type=>"NV"},
+ {name=>"EXIT_FAILURE", type=>"IV", default=>["IV", "1"]},
+ {name=>"EXIT_SUCCESS", type=>"IV", default=>["IV", "0"]},
+ {name=>"FLT_DIG", type=>"NV"},
+ {name=>"FLT_EPSILON", type=>"NV"},
+ {name=>"FLT_MANT_DIG", type=>"NV"},
+ {name=>"FLT_MAX", type=>"NV"},
+ {name=>"FLT_MAX_10_EXP", type=>"NV"},
+ {name=>"FLT_MAX_EXP", type=>"NV"},
+ {name=>"FLT_MIN", type=>"NV"},
+ {name=>"FLT_MIN_10_EXP", type=>"NV"},
+ {name=>"FLT_MIN_EXP", type=>"NV"},
+ {name=>"FLT_RADIX", type=>"NV"},
+ {name=>"FLT_ROUNDS", type=>"NV"},
+ {name=>"HUGE_VAL", type=>"NV", macro=>["#if (defined(USE_LONG_DOUBLE) && defined(HUGE_VALL)) || defined(HUGE_VAL)\n\t/" . "* HUGE_VALL is admittedly non-POSIX but if we are using long doubles\n\t * we might as well use long doubles. --jhi *" . "/\n", "#endif\n"], value=>"\n#if defined(USE_LONG_DOUBLE) && defined(HUGE_VALL)\n HUGE_VALL\n#else\n HUGE_VAL\n#endif\n "},
+ {name=>"LDBL_DIG", type=>"NV"},
+ {name=>"LDBL_EPSILON", type=>"NV"},
+ {name=>"LDBL_MANT_DIG", type=>"NV"},
+ {name=>"LDBL_MAX", type=>"NV"},
+ {name=>"LDBL_MAX_10_EXP", type=>"NV"},
+ {name=>"LDBL_MAX_EXP", type=>"NV"},
+ {name=>"LDBL_MIN", type=>"NV"},
+ {name=>"LDBL_MIN_10_EXP", type=>"NV"},
+ {name=>"LDBL_MIN_EXP", type=>"NV"},
+ {name=>"L_tmpname", type=>"IV", value=>"L_tmpnam"},
+ {name=>"NULL", type=>"IV", value=>"0"},
+ {name=>"SA_NOCLDSTOP", type=>"UV"},
+ {name=>"SA_NOCLDWAIT", type=>"UV"},
+ {name=>"SA_NODEFER", type=>"UV"},
+ {name=>"SA_ONSTACK", type=>"UV"},
+ {name=>"SA_RESETHAND", type=>"UV"},
+ {name=>"SA_RESTART", type=>"UV"},
+ {name=>"SA_SIGINFO", type=>"UV"},
+ {name=>"SIG_DFL", type=>"IV", value=>"(IV)SIG_DFL"},
+ {name=>"SIG_ERR", type=>"IV", value=>"(IV)SIG_ERR"},
+ {name=>"SIG_IGN", type=>"IV", value=>"(IV)SIG_IGN"},
+ {name=>"UCHAR_MAX", type=>"UV"},
+ {name=>"UINT_MAX", type=>"UV"},
+ {name=>"ULONG_MAX", type=>"UV"},
+ {name=>"USHRT_MAX", type=>"UV"},
+ {name=>"_POSIX_ARG_MAX", type=>"IV", default=>["IV", "0"]},
+ {name=>"_POSIX_CHILD_MAX", type=>"IV", default=>["IV", "0"]},
+ {name=>"_POSIX_CHOWN_RESTRICTED", type=>"IV", default=>["IV", "0"]},
+ {name=>"_POSIX_JOB_CONTROL", type=>"IV", value=>"1", default=>["IV", "0"]},
+ {name=>"_POSIX_LINK_MAX", type=>"IV", default=>["IV", "0"]},
+ {name=>"_POSIX_MAX_CANON", type=>"IV", default=>["IV", "0"]},
+ {name=>"_POSIX_MAX_INPUT", type=>"IV", default=>["IV", "0"]},
+ {name=>"_POSIX_NAME_MAX", type=>"IV", default=>["IV", "0"]},
+ {name=>"_POSIX_NGROUPS_MAX", type=>"IV", default=>["IV", "0"]},
+ {name=>"_POSIX_NO_TRUNC", type=>"IV", default=>["IV", "0"]},
+ {name=>"_POSIX_OPEN_MAX", type=>"IV", default=>["IV", "0"]},
+ {name=>"_POSIX_PATH_MAX", type=>"IV", default=>["IV", "0"]},
+ {name=>"_POSIX_PIPE_BUF", type=>"IV", default=>["IV", "0"]},
+ {name=>"_POSIX_SAVED_IDS", type=>"IV", value=>"1", default=>["IV", "0"]},
+ {name=>"_POSIX_SSIZE_MAX", type=>"IV", default=>["IV", "0"]},
+ {name=>"_POSIX_STREAM_MAX", type=>"IV", default=>["IV", "0"]},
+ {name=>"_POSIX_TZNAME_MAX", type=>"IV", default=>["IV", "0"]},
+ {name=>"_POSIX_VDISABLE", type=>"IV", default=>["IV", "0"]},
+ {name=>"_POSIX_VERSION", type=>"IV", default=>["IV", "0"]});
+
+print constant_types(); # macro defs
+foreach (C_constant ("POSIX", 'constant', 'IV', $types, undef, 3, @names) ) {
+ print $_, "\n"; # C constant subs
+}
+print "#### XS Section:\n";
+print XS_constant ("POSIX", $types);
+__END__
+ */
+
+ switch (len) {
+ case 2:
+ if (memEQ(name, "B0", 2)) {
+#ifdef B0
+ *iv_return = B0;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- if (strEQ(name, "_SC_OPEN_MAX"))
-#if defined(_SC_OPEN_MAX) || HINT_SC_EXIST
- return _SC_OPEN_MAX;
+ }
+ break;
+ case 3:
+ return constant_3 (name, iv_return, nv_return);
+ break;
+ case 4:
+ return constant_4 (name, iv_return, nv_return);
+ break;
+ case 5:
+ return constant_5 (name, iv_return, nv_return);
+ break;
+ case 6:
+ return constant_6 (name, iv_return, nv_return);
+ break;
+ case 7:
+ return constant_7 (name, iv_return, nv_return);
+ break;
+ case 8:
+ return constant_8 (name, iv_return, nv_return);
+ break;
+ case 9:
+ return constant_9 (name, iv_return, nv_return);
+ break;
+ case 10:
+ return constant_10 (name, iv_return, nv_return);
+ break;
+ case 11:
+ return constant_11 (name, iv_return, nv_return);
+ break;
+ case 12:
+ return constant_12 (name, iv_return, nv_return);
+ break;
+ case 13:
+ return constant_13 (name, iv_return, nv_return);
+ break;
+ case 14:
+ return constant_14 (name, iv_return, nv_return);
+ break;
+ case 15:
+ return constant_15 (name, iv_return, nv_return);
+ break;
+ case 16:
+ return constant_16 (name, iv_return, nv_return);
+ break;
+ case 17:
+ /* Names all of length 17. */
+ /* _POSIX_STREAM_MAX _POSIX_TZNAME_MAX */
+ /* Offset 7 gives the best switch position. */
+ switch (name[7]) {
+ case 'S':
+ if (memEQ(name, "_POSIX_STREAM_MAX", 17)) {
+ /* ^ */
+#ifdef _POSIX_STREAM_MAX
+ *iv_return = _POSIX_STREAM_MAX;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ *iv_return = 0;
+ return PERL_constant_ISIV;
#endif
- if (strEQ(name, "_SC_SAVED_IDS"))
-#if defined(_SC_SAVED_IDS) || HINT_SC_EXIST
- return _SC_SAVED_IDS;
+ }
+ break;
+ case 'T':
+ if (memEQ(name, "_POSIX_TZNAME_MAX", 17)) {
+ /* ^ */
+#ifdef _POSIX_TZNAME_MAX
+ *iv_return = _POSIX_TZNAME_MAX;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ *iv_return = 0;
+ return PERL_constant_ISIV;
#endif
- if (strEQ(name, "_SC_STREAM_MAX"))
-#if defined(_SC_STREAM_MAX) || HINT_SC_EXIST
- return _SC_STREAM_MAX;
+ }
+ break;
+ }
+ break;
+ case 18:
+ /* Names all of length 18. */
+ /* _POSIX_JOB_CONTROL _POSIX_NGROUPS_MAX */
+ /* Offset 12 gives the best switch position. */
+ switch (name[12]) {
+ case 'O':
+ if (memEQ(name, "_POSIX_JOB_CONTROL", 18)) {
+ /* ^ */
+#ifdef _POSIX_JOB_CONTROL
+ *iv_return = 1;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ *iv_return = 0;
+ return PERL_constant_ISIV;
#endif
- if (strEQ(name, "_SC_TZNAME_MAX"))
-#if defined(_SC_TZNAME_MAX) || HINT_SC_EXIST
- return _SC_TZNAME_MAX;
+ }
+ break;
+ case 'P':
+ if (memEQ(name, "_POSIX_NGROUPS_MAX", 18)) {
+ /* ^ */
+#ifdef _POSIX_NGROUPS_MAX
+ *iv_return = _POSIX_NGROUPS_MAX;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ *iv_return = 0;
+ return PERL_constant_ISIV;
#endif
- if (strEQ(name, "_SC_VERSION"))
-#if defined(_SC_VERSION) || HINT_SC_EXIST
- return _SC_VERSION;
+ }
+ break;
+ }
+ break;
+ case 20:
+ if (memEQ(name, "_PC_CHOWN_RESTRICTED", 20)) {
+#ifdef _PC_CHOWN_RESTRICTED
+ *iv_return = _PC_CHOWN_RESTRICTED;
+ return PERL_constant_ISIV;
#else
- goto not_there;
+ return PERL_constant_NOTDEF;
#endif
- break;
- }
}
- errno = EINVAL;
- return 0;
-
- if (0) {
- not_here(""); /* -Wall */
+ break;
+ case 23:
+ if (memEQ(name, "_POSIX_CHOWN_RESTRICTED", 23)) {
+#ifdef _POSIX_CHOWN_RESTRICTED
+ *iv_return = _POSIX_CHOWN_RESTRICTED;
+ return PERL_constant_ISIV;
+#else
+ *iv_return = 0;
+ return PERL_constant_ISIV;
+#endif
}
-
-not_there:
- errno = ENOENT;
- return 0;
+ break;
+ }
+ return PERL_constant_NOTFOUND;
}
static void
MODULE = POSIX PACKAGE = POSIX
-NV
-constant(name,arg)
- char * name
- int arg
+void
+constant(sv)
+ PREINIT:
+ dXSTARG;
+ STRLEN len;
+ int type;
+ IV iv;
+ NV nv;
+ /* const char *pv; Uncomment this if you need to return PVs */
+ INPUT:
+ SV * sv;
+ const char * s = SvPV(sv, len);
+ PPCODE:
+ type = constant(s, len, &iv, &nv);
+ /* Return 1 or 2 items. First is error message, or undef if no error.
+ Second, if present, is found value */
+ switch (type) {
+ case PERL_constant_NOTFOUND:
+ sv = sv_2mortal(newSVpvf("%s is not a valid POSIX macro", s));
+ PUSHs(sv);
+ break;
+ case PERL_constant_NOTDEF:
+ sv = sv_2mortal(newSVpvf(
+ "Your vendor has not defined POSIX macro %s, used", s));
+ PUSHs(sv);
+ break;
+ case PERL_constant_ISIV:
+ EXTEND(SP, 1);
+ PUSHs(&PL_sv_undef);
+ PUSHi(iv);
+ break;
+ /* Uncomment this if you need to return NOs
+ case PERL_constant_ISNO:
+ EXTEND(SP, 1);
+ PUSHs(&PL_sv_undef);
+ PUSHs(&PL_sv_no);
+ break; */
+ case PERL_constant_ISNV:
+ EXTEND(SP, 1);
+ PUSHs(&PL_sv_undef);
+ PUSHn(nv);
+ break;
+ /* Uncomment this if you need to return UNDEFs
+ case PERL_constant_ISUNDEF:
+ break; */
+ case PERL_constant_ISUV:
+ EXTEND(SP, 1);
+ PUSHs(&PL_sv_undef);
+ PUSHu((UV)iv);
+ break;
+ /* Uncomment this if you need to return YESs
+ case PERL_constant_ISYES:
+ EXTEND(SP, 1);
+ PUSHs(&PL_sv_undef);
+ PUSHs(&PL_sv_yes);
+ break; */
+ default:
+ sv = sv_2mortal(newSVpvf(
+ "Unexpected return type %d while processing POSIX macro %s, used",
+ type, s));
+ PUSHs(sv);
+ }
+
+void
+int_macro_int(sv, iv)
+ PREINIT:
+ dXSTARG;
+ STRLEN len;
+ int type;
+ INPUT:
+ SV * sv;
+ const char * s = SvPV(sv, len);
+ IV iv;
+ PPCODE:
+ /* Change this to int_macro_int(s, len, &iv, &nv);
+ if you need to return both NVs and IVs */
+ type = int_macro_int(s, len, &iv);
+ /* Return 1 or 2 items. First is error message, or undef if no error.
+ Second, if present, is found value */
+ switch (type) {
+ case PERL_constant_NOTFOUND:
+ sv = sv_2mortal(newSVpvf("%s is not a valid POSIX macro", s));
+ EXTEND(SP, 1);
+ PUSHs(&PL_sv_undef);
+ PUSHs(sv);
+ break;
+ case PERL_constant_NOTDEF:
+ sv = sv_2mortal(newSVpvf(
+ "Your vendor has not defined POSIX macro %s, used", s));
+ EXTEND(SP, 1);
+ PUSHs(&PL_sv_undef);
+ PUSHs(sv);
+ break;
+ case PERL_constant_ISIV:
+ PUSHi(iv);
+ break;
+ default:
+ sv = sv_2mortal(newSVpvf(
+ "Unexpected return type %d while processing POSIX macro %s, used",
+ type, s));
+ EXTEND(SP, 1);
+ PUSHs(&PL_sv_undef);
+ PUSHs(sv);
+ }
int
isalnum(charstring)