1 /* This file was produced by running the config_h.SH script, which
2 * gets its values from uconfig.sh, which is generally produced by
5 * Feel free to modify any of this as the need arises. Note, however,
6 * that running config_h.SH again will wipe out any changes you've made.
7 * For a more permanent change edit uconfig.sh and rerun config_h.SH.
10 /* Package name : perl5
11 * Source directory : .
12 * Configuration time: Thu Jan 1 00:00:00 GMT 1970
13 * Configured by : root@localhost
14 * Target system : unknown
21 * This symbol holds the complete pathname to the sed program.
23 #define LOC_SED "" /**/
26 * This symbol, if defined, indicates that the alarm routine is
29 /*#define HAS_ALARM / **/
32 * This symbol is defined if the bcmp() routine is available to
33 * compare blocks of memory.
35 /*#define HAS_BCMP / **/
38 * This symbol is defined if the bcopy() routine is available to
39 * copy blocks of memory.
41 /*#define HAS_BCOPY / **/
44 * This symbol is defined if the bzero() routine is available to
45 * set a memory block to 0.
47 /*#define HAS_BZERO / **/
50 * This symbol, if defined, indicates that the cbrt() (cube root)
51 * function is available.
53 /*#define HAS_CBRT / **/
56 * This symbol, if defined, indicates that the chown routine is
59 /*#define HAS_CHOWN / **/
62 * This symbol, if defined, indicates that the chroot routine is
65 /*#define HAS_CHROOT / **/
68 * This symbol, if defined, indicates that the chsize routine is available
69 * to truncate files. You might need a -lx to get this routine.
71 /*#define HAS_CHSIZE / **/
74 * This symbol, if defined, indicates that the crypt routine is available
75 * to encrypt passwords and the like.
77 /*#define HAS_CRYPT / **/
80 * This symbol, if defined, indicates that the ctermid routine is
81 * available to generate filename for terminal.
83 /*#define HAS_CTERMID / **/
86 * This symbol, if defined, indicates that the cuserid routine is
87 * available to get character login names.
89 /*#define HAS_CUSERID / **/
92 * This symbol, if defined, indicates that this system's <float.h>
93 * or <limits.h> defines the symbol DBL_DIG, which is the number
94 * of significant digits in a double precision number. If this
95 * symbol is not defined, a guess of 15 is usually pretty good.
97 /*#define HAS_DBL_DIG / **/
100 * This symbol, if defined, indicates that the difftime routine is
103 /*#define HAS_DIFFTIME / **/
106 * This symbol, if defined, indicates that the dlerror routine is
107 * available to return a string describing the last error that
108 * occurred from a call to dlopen(), dlclose() or dlsym().
110 /*#define HAS_DLERROR / **/
113 * This symbol, if defined, indicates that the dup2 routine is
114 * available to duplicate file descriptors.
116 /*#define HAS_DUP2 / **/
119 * This symbol, if defined, indicates that the fchmod routine is available
120 * to change mode of opened files. If unavailable, use chmod().
122 /*#define HAS_FCHMOD / **/
125 * This symbol, if defined, indicates that the fchown routine is available
126 * to change ownership of opened files. If unavailable, use chown().
128 /*#define HAS_FCHOWN / **/
131 * This symbol, if defined, indicates to the C program that
132 * the fcntl() function exists.
134 /*#define HAS_FCNTL / **/
137 * This symbol, if defined, indicates that the fgetpos routine is
138 * available to get the file position indicator, similar to ftell().
140 /*#define HAS_FGETPOS / **/
143 * This symbol, if defined, indicates that the flock routine is
144 * available to do file locking.
146 /*#define HAS_FLOCK / **/
149 * This symbol, if defined, indicates that the fork routine is
152 #define HAS_FORK /**/
155 * This symbol, if defined, indicates that the fsetpos routine is
156 * available to set the file position indicator, similar to fseek().
158 /*#define HAS_FSETPOS / **/
161 * This symbol, if defined, indicates that the gettimeofday() system
162 * call is available for a sub-second accuracy clock. Usually, the file
163 * <sys/resource.h> needs to be included (see I_SYS_RESOURCE).
164 * The type "Timeval" should be used to refer to "struct timeval".
166 /*#define HAS_GETTIMEOFDAY / **/
167 #ifdef HAS_GETTIMEOFDAY
168 #define Timeval struct timeval /* Structure used by gettimeofday() */
172 * This symbol, if defined, indicates that the getgroups() routine is
173 * available to get the list of process groups. If unavailable, multiple
174 * groups are probably not supported.
176 /*#define HAS_GETGROUPS / **/
179 * This symbol, if defined, indicates that the getlogin routine is
180 * available to get the login name.
182 /*#define HAS_GETLOGIN / **/
185 * This symbol, if defined, indicates to the C program that
186 * the getpgid(pid) function is available to get the
189 /*#define HAS_GETPGID / **/
192 * This symbol, if defined, indicates that the getpgrp2() (as in DG/UX)
193 * routine is available to get the current process group.
195 /*#define HAS_GETPGRP2 / **/
198 * This symbol, if defined, indicates that the getppid routine is
199 * available to get the parent process ID.
201 /*#define HAS_GETPPID / **/
204 * This symbol, if defined, indicates that the getpriority routine is
205 * available to get a process's priority.
207 /*#define HAS_GETPRIORITY / **/
210 * This symbol, if defined, indicates to the C program that the
211 * inet_aton() function is available to parse IP address "dotted-quad"
214 /*#define HAS_INET_ATON / **/
217 * This symbol, if defined, indicates that the killpg routine is available
218 * to kill process groups. If unavailable, you probably should use kill
219 * with a negative process number.
221 /*#define HAS_KILLPG / **/
224 * This symbol, if defined, indicates that the link routine is
225 * available to create hard links.
227 /*#define HAS_LINK / **/
230 * This symbol, if defined, indicates that the localeconv routine is
231 * available for numeric and monetary formatting conventions.
233 /*#define HAS_LOCALECONV / **/
236 * This symbol, if defined, indicates that the lockf routine is
237 * available to do file locking.
239 /*#define HAS_LOCKF / **/
242 * This symbol, if defined, indicates that the lstat routine is
243 * available to do file stats on symbolic links.
245 /*#define HAS_LSTAT / **/
248 * This symbol, if defined, indicates that the mblen routine is available
249 * to find the number of bytes in a multibye character.
251 /*#define HAS_MBLEN / **/
254 * This symbol, if defined, indicates that the mbstowcs routine is
255 * available to convert a multibyte string into a wide character string.
257 /*#define HAS_MBSTOWCS / **/
260 * This symbol, if defined, indicates that the mbtowc routine is available
261 * to convert a multibyte to a wide character.
263 /*#define HAS_MBTOWC / **/
266 * This symbol, if defined, indicates that the memcmp routine is available
267 * to compare blocks of memory.
269 #define HAS_MEMCMP /**/
272 * This symbol, if defined, indicates that the memcpy routine is available
273 * to copy blocks of memory.
275 #define HAS_MEMCPY /**/
278 * This symbol, if defined, indicates that the memmove routine is available
279 * to copy potentially overlapping blocks of memory. This should be used
280 * only when HAS_SAFE_BCOPY is not defined. If neither is there, roll your
283 /*#define HAS_MEMMOVE / **/
286 * This symbol, if defined, indicates that the memset routine is available
287 * to set blocks of memory.
289 #define HAS_MEMSET /**/
292 * This symbol, if defined, indicates that the mkdir routine is available
293 * to create directories. Otherwise you should fork off a new process to
296 /*#define HAS_MKDIR / **/
299 * This symbol, if defined, indicates that the mkfifo routine is
300 * available to create FIFOs. Otherwise, mknod should be able to
301 * do it for you. However, if mkfifo is there, mknod might require
302 * super-user privileges which mkfifo will not.
304 /*#define HAS_MKFIFO / **/
307 * This symbol, if defined, indicates that the mktime routine is
310 /*#define HAS_MKTIME / **/
313 * This symbol, if defined, indicates that the entire msg*(2) library is
314 * supported (IPC mechanism based on message queues).
316 /*#define HAS_MSG / **/
319 * This symbol, if defined, indicates that the msync system call is
320 * available to synchronize a mapped file.
322 /*#define HAS_MSYNC / **/
325 * This symbol, if defined, indicates that the munmap system call is
326 * available to unmap a region, usually mapped by mmap().
328 /*#define HAS_MUNMAP / **/
331 * This symbol, if defined, indicates that the nice routine is
334 /*#define HAS_NICE / **/
337 * This symbol, if defined, indicates that pathconf() is available
338 * to determine file-system related limits and options associated
339 * with a given filename.
342 * This symbol, if defined, indicates that pathconf() is available
343 * to determine file-system related limits and options associated
344 * with a given open file descriptor.
346 /*#define HAS_PATHCONF / **/
347 /*#define HAS_FPATHCONF / **/
350 * This symbol, if defined, indicates that the pause routine is
351 * available to suspend a process until a signal is received.
353 /*#define HAS_PAUSE / **/
356 * This symbol, if defined, indicates that the pipe routine is
357 * available to create an inter-process channel.
359 /*#define HAS_PIPE / **/
362 * This symbol, if defined, indicates that the poll routine is
363 * available to poll active file descriptors. Please check I_POLL and
364 * I_SYS_POLL to know which header should be included as well.
366 /*#define HAS_POLL / **/
369 * This symbol, if defined, indicates that the readdir routine is
370 * available to read directory entries. You may have to include
371 * <dirent.h>. See I_DIRENT.
373 #define HAS_READDIR /**/
376 * This symbol, if defined, indicates that the seekdir routine is
377 * available. You may have to include <dirent.h>. See I_DIRENT.
379 /*#define HAS_SEEKDIR / **/
382 * This symbol, if defined, indicates that the telldir routine is
383 * available. You may have to include <dirent.h>. See I_DIRENT.
385 /*#define HAS_TELLDIR / **/
388 * This symbol, if defined, indicates that the rewinddir routine is
389 * available. You may have to include <dirent.h>. See I_DIRENT.
391 /*#define HAS_REWINDDIR / **/
394 * This symbol, if defined, indicates that the readlink routine is
395 * available to read the value of a symbolic link.
397 /*#define HAS_READLINK / **/
400 * This symbol, if defined, indicates that the regcomp() routine is
401 * available to do some regular patern matching (usually on POSIX.2
402 * conforming systems).
404 #define HAS_REGCOMP /* POSIX.2 */
407 * This symbol, if defined, indicates that the rename routine is available
408 * to rename files. Otherwise you should do the unlink(), link(), unlink()
411 #define HAS_RENAME /**/
414 * This symbol, if defined, indicates that the rmdir routine is
415 * available to remove directories. Otherwise you should fork off a
416 * new process to exec /bin/rmdir.
418 /*#define HAS_RMDIR / **/
421 * This symbol, if defined, indicates that the select routine is
422 * available to select active file descriptors. If the timeout field
423 * is used, <sys/time.h> may need to be included.
425 /*#define HAS_SELECT / **/
428 * This symbol, if defined, indicates that the entire sem*(2) library is
431 /*#define HAS_SEM / **/
434 * This symbol, if defined, indicates that the setegid routine is available
435 * to change the effective gid of the current program.
437 /*#define HAS_SETEGID / **/
440 * This symbol, if defined, indicates that the seteuid routine is available
441 * to change the effective uid of the current program.
443 /*#define HAS_SETEUID / **/
446 * This symbol, if defined, indicates that the setgroups() routine is
447 * available to set the list of process groups. If unavailable, multiple
448 * groups are probably not supported.
450 /*#define HAS_SETGROUPS / **/
453 * This symbol, if defined, indicates that the setlinebuf routine is
454 * available to change stderr or stdout from block-buffered or unbuffered
455 * to a line-buffered mode.
457 /*#define HAS_SETLINEBUF / **/
460 * This symbol, if defined, indicates that the setlocale routine is
461 * available to handle locale-specific ctype implementations.
463 /*#define HAS_SETLOCALE / **/
466 * This symbol, if defined, indicates that the setpgid(pid, gpid)
467 * routine is available to set process group ID.
469 /*#define HAS_SETPGID / **/
472 * This symbol, if defined, indicates that the setpgrp2() (as in DG/UX)
473 * routine is available to set the current process group.
475 /*#define HAS_SETPGRP2 / **/
478 * This symbol, if defined, indicates that the setpriority routine is
479 * available to set a process's priority.
481 /*#define HAS_SETPRIORITY / **/
484 * This symbol, if defined, indicates that the setregid routine is
485 * available to change the real and effective gid of the current
489 * This symbol, if defined, indicates that the setresgid routine is
490 * available to change the real, effective and saved gid of the current
493 /*#define HAS_SETREGID / **/
494 /*#define HAS_SETRESGID / **/
497 * This symbol, if defined, indicates that the setreuid routine is
498 * available to change the real and effective uid of the current
502 * This symbol, if defined, indicates that the setresuid routine is
503 * available to change the real, effective and saved uid of the current
506 /*#define HAS_SETREUID / **/
507 /*#define HAS_SETRESUID / **/
510 * This symbol, if defined, indicates that the setrgid routine is available
511 * to change the real gid of the current program.
513 /*#define HAS_SETRGID / **/
516 * This symbol, if defined, indicates that the setruid routine is available
517 * to change the real uid of the current program.
519 /*#define HAS_SETRUID / **/
522 * This symbol, if defined, indicates that the setsid routine is
523 * available to set the process group ID.
525 /*#define HAS_SETSID / **/
528 * This symbol, if defined, indicates that the stat routine is
529 * available to get file status.
531 #define HAS_STAT /**/
534 * This symbol is defined to indicate that the strchr()/strrchr()
535 * functions are available for string searching. If not, try the
536 * index()/rindex() pair.
539 * This symbol is defined to indicate that the index()/rindex()
540 * functions are available for string searching.
542 /*#define HAS_STRCHR / **/
543 /*#define HAS_INDEX / **/
546 * This symbol, if defined, indicates that the strcoll routine is
547 * available to compare strings using collating information.
549 /*#define HAS_STRCOLL / **/
552 * This symbol, if defined, indicates that this C compiler knows how
553 * to copy structures. If undefined, you'll need to use a block copy
554 * routine of some sort instead.
556 /*#define USE_STRUCT_COPY / **/
559 * This symbol, if defined, indicates that the strtod routine is
560 * available to provide better numeric string conversion than atof().
562 /*#define HAS_STRTOD / **/
565 * This symbol, if defined, indicates that the strtol routine is available
566 * to provide better numeric string conversion than atoi() and friends.
568 #define HAS_STRTOL /**/
571 * This symbol, if defined, indicates that the strxfrm() routine is
572 * available to transform strings.
574 /*#define HAS_STRXFRM / **/
577 * This symbol, if defined, indicates that the symlink routine is available
578 * to create symbolic links.
580 /*#define HAS_SYMLINK / **/
583 * This symbol, if defined, indicates that the syscall routine is
584 * available to call arbitrary system calls. If undefined, that's tough.
586 /*#define HAS_SYSCALL / **/
589 * This symbol, if defined, indicates that sysconf() is available
590 * to determine system related limits and options.
592 /*#define HAS_SYSCONF / **/
595 * This symbol, if defined, indicates that the system routine is
596 * available to issue a shell command.
598 /*#define HAS_SYSTEM / **/
601 * This symbol, if defined, indicates that the tcgetpgrp routine is
602 * available to get foreground process group ID.
604 /*#define HAS_TCGETPGRP / **/
607 * This symbol, if defined, indicates that the tcsetpgrp routine is
608 * available to set foreground process group ID.
610 /*#define HAS_TCSETPGRP / **/
613 * This symbol, if defined, indicates that the truncate routine is
614 * available to truncate files.
616 /*#define HAS_TRUNCATE / **/
619 * This symbol, if defined, indicates that the tzname[] array is
620 * available to access timezone names.
622 /*#define HAS_TZNAME / **/
625 * This symbol, if defined, indicates that the umask routine is
626 * available to set and get the value of the file creation mask.
628 /*#define HAS_UMASK / **/
631 * This symbol, if defined, indicates that the usleep routine is
632 * available to let the process sleep on a sub-second accuracy.
634 /*#define HAS_USLEEP / **/
637 * This symbol, if defined, indicates that wait4() exists.
639 /*#define HAS_WAIT4 / **/
642 * This symbol, if defined, indicates that the waitpid routine is
643 * available to wait for child process.
645 /*#define HAS_WAITPID / **/
648 * This symbol, if defined, indicates that the wcstombs routine is
649 * available to convert wide character strings to multibyte strings.
651 /*#define HAS_WCSTOMBS / **/
654 * This symbol, if defined, indicates that the wctomb routine is available
655 * to convert a wide character to a multibyte.
657 /*#define HAS_WCTOMB / **/
660 * This symbol holds the type used for the second argument to
661 * getgroups() and setgroups(). Usually, this is the same as
662 * gidtype (gid_t) , but sometimes it isn't.
663 * It can be int, ushort, gid_t, etc...
664 * It may be necessary to include <sys/types.h> to get any
665 * typedef'ed information. This is only required if you have
666 * getgroups() or setgroups()..
668 #if defined(HAS_GETGROUPS) || defined(HAS_SETGROUPS)
669 #define Groups_t int /* Type for 2nd arg to [sg]etgroups() */
673 * This symbol, if defined, indicates to the C program that it should
674 * include <arpa/inet.h> to get inet_addr and friends declarations.
676 /*#define I_ARPA_INET / **/
679 * This symbol, if defined, indicates that <dbm.h> exists and should
683 * This symbol, if defined, indicates that <rpcsvc/dbm.h> exists and
684 * should be included.
686 /*#define I_DBM / **/
687 /*#define I_RPCSVC_DBM / **/
690 * This symbol, if defined, indicates that <dlfcn.h> exists and should
693 /*#define I_DLFCN / **/
696 * This manifest constant tells the C program to include <fcntl.h>.
698 /*#define I_FCNTL / **/
701 * This symbol, if defined, indicates to the C program that it should
702 * include <float.h> to get definition of symbols like DBL_MAX or
703 * DBL_MIN, i.e. machine dependent floating point values.
705 /*#define I_FLOAT / **/
708 * This symbol, if defined, indicates that <gdbm.h> exists and should
711 /*#define I_GDBM / **/
714 * This symbol, if defined, indicates to the C program that it should
715 * include <limits.h> to get definition of symbols like WORD_BIT or
716 * LONG_MAX, i.e. machine dependant limitations.
718 /*#define I_LIMITS / **/
721 * This symbol, if defined, indicates to the C program that it should
722 * include <locale.h>.
724 /*#define I_LOCALE / **/
727 * This symbol, if defined, indicates to the C program that it should
733 * This symbol, if defined, indicates to the C program that it should
734 * include <memory.h>.
736 /*#define I_MEMORY / **/
739 * This symbol, if defined, indicates to the C program that it should
740 * include <netinet/in.h>. Otherwise, you may try <sys/in.h>.
742 /*#define I_NETINET_IN / **/
745 * This symbol, if defined, indicates that <stddef.h> exists and should
748 #define I_STDDEF /**/
751 * This symbol, if defined, indicates that <stdlib.h> exists and should
754 #define I_STDLIB /**/
757 * This symbol, if defined, indicates to the C program that it should
758 * include <string.h> (USG systems) instead of <strings.h> (BSD systems).
760 #define I_STRING /**/
763 * This symbol, if defined, indicates to the C program that it should
764 * include <sys/dir.h>.
766 /*#define I_SYS_DIR / **/
769 * This symbol, if defined, indicates to the C program that it should
770 * include <sys/file.h> to get definition of R_OK and friends.
772 /*#define I_SYS_FILE / **/
775 * This symbol, if defined, indicates that <sys/ioctl.h> exists and should
776 * be included. Otherwise, include <sgtty.h> or <termio.h>.
779 * This symbol, if defined, indicates the <sys/sockio.h> should be included
780 * to get socket ioctl options, like SIOCATMARK.
782 /*#define I_SYS_IOCTL / **/
783 /*#define I_SYS_SOCKIO / **/
786 * This symbol, if defined, indicates to the C program that it should
787 * include <sys/ndir.h>.
789 /*#define I_SYS_NDIR / **/
792 * This symbol, if defined, indicates to the C program that it should
793 * include <sys/param.h>.
795 /*#define I_SYS_PARAM / **/
798 * This symbol, if defined, indicates that the program may include
799 * <sys/poll.h>. When I_POLL is also defined, it's probably safest
800 * to only include <poll.h>.
802 /*#define I_SYS_POLL / **/
805 * This symbol, if defined, indicates to the C program that it should
806 * include <sys/resource.h>.
808 /*#define I_SYS_RESOURCE / **/
811 * This symbol, if defined, indicates to the C program that it should
812 * include <sys/select.h> in order to get definition of struct timeval.
814 /*#define I_SYS_SELECT / **/
817 * This symbol, if defined, indicates to the C program that it should
818 * include <sys/stat.h>.
820 #define I_SYS_STAT /**/
823 * This symbol, if defined, indicates to the C program that it should
824 * include <sys/times.h>.
826 /*#define I_SYS_TIMES / **/
829 * This symbol, if defined, indicates to the C program that it should
830 * include <sys/types.h>.
832 /*#define I_SYS_TYPES / **/
835 * This symbol, if defined, indicates to the C program that it should
836 * include <sys/un.h> to get UNIX domain socket definitions.
838 /*#define I_SYS_UN / **/
841 * This symbol, if defined, indicates to the C program that it should
842 * include <sys/wait.h>.
844 /*#define I_SYS_WAIT / **/
847 * This symbol, if defined, indicates to the C program that it should
848 * include <unistd.h>.
850 /*#define I_UNISTD / **/
853 * This symbol, if defined, indicates to the C program that it should
856 /*#define I_UTIME / **/
859 * This symbol, if defined, indicates to the C program that it should
860 * include <values.h> to get definition of symbols like MINFLOAT or
861 * MAXLONG, i.e. machine dependant limitations. Probably, you
862 * should use <limits.h> instead, if it is available.
864 /*#define I_VALUES / **/
867 * This symbol, if defined, indicates to the C program that it should
870 /*#define I_VFORK / **/
873 * This symbol is defined to be the type of char used in stdio.h.
874 * It has the values "unsigned char" or "char".
876 #define STDCHAR char /**/
879 * This variable is defined on systems supporting prototype declaration
880 * of functions with a variable number of arguments.
883 * This macro is used to declare function parameters in prototypes for
884 * functions with a variable number of parameters. Use double parentheses.
887 * int printf _V((char *fmt, ...));
889 * Remember to use the plain simple _() macro when declaring a function
890 * with no variable number of arguments, since it might be possible to
891 * have a non-effect _V() macro and still get prototypes via _().
893 /*#define CAN_VAPROTO / **/
895 #define _V(args) args
901 * This symbol contains the value of sizeof(int) so that the C
902 * preprocessor can make decisions based on it.
905 * This symbol contains the value of sizeof(long) so that the C
906 * preprocessor can make decisions based on it.
909 * This symbol contains the value of sizeof(short) so that the C
910 * preprocessor can make decisions based on it.
912 #define INTSIZE 4 /**/
913 #define LONGSIZE 4 /**/
914 #define SHORTSIZE 2 /**/
917 * This symbol, if defined, signifies that the build
918 * process will produce some binary files that are going to be
919 * used in a cross-platform environment. This is the case for
920 * example with the NeXT "fat" binaries that contain executables
923 /*#define MULTIARCH / **/
926 * This symbol, if defined, tells that there's a 64-bit integer type,
927 * Quad_t, and its unsigned counterpart, Uquad_t. QUADKIND will be one
928 * of QUAD_IS_INT, QUAD_IS_LONG, QUAD_IS_LONG_LONG, QUAD_IS_INT64_T,
929 * or QUAD_IS___INT64.
931 /*#define HAS_QUAD / **/
933 # define Quad_t int64_t /**/
934 # define Uquad_t uint64_t /**/
935 # define QUADKIND 4 /**/
936 # define QUAD_IS_INT 1
937 # define QUAD_IS_LONG 2
938 # define QUAD_IS_LONG_LONG 3
939 # define QUAD_IS_INT64_T 4
940 # define QUAD_IS___INT64 5
944 * This symbol, if defined, indicates that the accessx routine is
945 * available to do extended access checks.
947 /*#define HAS_ACCESSX / **/
950 * This symbol, if defined, indicates that the eaccess routine is
951 * available to do extended access checks.
953 /*#define HAS_EACCESS / **/
956 * This symbol, if defined, indicates to the C program that it should
957 * include <sys/access.h>.
959 /*#define I_SYS_ACCESS / **/
962 * This symbol, if defined, indicates to the C program that it should
963 * include <sys/security.h>.
965 /*#define I_SYS_SECURITY / **/
968 * This symbol contains the number of bytes required to align a
969 * double, or a long double when applicable. Usual values are 2,
970 * 4 and 8. The default is eight, for safety. For cross-compiling
971 * or multiarch support, Configure will set a minimum of 8.
973 #define MEM_ALIGNBYTES 4
976 * This symbol holds the hexadecimal constant defined in byteorder,
977 * in a UV, i.e. 0x1234 or 0x4321 or 0x12345678, etc...
978 * If the compiler supports cross-compiling or multiple-architecture
979 * binaries, use compiler-defined macros to
980 * determine the byte order.
982 #if defined(MULTIARCH)
983 # ifdef __LITTLE_ENDIAN__
985 # define BYTEORDER 0x1234
988 # define BYTEORDER 0x12345678
992 # ifdef __BIG_ENDIAN__
994 # define BYTEORDER 0x4321
997 # define BYTEORDER 0x87654321
1003 #define BYTEORDER 0x1234 /* large digits for MSB */
1007 * This symbol contains the size of a char, so that the C preprocessor
1008 * can make decisions based on it.
1010 #define CHARBITS 8 /**/
1013 * This symbol is defined if the C compiler can cast negative
1014 * or large floating point numbers to 32-bit ints.
1016 /*#define CASTI32 / **/
1019 * This symbol is defined if the C compiler can cast negative
1020 * numbers to unsigned longs, ints and shorts.
1023 * This symbol contains flags that say what difficulties the compiler
1024 * has casting odd floating values to unsigned long:
1026 * 1 = couldn't cast < 0
1027 * 2 = couldn't cast >= 0x80000000
1028 * 4 = couldn't cast in argument expression list
1030 /*#define CASTNEGFLOAT / **/
1031 #define CASTFLAGS 0 /**/
1034 * This symbol, if defined, indicates that the closedir() routine
1035 * does not return a value.
1037 /*#define VOID_CLOSEDIR / **/
1040 * This symbol, when defined, indicates presence of the fd_set typedef
1043 /*#define HAS_FD_SET / **/
1046 * This preprocessor macro is defined to convert a floating point
1047 * number to a string without a trailing decimal point. This
1048 * emulates the behavior of sprintf("%g"), but is sometimes much more
1049 * efficient. If gconvert() is not available, but gcvt() drops the
1050 * trailing decimal point, then gcvt() is used. If all else fails,
1051 * a macro using sprintf("%g") is used. Arguments for the Gconvert
1052 * macro are: value, number of digits, whether trailing zeros should
1053 * be retained, and the output buffer.
1054 * The usual values are:
1055 * d_Gconvert='gconvert((x),(n),(t),(b))'
1056 * d_Gconvert='gcvt((x),(n),(b))'
1057 * d_Gconvert='sprintf((b),"%.*g",(n),(x))'
1058 * The last two assume trailing zeros should not be kept.
1060 #define Gconvert(x,n,t,b) sprintf((b),"%.*g",(n),(x))
1063 * This symbol, if defined, indicates that the getpagesize system call
1064 * is available to get system page size, which is the granularity of
1065 * many memory management calls.
1067 /*#define HAS_GETPAGESIZE / **/
1070 * This symbol, if defined, indicates to the C program that
1071 * the GNU C library is being used. A better check is to use
1072 * the __GLIBC__ and __GLIBC_MINOR__ symbols supplied with glibc.
1074 /*#define HAS_GNULIBC / **/
1075 #if defined(HAS_GNULIBC) && !defined(_GNU_SOURCE)
1076 # define _GNU_SOURCE
1080 * This manifest constant lets the C program know that isascii
1083 /*#define HAS_ISASCII / **/
1086 * This symbol, if defined, indicates that the lchown routine is
1087 * available to operate on a symbolic link (instead of following the
1090 /*#define HAS_LCHOWN / **/
1093 * This manifest constant lets the C program know that the three
1094 * argument form of open(2) is available.
1096 /*#define HAS_OPEN3 / **/
1099 * This symbol, if defined, indicates that the bcopy routine is available
1100 * to copy potentially overlapping memory blocks. Normally, you should
1101 * probably use memmove() or memcpy(). If neither is defined, roll your
1104 /*#define HAS_SAFE_BCOPY / **/
1107 * This symbol, if defined, indicates that the memcpy routine is available
1108 * to copy potentially overlapping memory blocks. If you need to
1109 * copy overlapping memory blocks, you should check HAS_MEMMOVE and
1110 * use memmove() instead, if available.
1112 /*#define HAS_SAFE_MEMCPY / **/
1115 * This symbol, if defined, indicates that the memcmp routine is available
1116 * and can be used to compare relative magnitudes of chars with their high
1117 * bits set. If it is not defined, roll your own version.
1119 /*#define HAS_SANE_MEMCMP / **/
1122 * This symbol, if defined, indicates that Vr4's sigaction() routine
1125 /*#define HAS_SIGACTION / **/
1127 /* HAS_SIGINFO_SI_ERRNO:
1128 * This symbol, if defined, indicates that siginfo_t has the
1131 /* HAS_SIGINFO_SI_PID:
1132 * This symbol, if defined, indicates that siginfo_t has the
1135 /* HAS_SIGINFO_SI_UID:
1136 * This symbol, if defined, indicates that siginfo_t has the
1139 /* HAS_SIGINFO_SI_ADDR:
1140 * This symbol, if defined, indicates that siginfo_t has the
1143 /* HAS_SIGINFO_SI_STATUS:
1144 * This symbol, if defined, indicates that siginfo_t has the
1147 /* HAS_SIGINFO_SI_BAND:
1148 * This symbol, if defined, indicates that siginfo_t has the
1151 /* HAS_SIGINFO_SI_VALUE:
1152 * This symbol, if defined, indicates that siginfo_t has the
1155 /*#define HAS_SIGINFO_SI_ERRNO / **/
1156 /*#define HAS_SIGINFO_SI_PID / **/
1157 /*#define HAS_SIGINFO_SI_UID / **/
1158 /*#define HAS_SIGINFO_SI_ADDR / **/
1159 /*#define HAS_SIGINFO_SI_STATUS / **/
1160 /*#define HAS_SIGINFO_SI_BAND / **/
1161 /*#define HAS_SIGINFO_SI_VALUE / **/
1164 * This variable indicates to the C program that the sigsetjmp()
1165 * routine is available to save the calling process's registers
1166 * and stack environment for later use by siglongjmp(), and
1167 * to optionally save the process's signal mask. See
1168 * Sigjmp_buf, Sigsetjmp, and Siglongjmp.
1171 * This is the buffer type to be used with Sigsetjmp and Siglongjmp.
1174 * This macro is used in the same way as sigsetjmp(), but will invoke
1175 * traditional setjmp() if sigsetjmp isn't available.
1176 * See HAS_SIGSETJMP.
1179 * This macro is used in the same way as siglongjmp(), but will invoke
1180 * traditional longjmp() if siglongjmp isn't available.
1181 * See HAS_SIGSETJMP.
1183 /*#define HAS_SIGSETJMP / **/
1184 #ifdef HAS_SIGSETJMP
1185 #define Sigjmp_buf sigjmp_buf
1186 #define Sigsetjmp(buf,save_mask) sigsetjmp((buf),(save_mask))
1187 #define Siglongjmp(buf,retval) siglongjmp((buf),(retval))
1189 #define Sigjmp_buf jmp_buf
1190 #define Sigsetjmp(buf,save_mask) setjmp((buf))
1191 #define Siglongjmp(buf,retval) longjmp((buf),(retval))
1194 /* HAS_STATIC_INLINE:
1195 * This symbol, if defined, indicates that the C compiler supports
1196 * C99-style static inline. That is, the function can't be called
1197 * from another translation unit.
1199 /* PERL_STATIC_INLINE:
1200 * This symbol gives the best-guess incantation to use for static
1201 * inline functions. If HAS_STATIC_INLINE is defined, this will
1202 * give C99-style inline. If HAS_STATIC_INLINE is not defined,
1203 * this will give a plain 'static'. It will always be defined
1204 * to something that gives static linkage.
1205 * Possibilities include
1206 * static inline (c99)
1207 * static __inline__ (gcc -ansi)
1208 * static __inline (MSVC)
1209 * static _inline (older MSVC)
1210 * static (c89 compilers)
1212 /*#define HAS_STATIC_INLINE / **/
1213 #define PERL_STATIC_INLINE static /**/
1216 * This symbol is defined if the _ptr and _cnt fields (or similar)
1217 * of the stdio FILE structure can be used to access the stdio buffer
1218 * for a file handle. If this is defined, then the FILE_ptr(fp)
1219 * and FILE_cnt(fp) macros will also be defined and should be used
1220 * to access these fields.
1223 * This macro is used to access the _ptr field (or equivalent) of the
1224 * FILE structure pointed to by its argument. This macro will always be
1225 * defined if USE_STDIO_PTR is defined.
1227 /* STDIO_PTR_LVALUE:
1228 * This symbol is defined if the FILE_ptr macro can be used as an
1232 * This macro is used to access the _cnt field (or equivalent) of the
1233 * FILE structure pointed to by its argument. This macro will always be
1234 * defined if USE_STDIO_PTR is defined.
1236 /* STDIO_CNT_LVALUE:
1237 * This symbol is defined if the FILE_cnt macro can be used as an
1240 /* STDIO_PTR_LVAL_SETS_CNT:
1241 * This symbol is defined if using the FILE_ptr macro as an lvalue
1242 * to increase the pointer by n has the side effect of decreasing the
1243 * value of File_cnt(fp) by n.
1245 /* STDIO_PTR_LVAL_NOCHANGE_CNT:
1246 * This symbol is defined if using the FILE_ptr macro as an lvalue
1247 * to increase the pointer by n leaves File_cnt(fp) unchanged.
1249 /*#define USE_STDIO_PTR / **/
1250 #ifdef USE_STDIO_PTR
1251 #define FILE_ptr(fp) ((fp)->_IO_read_ptr)
1252 /*#define STDIO_PTR_LVALUE / **/
1253 #define FILE_cnt(fp) ((fp)->_IO_read_end - (fp)->_IO_read_ptr)
1254 /*#define STDIO_CNT_LVALUE / **/
1255 /*#define STDIO_PTR_LVAL_SETS_CNT / **/
1256 /*#define STDIO_PTR_LVAL_NOCHANGE_CNT / **/
1260 * This symbol is defined if the _base field (or similar) of the
1261 * stdio FILE structure can be used to access the stdio buffer for
1262 * a file handle. If this is defined, then the FILE_base(fp) macro
1263 * will also be defined and should be used to access this field.
1264 * Also, the FILE_bufsiz(fp) macro will be defined and should be used
1265 * to determine the number of bytes in the buffer. USE_STDIO_BASE
1266 * will never be defined unless USE_STDIO_PTR is.
1269 * This macro is used to access the _base field (or equivalent) of the
1270 * FILE structure pointed to by its argument. This macro will always be
1271 * defined if USE_STDIO_BASE is defined.
1274 * This macro is used to determine the number of bytes in the I/O
1275 * buffer pointed to by _base field (or equivalent) of the FILE
1276 * structure pointed to its argument. This macro will always be defined
1277 * if USE_STDIO_BASE is defined.
1279 /*#define USE_STDIO_BASE / **/
1280 #ifdef USE_STDIO_BASE
1281 #define FILE_base(fp) ((fp)->_IO_read_base)
1282 #define FILE_bufsiz(fp) ((fp)->_IO_read_end - (fp)->_IO_read_base)
1286 * This symbol, if defined, indicates that the vprintf routine is available
1287 * to printf with a pointer to an argument list. If unavailable, you
1288 * may need to write your own, probably in terms of _doprnt().
1290 /* USE_CHAR_VSPRINTF:
1291 * This symbol is defined if this system has vsprintf() returning type
1292 * (char*). The trend seems to be to declare it as "int vsprintf()". It
1293 * is up to the package author to declare vsprintf correctly based on the
1296 #define HAS_VPRINTF /**/
1297 /*#define USE_CHAR_VSPRINTF / **/
1300 * This symbol contains the size of a double, so that the C preprocessor
1301 * can make decisions based on it.
1303 #define DOUBLESIZE 8 /**/
1306 * This symbol, if defined, indicates to the C program that it should
1310 * This symbol, if defined, indicates to the C program that it should
1311 * include <sys/time.h>.
1313 /* I_SYS_TIME_KERNEL:
1314 * This symbol, if defined, indicates to the C program that it should
1315 * include <sys/time.h> with KERNEL defined.
1318 * This symbol, if defined, indicates to the C program that
1319 * the struct tm has a tm_zone field.
1321 /* HAS_TM_TM_GMTOFF:
1322 * This symbol, if defined, indicates to the C program that
1323 * the struct tm has a tm_gmtoff field.
1326 /*#define I_SYS_TIME / **/
1327 /*#define I_SYS_TIME_KERNEL / **/
1328 /*#define HAS_TM_TM_ZONE / **/
1329 /*#define HAS_TM_TM_GMTOFF / **/
1332 * This symbol is to be used during open() or fcntl(F_SETFL) to turn on
1333 * non-blocking I/O for the file descriptor. Note that there is no way
1334 * back, i.e. you cannot turn it blocking again this way. If you wish to
1335 * alternatively switch between blocking and non-blocking, use the
1336 * ioctl(FIOSNBIO) call instead, but that is not supported by all devices.
1339 * This symbol holds the errno error code set by read() when no data was
1340 * present on the non-blocking file descriptor.
1343 * This symbol holds the return code from read() when no data is present
1344 * on the non-blocking file descriptor. Be careful! If EOF_NONBLOCK is
1345 * not defined, then you can't distinguish between no data and EOF by
1346 * issuing a read(). You'll have to find another way to tell for sure!
1349 * This symbol, if defined, indicates to the C program that a read() on
1350 * a non-blocking file descriptor will return 0 on EOF, and not the value
1351 * held in RD_NODATA (-1 usually, in that case!).
1353 #define VAL_O_NONBLOCK O_NONBLOCK
1354 #define VAL_EAGAIN EAGAIN
1355 #define RD_NODATA -1
1359 * This symbol contains the size of a pointer, so that the C preprocessor
1360 * can make decisions based on it. It will be sizeof(void *) if
1361 * the compiler supports (void *); otherwise it will be
1364 #define PTRSIZE 4 /**/
1367 * This macro is to be used to generate uniformly distributed
1368 * random numbers over the range [0., 1.[. You may have to supply
1369 * an 'extern double drand48();' in your program since SunOS 4.1.3
1370 * doesn't provide you with anything relevant in its headers.
1371 * See HAS_DRAND48_PROTO.
1374 * This symbol defines the type of the argument of the
1375 * random seed function.
1378 * This symbol defines the macro to be used in seeding the
1379 * random number generator (see Drand01).
1382 * This symbol indicates how many bits are produced by the
1383 * function used to generate normalized random numbers.
1384 * Values include 15, 16, 31, and 48.
1386 #define Drand01() Perl_drand48() /**/
1387 #define Rand_seed_t U32 /**/
1388 #define seedDrand01(x) Perl_drand48_init((Rand_seed_t)x) /**/
1389 #define RANDBITS 48 /**/
1392 * This symbol holds the type used by functions that return
1393 * a count of bytes or an error condition. It must be a signed type.
1394 * It is usually ssize_t, but may be long or int, etc.
1395 * It may be necessary to include <sys/types.h> or <unistd.h>
1396 * to get any typedef'ed information.
1397 * We will pick a type such that sizeof(SSize_t) == sizeof(Size_t).
1399 #define SSize_t int /* signed count of bytes */
1402 * This symbol, if defined, indicates that this system uses
1405 /*#define EBCDIC / **/
1408 * This variable, if defined, holds the name of the directory in
1409 * which the user wants to put architecture-dependent public
1410 * library files for perl5. It is most often a local directory
1411 * such as /usr/local/lib. Programs using this variable must be
1412 * prepared to deal with filename expansion. If ARCHLIB is the
1413 * same as PRIVLIB, it is not defined, since presumably the
1414 * program already searches PRIVLIB.
1417 * This symbol contains the ~name expanded version of ARCHLIB, to be used
1418 * in programs that are not prepared to deal with ~ expansion at run-time.
1420 /*#define ARCHLIB "/usr/local/lib/perl5/5.27/unknown" / **/
1421 /*#define ARCHLIB_EXP "/usr/local/lib/perl5/5.27/unknown" / **/
1424 * This symbol holds the path of the bin directory where the package will
1425 * be installed. Program must be prepared to deal with ~name substitution.
1428 * This symbol is the filename expanded version of the BIN symbol, for
1429 * programs that do not want to deal with that at run-time.
1431 /* PERL_RELOCATABLE_INC:
1432 * This symbol, if defined, indicates that we'd like to relocate entries
1433 * in @INC at run time based on the location of the perl binary.
1435 #define BIN "/usr/local/bin" /**/
1436 #define BIN_EXP "/usr/local/bin" /**/
1437 #define PERL_RELOCATABLE_INC "undef" /**/
1439 /* PERL_INC_VERSION_LIST:
1440 * This variable specifies the list of subdirectories in over
1441 * which perl.c:incpush() and lib/lib.pm will automatically
1442 * search when adding directories to @INC, in a format suitable
1443 * for a C initialization string. See the inc_version_list entry
1444 * in Porting/Glossary for more details.
1446 /*#define PERL_INC_VERSION_LIST NULL / **/
1448 /* INSTALL_USR_BIN_PERL:
1449 * This symbol, if defined, indicates that Perl is to be installed
1450 * also as /usr/bin/perl.
1452 /*#define INSTALL_USR_BIN_PERL / **/
1454 /* PERL_OTHERLIBDIRS:
1455 * This variable contains a colon-separated set of paths for the perl
1456 * binary to search for additional library files or modules.
1457 * These directories will be tacked to the end of @INC.
1458 * Perl will automatically search below each path for version-
1459 * and architecture-specific directories. See PERL_INC_VERSION_LIST
1462 /*#define PERL_OTHERLIBDIRS " " / **/
1465 * This symbol contains the name of the private library for this package.
1466 * The library is private in the sense that it needn't be in anyone's
1467 * execution path, but it should be accessible by the world. The program
1468 * should be prepared to do ~ expansion.
1471 * This symbol contains the ~name expanded version of PRIVLIB, to be used
1472 * in programs that are not prepared to deal with ~ expansion at run-time.
1474 #define PRIVLIB "/usr/local/lib/perl5/5.27" /**/
1475 #define PRIVLIB_EXP "/usr/local/lib/perl5/5.27" /**/
1478 * This symbol contains the name of the private library for this package.
1479 * The library is private in the sense that it needn't be in anyone's
1480 * execution path, but it should be accessible by the world. The program
1481 * should be prepared to do ~ expansion.
1482 * The standard distribution will put nothing in this directory.
1483 * After perl has been installed, users may install their own local
1484 * architecture-dependent modules in this directory with
1485 * MakeMaker Makefile.PL
1486 * or equivalent. See INSTALL for details.
1489 * This symbol contains the ~name expanded version of SITEARCH, to be used
1490 * in programs that are not prepared to deal with ~ expansion at run-time.
1492 /*#define SITEARCH "/usr/local/lib/perl5/5.27/unknown" / **/
1493 /*#define SITEARCH_EXP "/usr/local/lib/perl5/5.27/unknown" / **/
1496 * This symbol contains the name of the private library for this package.
1497 * The library is private in the sense that it needn't be in anyone's
1498 * execution path, but it should be accessible by the world. The program
1499 * should be prepared to do ~ expansion.
1500 * The standard distribution will put nothing in this directory.
1501 * After perl has been installed, users may install their own local
1502 * architecture-independent modules in this directory with
1503 * MakeMaker Makefile.PL
1504 * or equivalent. See INSTALL for details.
1507 * This symbol contains the ~name expanded version of SITELIB, to be used
1508 * in programs that are not prepared to deal with ~ expansion at run-time.
1511 * This define is SITELIB_EXP with any trailing version-specific component
1512 * removed. The elements in inc_version_list (inc_version_list.U) can
1513 * be tacked onto this variable to generate a list of directories to search.
1515 #define SITELIB "/usr/local/lib/perl5/5.27" /**/
1516 #define SITELIB_EXP "/usr/local/lib/perl5/5.27" /**/
1517 #define SITELIB_STEM "/usr/local/lib/perl5" /**/
1520 * If defined, this symbol contains the name of a private library.
1521 * The library is private in the sense that it needn't be in anyone's
1522 * execution path, but it should be accessible by the world.
1523 * It may have a ~ on the front.
1524 * The standard distribution will put nothing in this directory.
1525 * Vendors who distribute perl may wish to place their own
1526 * architecture-dependent modules and extensions in this directory with
1527 * MakeMaker Makefile.PL INSTALLDIRS=vendor
1528 * or equivalent. See INSTALL for details.
1530 /* PERL_VENDORARCH_EXP:
1531 * This symbol contains the ~name expanded version of PERL_VENDORARCH, to be used
1532 * in programs that are not prepared to deal with ~ expansion at run-time.
1534 /*#define PERL_VENDORARCH "" / **/
1535 /*#define PERL_VENDORARCH_EXP "" / **/
1537 /* PERL_VENDORLIB_EXP:
1538 * This symbol contains the ~name expanded version of VENDORLIB, to be used
1539 * in programs that are not prepared to deal with ~ expansion at run-time.
1541 /* PERL_VENDORLIB_STEM:
1542 * This define is PERL_VENDORLIB_EXP with any trailing version-specific component
1543 * removed. The elements in inc_version_list (inc_version_list.U) can
1544 * be tacked onto this variable to generate a list of directories to search.
1546 /*#define PERL_VENDORLIB_EXP "" / **/
1547 /*#define PERL_VENDORLIB_STEM "" / **/
1550 * This symbol contains the name of the operating system, as determined
1551 * by Configure. You shouldn't rely on it too much; the specific
1552 * feature tests from Configure are generally more reliable.
1555 * This symbol contains the version of the operating system, as determined
1556 * by Configure. You shouldn't rely on it too much; the specific
1557 * feature tests from Configure are generally more reliable.
1559 #define OSNAME "unknown" /**/
1560 #define OSVERS "unknown" /**/
1563 * This macro concatenates 2 tokens together.
1566 * This macro surrounds its token with double quotes.
1569 #define CAT2(a,b) a/**/b
1570 #define STRINGIFY(a) "a"
1573 #define PeRl_CaTiFy(a, b) a ## b
1574 #define PeRl_StGiFy(a) #a
1575 #define CAT2(a,b) PeRl_CaTiFy(a,b)
1576 #define StGiFy(a) PeRl_StGiFy(a)
1577 #define STRINGIFY(a) PeRl_StGiFy(a)
1579 #if 42 != 1 && 42 != 42
1580 #include "Bletch: How does this C preprocessor concatenate tokens?"
1584 * This symbol contains the first part of the string which will invoke
1585 * the C preprocessor on the standard input and produce to standard
1586 * output. Typical value of "cc -E" or "/lib/cpp", but it can also
1587 * call a wrapper. See CPPRUN.
1590 * This symbol contains the second part of the string which will invoke
1591 * the C preprocessor on the standard input and produce to standard
1592 * output. This symbol will have the value "-" if CPPSTDIN needs a minus
1593 * to specify standard input, otherwise the value is "".
1596 * This symbol contains the string which will invoke a C preprocessor on
1597 * the standard input and produce to standard output. It needs to end
1598 * with CPPLAST, after all other preprocessor flags have been specified.
1599 * The main difference with CPPSTDIN is that this program will never be a
1600 * pointer to a shell wrapper, i.e. it will be empty if no preprocessor is
1601 * available directly to the user. Note that it may well be different from
1602 * the preprocessor used to compile the C program.
1605 * This symbol is intended to be used along with CPPRUN in the same manner
1606 * symbol CPPMINUS is used with CPPSTDIN. It contains either "-" or "".
1608 #define CPPSTDIN "cc -E"
1609 #define CPPMINUS "-"
1610 #define CPPRUN "cc -E"
1614 * This manifest constant lets the C program know that the access()
1615 * system call is available to check for accessibility using real UID/GID.
1616 * (always present on UNIX.)
1618 /*#define HAS_ACCESS / **/
1620 /* HASATTRIBUTE_FORMAT:
1621 * Can we handle GCC attribute for checking printf-style formats
1623 /* PRINTF_FORMAT_NULL_OK:
1624 * Allows __printf__ format to be null when checking printf-style
1626 /* HASATTRIBUTE_MALLOC:
1627 * Can we handle GCC attribute for malloc-style functions.
1629 /* HASATTRIBUTE_NONNULL:
1630 * Can we handle GCC attribute for nonnull function parms.
1632 /* HASATTRIBUTE_NORETURN:
1633 * Can we handle GCC attribute for functions that do not return
1635 /* HASATTRIBUTE_PURE:
1636 * Can we handle GCC attribute for pure functions
1638 /* HASATTRIBUTE_UNUSED:
1639 * Can we handle GCC attribute for unused variables and arguments
1641 /* HASATTRIBUTE_DEPRECATED:
1642 * Can we handle GCC attribute for marking deprecated APIs
1644 /* HASATTRIBUTE_WARN_UNUSED_RESULT:
1645 * Can we handle GCC attribute for warning on unused results
1647 /*#define HASATTRIBUTE_DEPRECATED / **/
1648 /*#define HASATTRIBUTE_FORMAT / **/
1649 /*#define PRINTF_FORMAT_NULL_OK / **/
1650 /*#define HASATTRIBUTE_NORETURN / **/
1651 /*#define HASATTRIBUTE_MALLOC / **/
1652 /*#define HASATTRIBUTE_NONNULL / **/
1653 /*#define HASATTRIBUTE_PURE / **/
1654 /*#define HASATTRIBUTE_UNUSED / **/
1655 /*#define HASATTRIBUTE_WARN_UNUSED_RESULT / **/
1658 * This symbol, if defined, indicates that the backtrace() routine is
1659 * available to get a stack trace. The <execinfo.h> header must be
1660 * included to use this routine.
1662 /*#define HAS_BACKTRACE / **/
1665 * This symbol, if defined, indicates that this C compiler knows about
1666 * the const type. There is no need to actually test for that symbol
1667 * within your programs. The mere use of the "const" keyword will
1668 * trigger the necessary tests.
1670 /*#define HASCONST / **/
1676 * This symbol, if defined, indicates that the C-shell exists.
1679 * This symbol, if defined, contains the full pathname of csh.
1681 /*#define HAS_CSH / **/
1687 * This symbol, if defined, indicates that the dladdr() routine is
1688 * available to query dynamic linker information for an address.
1689 * The <dlfcn.h> header must be included to use this routine.
1691 /*#define HAS_DLADDR / **/
1693 /* SETUID_SCRIPTS_ARE_SECURE_NOW:
1694 * This symbol, if defined, indicates that the bug that prevents
1695 * setuid scripts from being secure is not present in this kernel.
1698 * This symbol, if defined, indicates that the C program should
1699 * check the script that it is executing for setuid/setgid bits, and
1700 * attempt to emulate setuid/setgid on systems that have disabled
1701 * setuid #! scripts because the kernel can't do it securely.
1702 * It is up to the package designer to make sure that this emulation
1703 * is done securely. Among other things, it should do an fstat on
1704 * the script it just opened to make sure it really is a setuid/setgid
1705 * script, it should make sure the arguments passed correspond exactly
1706 * to the argument on the #! line, and it should not trust any
1707 * subprocesses to which it must pass the filename rather than the
1708 * file descriptor of the script to be executed.
1710 /*#define SETUID_SCRIPTS_ARE_SECURE_NOW / **/
1711 /*#define DOSUID / **/
1714 * This symbol, if defined, indicates that the getgrent routine is
1715 * available for finalizing sequential access of the group database.
1717 /*#define HAS_ENDGRENT / **/
1720 * This symbol, if defined, indicates that the endhostent() routine is
1721 * available to close whatever was being used for host queries.
1723 /*#define HAS_ENDHOSTENT / **/
1726 * This symbol, if defined, indicates that the endnetent() routine is
1727 * available to close whatever was being used for network queries.
1729 /*#define HAS_ENDNETENT / **/
1732 * This symbol, if defined, indicates that the endprotoent() routine is
1733 * available to close whatever was being used for protocol queries.
1735 /*#define HAS_ENDPROTOENT / **/
1738 * This symbol, if defined, indicates that the getgrent routine is
1739 * available for finalizing sequential access of the passwd database.
1741 /*#define HAS_ENDPWENT / **/
1744 * This symbol, if defined, indicates that the endservent() routine is
1745 * available to close whatever was being used for service queries.
1747 /*#define HAS_ENDSERVENT / **/
1750 * This symbol, if defined, indicates that the system supports filenames
1751 * longer than 14 characters.
1753 /*#define FLEXFILENAMES / **/
1756 * This symbol, if defined, indicates that the getgrent routine is
1757 * available for sequential access of the group database.
1759 /*#define HAS_GETGRENT / **/
1761 /* HAS_GETHOSTBYADDR:
1762 * This symbol, if defined, indicates that the gethostbyaddr() routine is
1763 * available to look up hosts by their IP addresses.
1765 /*#define HAS_GETHOSTBYADDR / **/
1767 /* HAS_GETHOSTBYNAME:
1768 * This symbol, if defined, indicates that the gethostbyname() routine is
1769 * available to look up host names in some data base or other.
1771 /*#define HAS_GETHOSTBYNAME / **/
1774 * This symbol, if defined, indicates that the gethostent() routine is
1775 * available to look up host names in some data base or another.
1777 /*#define HAS_GETHOSTENT / **/
1780 * This symbol, if defined, indicates that the C program may use the
1781 * gethostname() routine to derive the host name. See also HAS_UNAME
1785 * This symbol, if defined, indicates that the C program may use the
1786 * uname() routine to derive the host name. See also HAS_GETHOSTNAME
1790 * This symbol, if defined, indicates the command to feed to the
1791 * popen() routine to derive the host name. See also HAS_GETHOSTNAME
1792 * and HAS_UNAME. Note that the command uses a fully qualified path,
1793 * so that it is safe even if used by a process with super-user
1797 * This symbol, if defined, indicates that the C program may use the
1798 * contents of PHOSTNAME as a command to feed to the popen() routine
1799 * to derive the host name.
1801 /*#define HAS_GETHOSTNAME / **/
1802 /*#define HAS_UNAME / **/
1803 /*#define HAS_PHOSTNAME / **/
1804 #ifdef HAS_PHOSTNAME
1805 #define PHOSTNAME "/bin/hostname" /* How to get the host name */
1808 /* HAS_GETNETBYADDR:
1809 * This symbol, if defined, indicates that the getnetbyaddr() routine is
1810 * available to look up networks by their IP addresses.
1812 /*#define HAS_GETNETBYADDR / **/
1814 /* HAS_GETNETBYNAME:
1815 * This symbol, if defined, indicates that the getnetbyname() routine is
1816 * available to look up networks by their names.
1818 /*#define HAS_GETNETBYNAME / **/
1821 * This symbol, if defined, indicates that the getnetent() routine is
1822 * available to look up network names in some data base or another.
1824 /*#define HAS_GETNETENT / **/
1827 * This symbol, if defined, indicates that the getprotoent() routine is
1828 * available to look up protocols in some data base or another.
1830 /*#define HAS_GETPROTOENT / **/
1833 * This symbol, if defined, indicates that the getpgrp routine is
1834 * available to get the current process group.
1837 * This symbol, if defined, indicates that getpgrp needs one
1838 * arguments whereas USG one needs none.
1840 /*#define HAS_GETPGRP / **/
1841 /*#define USE_BSD_GETPGRP / **/
1843 /* HAS_GETPROTOBYNAME:
1844 * This symbol, if defined, indicates that the getprotobyname()
1845 * routine is available to look up protocols by their name.
1847 /* HAS_GETPROTOBYNUMBER:
1848 * This symbol, if defined, indicates that the getprotobynumber()
1849 * routine is available to look up protocols by their number.
1851 /*#define HAS_GETPROTOBYNAME / **/
1852 /*#define HAS_GETPROTOBYNUMBER / **/
1855 * This symbol, if defined, indicates that the getpwent routine is
1856 * available for sequential access of the passwd database.
1857 * If this is not available, the older getpw() function may be available.
1859 /*#define HAS_GETPWENT / **/
1862 * This symbol, if defined, indicates that the getservent() routine is
1863 * available to look up network services in some data base or another.
1865 /*#define HAS_GETSERVENT / **/
1867 /* HAS_GETSERVBYNAME:
1868 * This symbol, if defined, indicates that the getservbyname()
1869 * routine is available to look up services by their name.
1871 /* HAS_GETSERVBYPORT:
1872 * This symbol, if defined, indicates that the getservbyport()
1873 * routine is available to look up services by their port.
1875 /*#define HAS_GETSERVBYNAME / **/
1876 /*#define HAS_GETSERVBYPORT / **/
1879 * This symbol, if defined, indicates that the htonl() routine (and
1880 * friends htons() ntohl() ntohs()) are available to do network
1881 * order byte swapping.
1884 * This symbol, if defined, indicates that the htons() routine (and
1885 * friends htonl() ntohl() ntohs()) are available to do network
1886 * order byte swapping.
1889 * This symbol, if defined, indicates that the ntohl() routine (and
1890 * friends htonl() htons() ntohs()) are available to do network
1891 * order byte swapping.
1894 * This symbol, if defined, indicates that the ntohs() routine (and
1895 * friends htonl() htons() ntohl()) are available to do network
1896 * order byte swapping.
1898 /*#define HAS_HTONL / **/
1899 /*#define HAS_HTONS / **/
1900 /*#define HAS_NTOHL / **/
1901 /*#define HAS_NTOHS / **/
1904 * This symbol will be defined if the C compiler supports long
1908 * This symbol contains the size of a long double, so that the
1909 * C preprocessor can make decisions based on it. It is only
1910 * defined if the system supports long doubles. Note that this
1911 * is sizeof(long double), which may include unused bytes.
1914 * This symbol, if defined, indicates that the ldexpl routine is
1915 * available to shift a long double floating-point number
1916 * by an integral power of 2.
1919 * LONG_DOUBLEKIND will be one of
1920 * LONG_DOUBLE_IS_DOUBLE
1921 * LONG_DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN
1922 * LONG_DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN
1923 * LONG_DOUBLE_IS_X86_80_BIT_LITTLE_ENDIAN
1924 * LONG_DOUBLE_IS_X86_80_BIT_BIG_ENDIAN
1925 * LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_LE
1926 * LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_BE
1927 * LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_BE
1928 * LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_LE
1929 * LONG_DOUBLE_IS_VAX_H_FLOAT
1930 * LONG_DOUBLE_IS_UNKNOWN_FORMAT
1931 * It is only defined if the system supports long doubles.
1933 /* LONG_DOUBLE_STYLE_IEEE:
1934 * This symbol, if defined, indicates that the long double
1935 * is any of the IEEE 754 style long doubles:
1936 * LONG_DOUBLE_STYLE_IEEE_STD, LONG_DOUBLE_STYLE_IEEE_EXTENDED,
1937 * LONG_DOUBLE_STYLE_IEEE_DOUBLEDOUBLE.
1939 /* LONG_DOUBLE_STYLE_IEEE_DOUBLEDOUBLE:
1940 * This symbol, if defined, indicates that the long double is
1941 * the 128-bit double-double.
1943 /* LONG_DOUBLE_STYLE_IEEE_EXTENDED:
1944 * This symbol, if defined, indicates that the long double is
1945 * the 80-bit IEEE 754. Note that despite the 'extended' this
1946 * is less than the 'std', since this is an extension of
1947 * the double precision.
1949 /* LONG_DOUBLE_STYLE_IEEE_STD:
1950 * This symbol, if defined, indicates that the long double is
1951 * the 128-bit IEEE 754.
1953 /* LONG_DOUBLE_STYLE_VAX:
1954 * This symbol, if defined, indicates that the long double is
1955 * the 128-bit VAX format H.
1957 /*#define HAS_LDEXPL / **/
1958 /*#define HAS_LONG_DOUBLE / **/
1959 #ifdef HAS_LONG_DOUBLE
1960 #define LONG_DOUBLESIZE 8 /**/
1961 #define LONG_DOUBLEKIND 0 /**/
1962 #define LONG_DOUBLE_IS_DOUBLE 0
1963 #define LONG_DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN 1
1964 #define LONG_DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN 2
1965 #define LONG_DOUBLE_IS_X86_80_BIT_LITTLE_ENDIAN 3
1966 #define LONG_DOUBLE_IS_X86_80_BIT_BIG_ENDIAN 4
1967 #define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_LE 5
1968 #define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_BE 6
1969 #define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_BE 7
1970 #define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_LE 8
1971 #define LONG_DOUBLE_IS_VAX_H_FLOAT 9
1972 #define LONG_DOUBLE_IS_UNKNOWN_FORMAT -1
1973 #define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LITTLE_ENDIAN LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_LE_LE /* back-compat */
1974 #define LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BIG_ENDIAN LONG_DOUBLE_IS_DOUBLEDOUBLE_128_BIT_BE_BE /* back-compat */
1975 #undef LONG_DOUBLE_STYLE_IEEE
1976 #undef LONG_DOUBLE_STYLE_IEEE_DOUBLEDOUBLE
1977 #undef LONG_DOUBLE_STYLE_IEEE_EXTENDED
1978 #undef LONG_DOUBLE_STYLE_IEEE_STD
1979 #undef LONG_DOUBLE_STYLE_VAX
1983 * This symbol will be defined if the C compiler supports long long.
1986 * This symbol contains the size of a long long, so that the
1987 * C preprocessor can make decisions based on it. It is only
1988 * defined if the system supports long long.
1990 /*#define HAS_LONG_LONG / **/
1991 #ifdef HAS_LONG_LONG
1992 #define LONGLONGSIZE 8 /**/
1996 * This symbol, if defined, indicates that the memchr routine is available
1997 * to locate characters within a C string.
1999 #define HAS_MEMCHR /**/
2002 * This symbol, if defined, indicates that the mkstemp routine is
2003 * available to exclusively create and open a uniquely named
2006 /*#define HAS_MKSTEMP / **/
2009 * This symbol, if defined, indicates that the mmap system call is
2010 * available to map a file into memory.
2013 * This symbol holds the return type of the mmap() system call
2014 * (and simultaneously the type of the first argument).
2015 * Usually set to 'void *' or 'caddr_t'.
2017 /*#define HAS_MMAP / **/
2018 #define Mmap_t void * /**/
2021 * This symbol, if defined, indicates that the setgrent routine is
2022 * available for initializing sequential access of the group database.
2024 /*#define HAS_SETGRENT / **/
2027 * This symbol, if defined, indicates that the sethostent() routine is
2030 /*#define HAS_SETHOSTENT / **/
2033 * This symbol, if defined, indicates that the setnetent() routine is
2036 /*#define HAS_SETNETENT / **/
2039 * This symbol, if defined, indicates that the setprotoent() routine is
2042 /*#define HAS_SETPROTOENT / **/
2045 * This symbol, if defined, indicates that the setpgrp routine is
2046 * available to set the current process group.
2049 * This symbol, if defined, indicates that setpgrp needs two
2050 * arguments whereas USG one needs none. See also HAS_SETPGID
2051 * for a POSIX interface.
2053 /*#define HAS_SETPGRP / **/
2054 /*#define USE_BSD_SETPGRP / **/
2057 * This symbol, if defined, indicates that the setpwent routine is
2058 * available for initializing sequential access of the passwd database.
2060 /*#define HAS_SETPWENT / **/
2063 * This symbol, if defined, indicates that the setservent() routine is
2066 /*#define HAS_SETSERVENT / **/
2069 * This symbol, if defined, indicates that the setvbuf routine is
2070 * available to change buffering on an open stdio stream.
2071 * to a line-buffered mode.
2073 /*#define HAS_SETVBUF / **/
2076 * This symbol, if defined, indicates that the entire shm*(2) library is
2079 /*#define HAS_SHM / **/
2082 * This symbol holds the return type of the shmat() system call.
2083 * Usually set to 'void *' or 'char *'.
2085 /* HAS_SHMAT_PROTOTYPE:
2086 * This symbol, if defined, indicates that the sys/shm.h includes
2087 * a prototype for shmat(). Otherwise, it is up to the program to
2088 * guess one. Shmat_t shmat(int, Shmat_t, int) is a good guess,
2089 * but not always right so it should be emitted by the program only
2090 * when HAS_SHMAT_PROTOTYPE is not defined to avoid conflicting defs.
2092 #define Shmat_t void * /**/
2093 /*#define HAS_SHMAT_PROTOTYPE / **/
2096 * This symbol, if defined, indicates that the BSD socket interface is
2100 * This symbol, if defined, indicates that the BSD socketpair() call is
2103 /* HAS_SOCKADDR_SA_LEN:
2104 * This symbol, if defined, indicates that the struct sockaddr
2105 * structure has a member called sa_len, indicating the length of
2108 /* HAS_SOCKADDR_IN6:
2109 * This symbol, if defined, indicates the availability of
2110 * struct sockaddr_in6;
2112 /* HAS_SIN6_SCOPE_ID:
2113 * This symbol, if defined, indicates that the struct sockaddr_in6
2114 * structure has a member called sin6_scope_id.
2117 * This symbol, if defined, indicates the availability of
2120 /* HAS_IP_MREQ_SOURCE:
2121 * This symbol, if defined, indicates the availability of
2122 * struct ip_mreq_source;
2125 * This symbol, if defined, indicates the availability of
2128 /* HAS_IPV6_MREQ_SOURCE:
2129 * This symbol, if defined, indicates the availability of
2130 * struct ipv6_mreq_source;
2132 /*#define HAS_SOCKET / **/
2133 /*#define HAS_SOCKETPAIR / **/
2134 /*#define HAS_SOCKADDR_SA_LEN / **/
2135 /*#define HAS_SOCKADDR_IN6 / **/
2136 /*#define HAS_SIN6_SCOPE_ID / **/
2137 /*#define HAS_IP_MREQ / **/
2138 /*#define HAS_IP_MREQ_SOURCE / **/
2139 /*#define HAS_IPV6_MREQ / **/
2140 /*#define HAS_IPV6_MREQ_SOURCE / **/
2143 * This symbol is defined if this system has a stat structure declaring
2144 * st_blksize and st_blocks.
2146 #ifndef USE_STAT_BLOCKS
2147 /*#define USE_STAT_BLOCKS / **/
2151 * This symbol, if defined, indicates that the strerror routine is
2152 * available to translate error numbers to strings. See the writeup
2153 * of Strerror() in this file before you try to define your own.
2156 * This symbol, if defined, indicates that the sys_errlist array is
2157 * available to translate error numbers to strings. The extern int
2158 * sys_nerr gives the size of that table.
2161 * This preprocessor symbol is defined as a macro if strerror() is
2162 * not available to translate error numbers to strings but sys_errlist[]
2165 /*#define HAS_STRERROR / **/
2166 /*#define HAS_SYS_ERRLIST / **/
2167 #define Strerror(e) strerror(e)
2170 * This symbol, if defined, indicates that the strtoul routine is
2171 * available to provide conversion of strings to unsigned long.
2173 #define HAS_STRTOUL /**/
2176 * This symbol, if defined, indicates that the union semun is
2177 * defined by including <sys/sem.h>. If not, the user code
2178 * probably needs to define it as:
2181 * struct semid_ds *buf;
2182 * unsigned short *array;
2185 /* USE_SEMCTL_SEMUN:
2186 * This symbol, if defined, indicates that union semun is
2187 * used for semctl IPC_STAT.
2189 /* USE_SEMCTL_SEMID_DS:
2190 * This symbol, if defined, indicates that struct semid_ds * is
2191 * used for semctl IPC_STAT.
2193 /*#define HAS_UNION_SEMUN / **/
2194 /*#define USE_SEMCTL_SEMUN / **/
2195 /*#define USE_SEMCTL_SEMID_DS / **/
2198 * This symbol, if defined, indicates that vfork() exists.
2200 /*#define HAS_VFORK / **/
2203 * This symbol, if defined, indicates that an emulation of the
2204 * fork routine is available.
2206 /*#define HAS_PSEUDOFORK / **/
2209 * This symbol's value is either "void" or "int", corresponding to the
2210 * appropriate return type of a signal handler. Thus, you can declare
2211 * a signal handler using "Signal_t (*handler)()", and define the
2212 * handler using "Signal_t handler(sig)".
2214 #define Signal_t int /* Signal handler's return type */
2217 * This symbol, if defined, indicates that this C compiler knows about
2218 * the volatile declaration.
2220 /*#define HASVOLATILE / **/
2226 * This symbol, if defined, indicates to the C program that it should
2227 * include <dirent.h>. Using this symbol also triggers the definition
2228 * of the Direntry_t define which ends up being 'struct dirent' or
2229 * 'struct direct' depending on the availability of <dirent.h>.
2232 * This symbol, if defined, indicates to the C program that the length
2233 * of directory entry names is provided by a d_namlen field. Otherwise
2234 * you need to do strlen() on the d_name field.
2237 * This symbol is set to 'struct direct' or 'struct dirent' depending on
2238 * whether dirent is available or not. You should use this pseudo type to
2239 * portably declare your directory entries.
2241 #define I_DIRENT /**/
2242 /*#define DIRNAMLEN / **/
2243 #define Direntry_t struct dirent
2246 * This symbol, if defined, indicates to the C program that it should
2247 * include <execinfo.h> for backtrace() support.
2249 /*#define I_EXECINFO / **/
2252 * This symbol, if defined, indicates to the C program that it should
2256 * This symbol, if defined, indicates to the C program that struct group
2257 * in <grp.h> contains gr_passwd.
2259 /*#define I_GRP / **/
2260 /*#define GRPASSWD / **/
2263 * This symbol, if defined, indicates that <ndbm.h> exists and should
2267 * This symbol, if defined, indicates that <gdbm/ndbm.h> exists and should
2268 * be included. This was the location of the ndbm.h compatibility file
2272 * This symbol, if defined, indicates that <gdbm-ndbm.h> exists and should
2273 * be included. This is the location of the ndbm.h compatibility file
2276 /* NDBM_H_USES_PROTOTYPES:
2277 * This symbol, if defined, indicates that <ndbm.h> uses real ANSI C
2278 * prototypes instead of K&R style function declarations without any
2279 * parameter information. While ANSI C prototypes are supported in C++,
2280 * K&R style function declarations will yield errors.
2282 /* GDBMNDBM_H_USES_PROTOTYPES:
2283 * This symbol, if defined, indicates that <gdbm/ndbm.h> uses real ANSI C
2284 * prototypes instead of K&R style function declarations without any
2285 * parameter information. While ANSI C prototypes are supported in C++,
2286 * K&R style function declarations will yield errors.
2288 /* GDBM_NDBM_H_USES_PROTOTYPES:
2289 * This symbol, if defined, indicates that <gdbm-ndbm.h> uses real ANSI C
2290 * prototypes instead of K&R style function declarations without any
2291 * parameter information. While ANSI C prototypes are supported in C++,
2292 * K&R style function declarations will yield errors.
2294 /*#define I_NDBM / **/
2295 /*#define I_GDBMNDBM / **/
2296 /*#define I_GDBM_NDBM / **/
2297 /*#define NDBM_H_USES_PROTOTYPES / **/
2298 /*#define GDBMNDBM_H_USES_PROTOTYPES / **/
2299 /*#define GDBM_NDBM_H_USES_PROTOTYPES / **/
2302 * This symbol, if defined, indicates that <netdb.h> exists and
2303 * should be included.
2305 /*#define I_NETDB / **/
2308 * This symbol, if defined, indicates that <net/errno.h> exists and
2309 * should be included.
2311 /*#define I_NET_ERRNO / **/
2314 * This symbol, if defined, indicates to the C program that it should
2318 * This symbol, if defined, indicates to the C program that struct passwd
2319 * contains pw_quota.
2322 * This symbol, if defined, indicates to the C program that struct passwd
2326 * This symbol, if defined, indicates to the C program that struct passwd
2327 * contains pw_change.
2330 * This symbol, if defined, indicates to the C program that struct passwd
2331 * contains pw_class.
2334 * This symbol, if defined, indicates to the C program that struct passwd
2335 * contains pw_expire.
2338 * This symbol, if defined, indicates to the C program that struct passwd
2339 * contains pw_comment.
2342 * This symbol, if defined, indicates to the C program that struct passwd
2343 * contains pw_gecos.
2346 * This symbol, if defined, indicates to the C program that struct passwd
2347 * contains pw_passwd.
2349 /*#define I_PWD / **/
2350 /*#define PWQUOTA / **/
2351 /*#define PWAGE / **/
2352 /*#define PWCHANGE / **/
2353 /*#define PWCLASS / **/
2354 /*#define PWEXPIRE / **/
2355 /*#define PWCOMMENT / **/
2356 /*#define PWGECOS / **/
2357 /*#define PWPASSWD / **/
2360 * This symbol, if defined, indicates that <sys/uio.h> exists and
2361 * should be included.
2363 /*#define I_SYSUIO / **/
2366 * This symbol, if defined, indicates that the program should include
2367 * <termio.h> rather than <sgtty.h>. There are also differences in
2368 * the ioctl() calls that depend on the value of this symbol.
2371 * This symbol, if defined, indicates that the program should include
2372 * the POSIX termios.h rather than sgtty.h or termio.h.
2373 * There are also differences in the ioctl() calls that depend on the
2374 * value of this symbol.
2377 * This symbol, if defined, indicates that the program should include
2378 * <sgtty.h> rather than <termio.h>. There are also differences in
2379 * the ioctl() calls that depend on the value of this symbol.
2381 /*#define I_TERMIO / **/
2382 /*#define I_TERMIOS / **/
2383 /*#define I_SGTTY / **/
2386 * This symbol, if defined, indicates that <stdarg.h> exists and should
2390 * This symbol, if defined, indicates to the C program that it should
2391 * include <varargs.h>.
2393 #define I_STDARG /**/
2394 /*#define I_VARARGS / **/
2397 * This variable contains the return type of free(). It is usually
2398 * void, but occasionally int.
2401 * This symbol is the type of pointer returned by malloc and realloc.
2403 #define Malloc_t void * /**/
2404 #define Free_t void /**/
2406 /* PERL_MALLOC_WRAP:
2407 * This symbol, if defined, indicates that we'd like malloc wrap checks.
2409 /*#define PERL_MALLOC_WRAP / **/
2412 * This symbol, if defined, indicates that we're using our own malloc.
2414 /*#define MYMALLOC / **/
2417 * If defined, this macro indicates that the C compiler can handle
2418 * function prototypes.
2421 * This macro is used to declare function parameters for folks who want
2422 * to make declarations with prototypes using a different style than
2423 * the above macros. Use double parentheses. For example:
2425 * int main _((int argc, char *argv[]));
2427 /*#define CAN_PROTOTYPE / **/
2428 #ifdef CAN_PROTOTYPE
2429 #define _(args) args
2435 * This symbol contains the full pathname to the shell used on this
2436 * on this system to execute Bourne shell scripts. Usually, this will be
2437 * /bin/sh, though it's possible that some systems will have /bin/ksh,
2438 * /bin/pdksh, /bin/ash, /bin/bash, or even something such as
2441 #define SH_PATH "/bin/sh" /**/
2444 * This symbol contains a list of signal names in order of
2445 * signal number. This is intended
2446 * to be used as a static array initialization, like this:
2447 * char *sig_name[] = { SIG_NAME };
2448 * The signals in the list are separated with commas, and each signal
2449 * is surrounded by double quotes. There is no leading SIG in the signal
2450 * name, i.e. SIGQUIT is known as "QUIT".
2451 * Gaps in the signal numbers (up to NSIG) are filled in with NUMnn,
2452 * etc., where nn is the actual signal number (e.g. NUM37).
2453 * The signal number for sig_name[i] is stored in sig_num[i].
2454 * The last element is 0 to terminate the list with a NULL. This
2455 * corresponds to the 0 at the end of the sig_name_init list.
2456 * Note that this variable is initialized from the sig_name_init,
2457 * not from sig_name (which is unused).
2460 * This symbol contains a list of signal numbers, in the same order as the
2461 * SIG_NAME list. It is suitable for static array initialization, as in:
2462 * int sig_num[] = { SIG_NUM };
2463 * The signals in the list are separated with commas, and the indices
2464 * within that list and the SIG_NAME list match, so it's easy to compute
2465 * the signal name from a number or vice versa at the price of a small
2466 * dynamic linear lookup.
2467 * Duplicates are allowed, but are moved to the end of the list.
2468 * The signal number corresponding to sig_name[i] is sig_number[i].
2469 * if (i < NSIG) then sig_number[i] == i.
2470 * The last element is 0, corresponding to the 0 at the end of
2471 * the sig_name_init list.
2472 * Note that this variable is initialized from the sig_num_init,
2473 * not from sig_num (which is unused).
2476 * This variable contains the number of elements of the SIG_NAME
2477 * and SIG_NUM arrays, excluding the final NULL entry.
2479 #define SIG_NAME 0 /**/
2480 #define SIG_NUM 0 /**/
2481 #define SIG_SIZE 1 /**/
2483 /* USE_CROSS_COMPILE:
2484 * This symbol, if defined, indicates that Perl is being cross-compiled.
2487 * This symbol, if defined, indicates the target architecture
2488 * Perl has been cross-compiled to. Undefined if not a cross-compile.
2490 #ifndef USE_CROSS_COMPILE
2491 /*#define USE_CROSS_COMPILE / **/
2492 #define PERL_TARGETARCH "" /**/
2496 * This symbol, if defined, indicates that Perl was configured with
2497 * -Dusedevel, to enable development features. This should not be
2498 * done for production builds.
2500 /*#define PERL_USE_DEVEL / **/
2503 * This symbol, if defined, indicates that the atolf routine is
2504 * available to convert strings into long doubles.
2506 /*#define HAS_ATOLF / **/
2509 * This symbol, if defined, indicates that the atoll routine is
2510 * available to convert strings into long longs.
2512 /*#define HAS_ATOLL / **/
2515 * This symbol, if defined, indicates that the _fwalk system call is
2516 * available to apply a function to all the file handles.
2518 /*#define HAS__FWALK / **/
2521 * This symbol, if defined, indicates that the acosh routine is
2522 * available to do the inverse hyperbolic cosine function.
2524 /*#define HAS_ACOSH / **/
2527 * This symbol, if defined, indicates that the aintl routine is
2528 * available. If copysignl is also present we can emulate modfl.
2530 /*#define HAS_AINTL / **/
2533 * This symbol, if defined, indicates that the asinh routine is
2534 * available to do the inverse hyperbolic sine function.
2536 /*#define HAS_ASINH / **/
2539 * This symbol, if defined, indicates that the atanh routine is
2540 * available to do the inverse hyperbolic tangent function.
2542 /*#define HAS_ATANH / **/
2544 /* HAS_BUILTIN_CHOOSE_EXPR:
2545 * Can we handle GCC builtin for compile-time ternary-like expressions
2547 /* HAS_BUILTIN_EXPECT:
2548 * Can we handle GCC builtin for telling that certain values are more
2551 /*#define HAS_BUILTIN_EXPECT / **/
2552 /*#define HAS_BUILTIN_CHOOSE_EXPR / **/
2554 /* HAS_BUILTIN_ADD_OVERFLOW:
2555 * This symbol, if defined, indicates that the compiler supports
2556 * __builtin_add_overflow for adding integers with overflow checks.
2558 /* HAS_BUILTIN_SUB_OVERFLOW:
2559 * This symbol, if defined, indicates that the compiler supports
2560 * __builtin_sub_overflow for subtracting integers with overflow checks.
2562 /* HAS_BUILTIN_MUL_OVERFLOW:
2563 * This symbol, if defined, indicates that the compiler supports
2564 * __builtin_mul_overflow for multiplying integers with overflow checks.
2566 /*#define HAS_BUILTIN_ADD_OVERFLOW / **/
2567 /*#define HAS_BUILTIN_SUB_OVERFLOW / **/
2568 /*#define HAS_BUILTIN_MUL_OVERFLOW / **/
2570 /* HAS_C99_VARIADIC_MACROS:
2571 * If defined, the compiler supports C99 variadic macros.
2573 /*#define HAS_C99_VARIADIC_MACROS / **/
2576 * This symbol, if defined, indicates that the class routine is
2577 * available to classify doubles. Available for example in AIX.
2578 * The returned values are defined in <float.h> and are:
2580 * FP_PLUS_NORM Positive normalized, nonzero
2581 * FP_MINUS_NORM Negative normalized, nonzero
2582 * FP_PLUS_DENORM Positive denormalized, nonzero
2583 * FP_MINUS_DENORM Negative denormalized, nonzero
2585 * FP_MINUS_ZERO -0.0
2588 * FP_NANS Signaling Not a Number (NaNS)
2589 * FP_NANQ Quiet Not a Number (NaNQ)
2591 /*#define HAS_CLASS / **/
2594 * This symbol, if defined, indicates that the clearenv () routine is
2595 * available for use.
2597 /*#define HAS_CLEARENV / **/
2599 /* HAS_STRUCT_CMSGHDR:
2600 * This symbol, if defined, indicates that the struct cmsghdr
2603 /*#define HAS_STRUCT_CMSGHDR / **/
2606 * This symbol, if defined, indicates that the copysign routine is
2607 * available to do the copysign function.
2609 /*#define HAS_COPYSIGN / **/
2612 * This symbol, if defined, indicates that the copysignl routine is
2613 * available. If aintl is also present we can emulate modfl.
2615 /*#define HAS_COPYSIGNL / **/
2618 * This symbol, if defined, indicates that a C++ compiler was
2619 * used to compiled Perl and will be used to compile extensions.
2621 /*#define USE_CPLUSPLUS / **/
2623 /* HAS_DBMINIT_PROTO:
2624 * This symbol, if defined, indicates that the system provides
2625 * a prototype for the dbminit() function. Otherwise, it is up
2626 * to the program to supply one. A good guess is
2627 * extern int dbminit(char *);
2629 /*#define HAS_DBMINIT_PROTO / **/
2632 * This symbol, if defined, indicates that the the DIR* dirstream
2633 * structure contains a member variable named dd_fd.
2635 /*#define HAS_DIR_DD_FD / **/
2638 * This manifest constant lets the C program know that dirfd
2641 /*#define HAS_DIRFD / **/
2643 /* DLSYM_NEEDS_UNDERSCORE:
2644 * This symbol, if defined, indicates that we need to prepend an
2645 * underscore to the symbol name before calling dlsym(). This only
2646 * makes sense if you *have* dlsym, which we will presume is the
2647 * case if you're using dl_dlopen.xs.
2649 /*#define DLSYM_NEEDS_UNDERSCORE / **/
2652 * This symbol, if defined, indicates that the erf routine is
2653 * available to do the error function.
2655 /*#define HAS_ERF / **/
2658 * This symbol, if defined, indicates that the erfc routine is
2659 * available to do the complementary error function.
2661 /*#define HAS_ERFC / **/
2664 * This symbol, if defined, indicates that the exp2 routine is
2665 * available to do the 2**x function.
2667 /*#define HAS_EXP2 / **/
2670 * This symbol, if defined, indicates that the expm1 routine is
2671 * available to do the exp(x) - 1 when x is near 1 function.
2673 /*#define HAS_EXPM1 / **/
2676 * This symbol, if defined, indicates that the "fast stdio"
2677 * is available to manipulate the stdio buffers directly.
2679 /*#define HAS_FAST_STDIO / **/
2682 * This symbol, if defined, indicates that the fchdir routine is
2683 * available to change directory using a file descriptor.
2685 /*#define HAS_FCHDIR / **/
2688 * This symbol, if defined, indicates that fcntl() can be used
2689 * for file locking. Normally on Unix systems this is defined.
2690 * It may be undefined on VMS.
2692 /*#define FCNTL_CAN_LOCK / **/
2695 * This symbol, if defined, indicates that the fdclose routine is
2696 * available to free a FILE structure without closing the underlying
2697 * file descriptor. This function appeared in FreeBSD 10.2.
2699 /*#define HAS_FDCLOSE / **/
2702 * This symbol, if defined, indicates that the fdim routine is
2703 * available to do the positive difference function.
2705 /*#define HAS_FDIM / **/
2708 * This symbol, if defined, indicates that the fegetround routine is
2709 * available to return the macro corresponding to the current rounding
2712 /*#define HAS_FEGETROUND / **/
2715 * This symbol, if defined, indicates that the finite routine is
2716 * available to check whether a double is finite (non-infinity non-NaN).
2718 /*#define HAS_FINITE / **/
2721 * This symbol, if defined, indicates that the finitel routine is
2722 * available to check whether a long double is finite
2723 * (non-infinity non-NaN).
2725 /*#define HAS_FINITEL / **/
2728 * This symbol, if defined, indicates that the system provides
2729 * a prototype for the flock() function. Otherwise, it is up
2730 * to the program to supply one. A good guess is
2731 * extern int flock(int, int);
2733 /*#define HAS_FLOCK_PROTO / **/
2736 * This symbol, if defined, indicates that the fma routine is
2737 * available to do the multiply-add function.
2739 /*#define HAS_FMA / **/
2742 * This symbol, if defined, indicates that the fmax routine is
2743 * available to do the maximum function.
2745 /*#define HAS_FMAX / **/
2748 * This symbol, if defined, indicates that the fmin routine is
2749 * available to do the minimum function.
2751 /*#define HAS_FMIN / **/
2754 * This symbol, if defined, indicates that the fp_class routine is
2755 * available to classify doubles. Available for example in Digital UNIX.
2756 * The returned values are defined in <math.h> and are:
2758 * FP_SNAN Signaling NaN (Not-a-Number)
2759 * FP_QNAN Quiet NaN (Not-a-Number)
2760 * FP_POS_INF +infinity
2761 * FP_NEG_INF -infinity
2762 * FP_POS_NORM Positive normalized
2763 * FP_NEG_NORM Negative normalized
2764 * FP_POS_DENORM Positive denormalized
2765 * FP_NEG_DENORM Negative denormalized
2766 * FP_POS_ZERO +0.0 (positive zero)
2767 * FP_NEG_ZERO -0.0 (negative zero)
2769 /*#define HAS_FP_CLASS / **/
2772 * This symbol, if defined, indicates that the fp_classl routine is
2773 * available to classify long doubles. Available for example in
2774 * Digital UNIX. See for possible values HAS_FP_CLASS.
2776 /*#define HAS_FP_CLASSL / **/
2779 * This symbol, if defined, indicates that the fpclass routine is
2780 * available to classify doubles. Available for example in Solaris/SVR4.
2781 * The returned values are defined in <ieeefp.h> and are:
2783 * FP_SNAN signaling NaN
2785 * FP_NINF negative infinity
2786 * FP_PINF positive infinity
2787 * FP_NDENORM negative denormalized non-zero
2788 * FP_PDENORM positive denormalized non-zero
2789 * FP_NZERO negative zero
2790 * FP_PZERO positive zero
2791 * FP_NNORM negative normalized non-zero
2792 * FP_PNORM positive normalized non-zero
2794 /*#define HAS_FPCLASS / **/
2797 * This symbol, if defined, indicates that the fpclassify routine is
2798 * available to classify doubles. Available for example in HP-UX.
2799 * The returned values are defined in <math.h> and are
2801 * FP_NORMAL Normalized
2803 * FP_INFINITE Infinity
2804 * FP_SUBNORMAL Denormalized
2809 * This symbol, if defined, indicates that the fp_classify routine is
2810 * available to classify doubles. The values are defined in <math.h>
2812 * FP_NORMAL Normalized
2814 * FP_INFINITE Infinity
2815 * FP_SUBNORMAL Denormalized
2819 /*#define HAS_FPCLASSIFY / **/
2820 /*#define HAS_FP_CLASSIFY / **/
2823 * This symbol, if defined, indicates that the fpclassl routine is
2824 * available to classify long doubles. Available for example in IRIX.
2825 * The returned values are defined in <ieeefp.h> and are:
2827 * FP_SNAN signaling NaN
2829 * FP_NINF negative infinity
2830 * FP_PINF positive infinity
2831 * FP_NDENORM negative denormalized non-zero
2832 * FP_PDENORM positive denormalized non-zero
2833 * FP_NZERO negative zero
2834 * FP_PZERO positive zero
2835 * FP_NNORM negative normalized non-zero
2836 * FP_PNORM positive normalized non-zero
2838 /*#define HAS_FPCLASSL / **/
2841 * This symbol, if defined, indicates that the fpgetround routine is
2842 * available to get the floating point rounding mode.
2844 /*#define HAS_FPGETROUND / **/
2847 * This symbol will be defined if the C compiler supports fpos64_t.
2849 /*#define HAS_FPOS64_T / **/
2852 * This symbol, if defined, indicates that the frexpl routine is
2853 * available to break a long double floating-point number into
2854 * a normalized fraction and an integral power of 2.
2856 /*#define HAS_FREXPL / **/
2858 /* HAS_STRUCT_FS_DATA:
2859 * This symbol, if defined, indicates that the struct fs_data
2860 * to do statfs() is supported.
2862 /*#define HAS_STRUCT_FS_DATA / **/
2865 * This symbol is defined if the fchmodat() routine is available.
2868 * This symbol is defined if the linkat() routine is available.
2871 * This symbol is defined if the openat() routine is available.
2874 * This symbol is defined if the renameat() routine is available.
2877 * This symbol is defined if the unlinkat() routine is available.
2879 /*#define HAS_FCHMODAT / **/
2880 /*#define HAS_LINKAT / **/
2881 /*#define HAS_OPENAT / **/
2882 /*#define HAS_RENAMEAT / **/
2883 /*#define HAS_UNLINKAT / **/
2886 * This symbol, if defined, indicates that the fseeko routine is
2887 * available to fseek beyond 32 bits (useful for ILP32 hosts).
2889 /*#define HAS_FSEEKO / **/
2892 * This symbol, if defined, indicates that the fstatfs routine is
2893 * available to stat filesystems by file descriptors.
2895 /*#define HAS_FSTATFS / **/
2898 * This symbol, if defined, indicates that the fsync routine is
2899 * available to write a file's modified data and attributes to
2900 * permanent storage.
2902 /*#define HAS_FSYNC / **/
2905 * This symbol, if defined, indicates that the ftello routine is
2906 * available to ftell beyond 32 bits (useful for ILP32 hosts).
2908 /*#define HAS_FTELLO / **/
2911 * This symbol, if defined, indicates that the futimes routine is
2912 * available to change file descriptor time stamps with struct timevals.
2914 /*#define HAS_FUTIMES / **/
2916 /* HAS_GAI_STRERROR:
2917 * This symbol, if defined, indicates that the gai_strerror routine
2918 * is available to translate error codes returned by getaddrinfo()
2919 * into human readable strings.
2921 /*#define HAS_GAI_STRERROR / **/
2924 * This symbol, if defined, indicates that the getaddrinfo() function
2925 * is available for use.
2927 /*#define HAS_GETADDRINFO / **/
2930 * This symbol, if defined, indicates that the getcwd routine is
2931 * available to get the current working directory.
2933 /*#define HAS_GETCWD / **/
2936 * This symbol, if defined, indicates that the getespwnam system call is
2937 * available to retrieve enhanced (shadow) password entries by name.
2939 /*#define HAS_GETESPWNAM / **/
2942 * This symbol, if defined, indicates that the getfsstat routine is
2943 * available to stat filesystems in bulk.
2945 /*#define HAS_GETFSSTAT / **/
2948 * This symbol, if defined, indicates that the getitimer routine is
2949 * available to return interval timers.
2951 /*#define HAS_GETITIMER / **/
2954 * This symbol, if defined, indicates that the getmnt routine is
2955 * available to get filesystem mount info by filename.
2957 /*#define HAS_GETMNT / **/
2960 * This symbol, if defined, indicates that the getmntent routine is
2961 * available to iterate through mounted file systems to get their info.
2963 /*#define HAS_GETMNTENT / **/
2966 * This symbol, if defined, indicates that the getnameinfo() function
2967 * is available for use.
2969 /*#define HAS_GETNAMEINFO / **/
2972 * This symbol, if defined, indicates that the getprpwnam system call is
2973 * available to retrieve protected (shadow) password entries by name.
2975 /*#define HAS_GETPRPWNAM / **/
2978 * This symbol, if defined, indicates that the getspnam system call is
2979 * available to retrieve SysV shadow password entries by name.
2981 /*#define HAS_GETSPNAM / **/
2984 * This symbol, if defined, indicates that the hasmntopt routine is
2985 * available to query the mount options of file systems.
2987 /*#define HAS_HASMNTOPT / **/
2990 * This symbol, if defined, indicates that the hypot routine is
2991 * available to do the hypotenuse function.
2993 /*#define HAS_HYPOT / **/
2996 * This symbol, if defined, indicates that the ilogb routine is
2997 * available to get integer exponent of a floating-point value.
2999 /*#define HAS_ILOGB / **/
3002 * This symbol, if defined, indicates that the ilogbl routine is
3003 * available. If scalbnl is also present we can emulate frexpl.
3005 /*#define HAS_ILOGBL / **/
3008 * This symbol, if defined, indicates that the inet_ntop() function
3009 * is available to parse IPv4 and IPv6 strings.
3011 /*#define HAS_INETNTOP / **/
3014 * This symbol, if defined, indicates that the inet_pton() function
3015 * is available to parse IPv4 and IPv6 strings.
3017 /*#define HAS_INETPTON / **/
3020 * This symbol will defined if the C compiler supports int64_t.
3021 * Usually the <inttypes.h> needs to be included, but sometimes
3022 * <sys/types.h> is enough.
3024 /*#define HAS_INT64_T / **/
3027 * This manifest constant lets the C program know that isblank
3030 /*#define HAS_ISBLANK / **/
3033 * This symbol, if defined, indicates that the isfinite routine is
3034 * available to check whether a double is finite (non-infinity non-NaN).
3036 /*#define HAS_ISFINITE / **/
3039 * This symbol, if defined, indicates that the isfinitel routine is
3040 * available to check whether a long double is finite.
3041 * (non-infinity non-NaN).
3043 /*#define HAS_ISFINITEL / **/
3046 * This symbol, if defined, indicates that the isinf routine is
3047 * available to check whether a double is an infinity.
3049 /*#define HAS_ISINF / **/
3052 * This symbol, if defined, indicates that the isinfl routine is
3053 * available to check whether a long double is an infinity.
3055 /*#define HAS_ISINFL / **/
3058 * This symbol, if defined, indicates that the isless routine is
3059 * available to do the isless function.
3061 /*#define HAS_ISLESS / **/
3064 * This symbol, if defined, indicates that the isnan routine is
3065 * available to check whether a double is a NaN.
3067 /*#define HAS_ISNAN / **/
3070 * This symbol, if defined, indicates that the isnanl routine is
3071 * available to check whether a long double is a NaN.
3073 /*#define HAS_ISNANL / **/
3076 * This symbol, if defined, indicates that the isnormal routine is
3077 * available to check whether a double is normal (non-zero normalized).
3079 /*#define HAS_ISNORMAL / **/
3082 * This symbol, if defined, indicates to the C program that the
3083 * j0() function is available for Bessel functions of the first
3084 * kind of the order zero, for doubles.
3087 * This symbol, if defined, indicates to the C program that the
3088 * j0l() function is available for Bessel functions of the first
3089 * kind of the order zero, for long doubles.
3091 /*#define HAS_J0 / **/
3092 /*#define HAS_J0L / **/
3094 /* HAS_LC_MONETARY_2008:
3095 * This symbol, if defined, indicates that the localeconv routine is
3096 * available and has the additional members added in POSIX 1003.1-2008.
3098 /*#define HAS_LC_MONETARY_2008 / **/
3101 * This symbol, if defined, indicates that this system's <float.h>
3102 * or <limits.h> defines the symbol LDBL_DIG, which is the number
3103 * of significant digits in a long double precision number. Unlike
3104 * for DBL_DIG, there's no good guess for LDBL_DIG if it is undefined.
3106 /*#define HAS_LDBL_DIG / * */
3109 * This symbol, if defined, indicates that the lgamma routine is
3110 * available to do the log gamma function. See also HAS_TGAMMA and
3113 /*#define HAS_LGAMMA / **/
3116 * This symbol, if defined, indicates that the lgamma_r routine is
3117 * available to do the log gamma function without using the global
3120 /*#define HAS_LGAMMA_R / **/
3122 /* LIBM_LIB_VERSION:
3123 * This symbol, if defined, indicates that libm exports _LIB_VERSION
3124 * and that math.h defines the enum to manipulate it.
3126 /*#define LIBM_LIB_VERSION / **/
3129 * This symbol, if defined, indicates that the llrint routine is
3130 * available to return the long long value closest to a double
3131 * (according to the current rounding mode).
3133 /*#define HAS_LLRINT / **/
3136 * This symbol, if defined, indicates that the llrintl routine is
3137 * available to return the long long value closest to a long double
3138 * (according to the current rounding mode).
3140 /*#define HAS_LLRINTL / **/
3143 * This symbol, if defined, indicates that the llround routine is
3144 * available to return the nearest long long value.
3146 /*#define HAS_LLROUND / **/
3149 * This symbol, if defined, indicates that the llroundl routine is
3150 * available to return the nearest long long value away from zero of
3151 * the long double argument value.
3153 /*#define HAS_LLROUNDL / **/
3156 * This symbol, if defined, indicates that the log1p routine is
3157 * available to do the logarithm of 1 plus argument function.
3159 /*#define HAS_LOG1P / **/
3162 * This symbol, if defined, indicates that the log2 routine is
3163 * available to do the log2 function.
3165 /*#define HAS_LOG2 / **/
3168 * This symbol, if defined, indicates that the logb routine is
3169 * available to do the logb function.
3171 /*#define HAS_LOGB / **/
3174 * This symbol, if defined, indicates that the lrint routine is
3175 * available to return the integral value closest to a double
3176 * (according to the current rounding mode).
3178 /*#define HAS_LRINT / **/
3181 * This symbol, if defined, indicates that the lrintl routine is
3182 * available to return the integral value closest to a long double
3183 * (according to the current rounding mode).
3185 /*#define HAS_LRINTL / **/
3188 * This symbol, if defined, indicates that the lround routine is
3189 * available to return the nearest integral value.
3191 /*#define HAS_LROUND / **/
3194 * This symbol, if defined, indicates that the lroundl routine is
3195 * available to return the nearest integral value away from zero of
3196 * the long double argument value.
3198 /*#define HAS_LROUNDL / **/
3201 * This symbol, if defined, indicates that the madvise system call is
3202 * available to map a file into memory.
3204 /*#define HAS_MADVISE / **/
3207 * This symbol, if defined, indicates that the malloc_size
3208 * routine is available for use.
3210 /*#define HAS_MALLOC_SIZE / **/
3212 /* HAS_MALLOC_GOOD_SIZE:
3213 * This symbol, if defined, indicates that the malloc_good_size
3214 * routine is available for use.
3216 /*#define HAS_MALLOC_GOOD_SIZE / **/
3219 * This symbol, if defined, indicates that the memmem routine is
3220 * available to return a pointer to the start of the first occurance
3221 * of a substring in a memory area (or NULL if not found).
3223 /*#define HAS_MEMMEM / **/
3226 * This symbol, if defined, indicates that the memrchr routine is
3227 * available to return a pointer to the last occurrence of a byte in
3228 * a memory area (or NULL if not found).
3230 /*#define HAS_MEMRCHR / **/
3233 * This symbol, if defined, indicates that the mkdtemp routine is
3234 * available to exclusively create a uniquely named temporary directory.
3236 /*#define HAS_MKDTEMP / **/
3239 * This symbol, if defined, indicates that the mkstemps routine is
3240 * available to exclusively create and open a uniquely named
3241 * (with a suffix) temporary file.
3243 /*#define HAS_MKSTEMPS / **/
3246 * This symbol, if defined, indicates that the modfl routine is
3247 * available to split a long double x into a fractional part f and
3248 * an integer part i such that |f| < 1.0 and (f + i) = x.
3251 * This symbol, if defined, indicates that the system provides
3252 * a prototype for the modfl() function. Otherwise, it is up
3253 * to the program to supply one.
3255 /*#define HAS_MODFL / **/
3256 /*#define HAS_MODFL_PROTO / **/
3259 * This symbol, if defined, indicates that the mprotect system call is
3260 * available to modify the access protection of a memory mapped file.
3262 /*#define HAS_MPROTECT / **/
3264 /* HAS_STRUCT_MSGHDR:
3265 * This symbol, if defined, indicates that the struct msghdr
3268 /*#define HAS_STRUCT_MSGHDR / **/
3271 * This symbol, if defined, indicates that the nan routine is
3272 * available to generate NaN.
3274 /*#define HAS_NAN / **/
3277 * This symbol, if defined, indicates that the nanosleep
3278 * system call is available to sleep with 1E-9 sec accuracy.
3280 /*#define HAS_NANOSLEEP / **/
3283 * This symbol, if defined, indicates that the nearbyint routine is
3284 * available to return the integral value closest to (according to
3285 * the current rounding mode) to x.
3287 /*#define HAS_NEARBYINT / **/
3290 * This symbol, if defined, indicates that the newlocale routine is
3291 * available to return a new locale object or modify an existing
3295 * This symbol, if defined, indicates that the freelocale routine is
3296 * available to deallocates the resources associated with a locale object.
3299 * This symbol, if defined, indicates that the uselocale routine is
3300 * available to set the current locale for the calling thread.
3303 * This symbol, if defined, indicates that the querylocale routine is
3304 * available to return the name of the locale for a category mask.
3307 * This symbol, if defined, indicates to the C program that it should
3308 * include <xlocale.h> to get uselocale() and its friends.
3310 /*#define HAS_NEWLOCALE / **/
3311 /*#define HAS_FREELOCALE / **/
3312 /*#define HAS_USELOCALE / **/
3313 /*#define HAS_QUERYLOCALE / **/
3314 /*#define I_XLOCALE / **/
3317 * This symbol, if defined, indicates that the nextafter routine is
3318 * available to return the next machine representable double from
3321 /*#define HAS_NEXTAFTER / **/
3324 * This symbol, if defined, indicates that the nexttoward routine is
3325 * available to return the next machine representable long double from
3328 /*#define HAS_NEXTTOWARD / **/
3331 * This symbol, if defined, indicates that the nl_langinfo routine is
3332 * available to return local data. You will also need <langinfo.h>
3333 * and therefore I_LANGINFO.
3335 /*#define HAS_NL_LANGINFO / **/
3338 * This symbol will be defined if the C compiler supports off64_t.
3340 /*#define HAS_OFF64_T / **/
3343 * This symbol, if defined, indicates that the prctl routine is
3344 * available to set process title.
3345 * Note that there are at least two prctl variants: Linux and Irix.
3346 * While they are somewhat similar, they are incompatible.
3348 /* HAS_PRCTL_SET_NAME:
3349 * This symbol, if defined, indicates that the prctl routine is
3350 * available to set process title and supports PR_SET_NAME.
3352 /*#define HAS_PRCTL / **/
3353 /*#define HAS_PRCTL_SET_NAME / **/
3356 * This symbol is defined if PROCSELFEXE_PATH is a symlink
3357 * to the absolute pathname of the executing program.
3359 /* PROCSELFEXE_PATH:
3360 * If HAS_PROCSELFEXE is defined this symbol is the filename
3361 * of the symbolic link pointing to the absolute pathname of
3362 * the executing program.
3364 /*#define HAS_PROCSELFEXE / **/
3365 #if defined(HAS_PROCSELFEXE) && !defined(PROCSELFEXE_PATH)
3366 #define PROCSELFEXE_PATH /**/
3369 /* HAS_PTHREAD_ATTR_SETSCOPE:
3370 * This symbol, if defined, indicates that the pthread_attr_setscope
3371 * system call is available to set the contention scope attribute of
3372 * a thread attribute object.
3374 /*#define HAS_PTHREAD_ATTR_SETSCOPE / **/
3377 * This symbol will be defined if the C compiler supports ptrdiff_t.
3379 #define HAS_PTRDIFF_T /**/
3382 * This symbol, if defined, indicates that the readv routine is
3383 * available to do gather reads. You will also need <sys/uio.h>
3384 * and there I_SYSUIO.
3386 /*#define HAS_READV / **/
3389 * This symbol, if defined, indicates that the recvmsg routine is
3390 * available to send structured socket messages.
3392 /*#define HAS_RECVMSG / **/
3395 * This symbol, if defined, indicates that the remainder routine is
3396 * available to return the floating-point remainder.
3398 /*#define HAS_REMAINDER / **/
3401 * This symbol, if defined, indicates that the remquo routine is
3402 * available to return the remainder and part of quotient.
3404 /*#define HAS_REMQUO / **/
3407 * This symbol, if defined, indicates that the rint routine is
3408 * available to return the nearest integral value to x as double
3409 * using the current rounding mode.
3411 /*#define HAS_RINT / **/
3414 * This symbol, if defined, indicates that the round routine is
3415 * available to round to nearest integer, away from zero.
3417 /*#define HAS_ROUND / **/
3420 * This symbol, if defined, indicates that the system provides
3421 * a prototype for the sbrk() function. Otherwise, it is up
3422 * to the program to supply one. Good guesses are
3423 * extern void* sbrk(int);
3424 * extern void* sbrk(size_t);
3426 /*#define HAS_SBRK_PROTO / **/
3429 * This symbol, if defined, indicates that the scalbn routine is
3430 * available to multiply floating-point number by integral power
3433 /*#define HAS_SCALBN / **/
3436 * This symbol, if defined, indicates that the scalbnl routine is
3437 * available. If ilogbl is also present we can emulate frexpl.
3439 /*#define HAS_SCALBNL / **/
3442 * This symbol, if defined, indicates that the sendmsg routine is
3443 * available to send structured socket messages.
3445 /*#define HAS_SENDMSG / **/
3448 * This symbol, if defined, indicates that the setitimer routine is
3449 * available to set interval timers.
3451 /*#define HAS_SETITIMER / **/
3453 /* HAS_SETPROCTITLE:
3454 * This symbol, if defined, indicates that the setproctitle routine is
3455 * available to set process title.
3457 /*#define HAS_SETPROCTITLE / **/
3460 * This symbol, if defined, indicates that the signbit routine is
3461 * available to check if the given number has the sign bit set.
3462 * This should include correct testing of -0.0. This will only be set
3463 * if the signbit() routine is safe to use with the NV type used internally
3464 * in perl. Users should call Perl_signbit(), which will be #defined to
3465 * the system's signbit() function or macro if this symbol is defined.
3467 /*#define HAS_SIGNBIT / **/
3470 * This symbol, if defined, indicates that the sigprocmask
3471 * system call is available to examine or change the signal mask
3472 * of the calling process.
3474 /*#define HAS_SIGPROCMASK / **/
3476 /* USE_SITECUSTOMIZE:
3477 * This symbol, if defined, indicates that sitecustomize should
3480 #ifndef USE_SITECUSTOMIZE
3481 /*#define USE_SITECUSTOMIZE / **/
3485 * This symbol, if defined, indicates that the snprintf () library
3486 * function is available for use.
3489 * This symbol, if defined, indicates that the vsnprintf () library
3490 * function is available for use.
3492 /*#define HAS_SNPRINTF / **/
3493 /*#define HAS_VSNPRINTF / **/
3496 * This symbol, if defined, indicates that the sockatmark routine is
3497 * available to test whether a socket is at the out-of-band mark.
3499 /*#define HAS_SOCKATMARK / **/
3501 /* HAS_SOCKATMARK_PROTO:
3502 * This symbol, if defined, indicates that the system provides
3503 * a prototype for the sockatmark() function. Otherwise, it is up
3504 * to the program to supply one. A good guess is
3505 * extern int sockatmark(int);
3507 /*#define HAS_SOCKATMARK_PROTO / **/
3510 * This symbol, if defined, indicates that the socks5_init routine is
3511 * available to initialize SOCKS 5.
3513 /*#define HAS_SOCKS5_INIT / **/
3515 /* SPRINTF_RETURNS_STRLEN:
3516 * This variable defines whether sprintf returns the length of the string
3517 * (as per the ANSI spec). Some C libraries retain compatibility with
3518 * pre-ANSI C and return a pointer to the passed in buffer; for these
3519 * this variable will be undef.
3521 /*#define SPRINTF_RETURNS_STRLEN / **/
3524 * This symbol, if defined, indicates that the sqrtl routine is
3525 * available to do long double square roots.
3527 /*#define HAS_SQRTL / **/
3529 /* HAS_SETRESGID_PROTO:
3530 * This symbol, if defined, indicates that the system provides
3531 * a prototype for the setresgid() function. Otherwise, it is up
3532 * to the program to supply one. Good guesses are
3533 * extern int setresgid(uid_t ruid, uid_t euid, uid_t suid);
3535 /*#define HAS_SETRESGID_PROTO / **/
3537 /* HAS_SETRESUID_PROTO:
3538 * This symbol, if defined, indicates that the system provides
3539 * a prototype for the setresuid() function. Otherwise, it is up
3540 * to the program to supply one. Good guesses are
3541 * extern int setresuid(uid_t ruid, uid_t euid, uid_t suid);
3543 /*#define HAS_SETRESUID_PROTO / **/
3545 /* HAS_STRUCT_STATFS_F_FLAGS:
3546 * This symbol, if defined, indicates that the struct statfs
3547 * does have the f_flags member containing the mount flags of
3548 * the filesystem containing the file.
3549 * This kind of struct statfs is coming from <sys/mount.h> (BSD 4.3),
3550 * not from <sys/statfs.h> (SYSV). Older BSDs (like Ultrix) do not
3551 * have statfs() and struct statfs, they have ustat() and getmnt()
3552 * with struct ustat and struct fs_data.
3554 /*#define HAS_STRUCT_STATFS_F_FLAGS / **/
3556 /* HAS_STRUCT_STATFS:
3557 * This symbol, if defined, indicates that the struct statfs
3558 * to do statfs() is supported.
3560 /*#define HAS_STRUCT_STATFS / **/
3563 * This symbol, if defined, indicates that the fstatvfs routine is
3564 * available to stat filesystems by file descriptors.
3566 /*#define HAS_FSTATVFS / **/
3569 * This symbol, if defined, indicates that the strerror_l routine is
3570 * available to return the error message for a given errno value in
3571 * a particular locale (identified by a locale_t object).
3573 /*#define HAS_STRERROR_L / **/
3576 * This symbol, if defined, indicates that the strftime routine is
3577 * available to do time formatting.
3579 /*#define HAS_STRFTIME / **/
3582 * This symbol, if defined, indicates that the strlcat () routine is
3583 * available to do string concatenation.
3585 /*#define HAS_STRLCAT / **/
3588 * This symbol, if defined, indicates that the strlcpy () routine is
3589 * available to do string copying.
3591 /*#define HAS_STRLCPY / **/
3594 * This symbol, if defined, indicates that the strnlen () routine is
3595 * available to check the length of a string up to a maximum.
3597 /*#define HAS_STRNLEN / **/
3600 * This symbol, if defined, indicates that the strtold routine is
3601 * available to convert strings to long doubles.
3603 /*#define HAS_STRTOLD / **/
3606 * This symbol, if defined, indicates that the strtoll routine is
3607 * available to convert strings to long longs.
3609 /*#define HAS_STRTOLL / **/
3612 * This symbol, if defined, indicates that the strtoq routine is
3613 * available to convert strings to long longs (quads).
3615 /*#define HAS_STRTOQ / **/
3618 * This symbol, if defined, indicates that the strtoull routine is
3619 * available to convert strings to unsigned long longs.
3621 /*#define HAS_STRTOULL / **/
3624 * This symbol, if defined, indicates that the strtouq routine is
3625 * available to convert strings to unsigned long longs (quads).
3627 /*#define HAS_STRTOUQ / **/
3629 /* HAS_SYSCALL_PROTO:
3630 * This symbol, if defined, indicates that the system provides
3631 * a prototype for the syscall() function. Otherwise, it is up
3632 * to the program to supply one. Good guesses are
3633 * extern int syscall(int, ...);
3634 * extern int syscall(long, ...);
3636 /*#define HAS_SYSCALL_PROTO / **/
3638 /* HAS_TELLDIR_PROTO:
3639 * This symbol, if defined, indicates that the system provides
3640 * a prototype for the telldir() function. Otherwise, it is up
3641 * to the program to supply one. A good guess is
3642 * extern long telldir(DIR*);
3644 /*#define HAS_TELLDIR_PROTO / **/
3647 * This symbol, if defined, indicates that the tgamma routine is
3648 * available to do the gamma function. See also HAS_LGAMMA.
3650 /*#define HAS_TGAMMA / **/
3653 * This symbol, if defined, indicates that the ctime64 () routine is
3654 * available to do the 64bit variant of ctime ()
3657 * This symbol, if defined, indicates that the localtime64 () routine is
3658 * available to do the 64bit variant of localtime ()
3661 * This symbol, if defined, indicates that the gmtime64 () routine is
3662 * available to do the 64bit variant of gmtime ()
3665 * This symbol, if defined, indicates that the mktime64 () routine is
3666 * available to do the 64bit variant of mktime ()
3669 * This symbol, if defined, indicates that the difftime64 () routine is
3670 * available to do the 64bit variant of difftime ()
3673 * This symbol, if defined, indicates that the asctime64 () routine is
3674 * available to do the 64bit variant of asctime ()
3676 /*#define HAS_CTIME64 / **/
3677 /*#define HAS_LOCALTIME64 / **/
3678 /*#define HAS_GMTIME64 / **/
3679 /*#define HAS_MKTIME64 / **/
3680 /*#define HAS_DIFFTIME64 / **/
3681 /*#define HAS_ASCTIME64 / **/
3684 * This symbol, if defined, indicates that the timegm routine is
3685 * available to do the opposite of gmtime ()
3687 /*#define HAS_TIMEGM / **/
3690 * This symbol, if defined, indicates that the trunc routine is
3691 * available to round doubles towards zero.
3693 /*#define HAS_TRUNC / **/
3696 * This symbol, if defined, indicates that the truncl routine is
3697 * available. If copysignl is also present we can emulate modfl.
3699 /*#define HAS_TRUNCL / **/
3701 /* U32_ALIGNMENT_REQUIRED:
3702 * This symbol, if defined, indicates that you must access
3703 * character data through U32-aligned pointers.
3705 #ifndef U32_ALIGNMENT_REQUIRED
3706 #define U32_ALIGNMENT_REQUIRED /**/
3710 * This symbol, if defined, indicates that the ualarm routine is
3711 * available to do alarms with microsecond granularity.
3713 /*#define HAS_UALARM / **/
3716 * This symbol, if defined, indicates that the unordered routine is
3717 * available to check whether two doubles are unordered
3718 * (effectively: whether either of them is NaN)
3720 /*#define HAS_UNORDERED / **/
3723 * This symbol, if defined, indicates that the unsetenv () routine is
3724 * available for use.
3726 /*#define HAS_UNSETENV / **/
3728 /* HAS_USLEEP_PROTO:
3729 * This symbol, if defined, indicates that the system provides
3730 * a prototype for the usleep() function. Otherwise, it is up
3731 * to the program to supply one. A good guess is
3732 * extern int usleep(useconds_t);
3734 /*#define HAS_USLEEP_PROTO / **/
3737 * This symbol, if defined, indicates that the ustat system call is
3738 * available to query file system statistics by dev_t.
3740 /*#define HAS_USTAT / **/
3743 * This symbol, if defined, indicates that the wcscmp routine is
3744 * available to compare two wide character strings.
3746 /*#define HAS_WCSCMP / **/
3749 * This symbol, if defined, indicates that the wcsxfrm routine is
3750 * available to tranform a wide character string for wcscmp().
3752 /*#define HAS_WCSXFRM / **/
3755 * This symbol, if defined, indicates that the writev routine is
3756 * available to do scatter writes.
3758 /*#define HAS_WRITEV / **/
3760 /* DEFAULT_INC_EXCLUDES_DOT:
3761 * This symbol, if defined, removes the legacy default behavior of
3762 * including '.' at the end of @INC.
3764 /*#define DEFAULT_INC_EXCLUDES_DOT / **/
3766 /* USE_DYNAMIC_LOADING:
3767 * This symbol, if defined, indicates that dynamic loading of
3768 * some sort is available.
3770 /*#define USE_DYNAMIC_LOADING / **/
3773 * This symbol, if defined, tells that fflush(NULL) correctly
3774 * flushes all pending stdio output without side effects. In
3775 * particular, on some platforms calling fflush(NULL) *still*
3776 * corrupts STDIN if it is a pipe.
3779 * This symbol, if defined, tells that to flush
3780 * all pending stdio output one must loop through all
3781 * the stdio file handles stored in an array and fflush them.
3782 * Note that if fflushNULL is defined, fflushall will not
3783 * even be probed for and will be left undefined.
3785 /*#define FFLUSH_NULL / **/
3786 /*#define FFLUSH_ALL / **/
3789 * This symbol, if defined, indicates that <assert.h> exists and
3790 * could be included by the C program to get the assert() macro.
3792 #define I_ASSERT /**/
3795 * This symbol, if defined, indicates that <bfd.h> exists and
3798 /*#define I_BFD / **/
3801 * This symbol, if defined, indicates that <crypt.h> exists and
3802 * should be included.
3804 /*#define I_CRYPT / **/
3807 * This symbol contains the type of the prefix structure element
3808 * in the <db.h> header file. In older versions of DB, it was
3809 * int, while in newer ones it is u_int32_t.
3812 * This symbol contains the type of the prefix structure element
3813 * in the <db.h> header file. In older versions of DB, it was
3814 * int, while in newer ones it is size_t.
3816 /* DB_VERSION_MAJOR_CFG:
3817 * This symbol, if defined, defines the major version number of
3818 * Berkeley DB found in the <db.h> header when Perl was configured.
3820 /* DB_VERSION_MINOR_CFG:
3821 * This symbol, if defined, defines the minor version number of
3822 * Berkeley DB found in the <db.h> header when Perl was configured.
3823 * For DB version 1 this is always 0.
3825 /* DB_VERSION_PATCH_CFG:
3826 * This symbol, if defined, defines the patch version number of
3827 * Berkeley DB found in the <db.h> header when Perl was configured.
3828 * For DB version 1 this is always 0.
3830 #define DB_Hash_t u_int32_t /**/
3831 #define DB_Prefix_t size_t /**/
3832 #define DB_VERSION_MAJOR_CFG 0 /**/
3833 #define DB_VERSION_MINOR_CFG 0 /**/
3834 #define DB_VERSION_PATCH_CFG 0 /**/
3837 * This symbol, if defined, indicates to the C program that it should
3838 * include <fenv.h> to get the floating point environment definitions.
3840 /*#define I_FENV / **/
3843 * This symbol, if defined, indicates that <fp.h> exists and
3844 * should be included.
3846 /*#define I_FP / **/
3849 * This symbol, if defined, indicates that <fp_class.h> exists and
3850 * should be included.
3852 /*#define I_FP_CLASS / **/
3855 * This symbol, if defined, indicates that <ieeefp.h> exists and
3856 * should be included.
3858 /*#define I_IEEEFP / **/
3861 * This symbol, if defined, indicates to the C program that it should
3862 * include <inttypes.h>.
3864 /*#define I_INTTYPES / **/
3867 * This symbol, if defined, indicates that <langinfo.h> exists and
3868 * should be included.
3870 /*#define I_LANGINFO / **/
3873 * This symbol, if defined, indicates that <libutil.h> exists and
3874 * should be included.
3876 /*#define I_LIBUTIL / **/
3879 * This symbol, if defined, indicates to the C program that it should
3880 * include <malloc/malloc.h>.
3882 /*#define I_MALLOCMALLOC / **/
3885 * This symbol, if defined, indicates that <mntent.h> exists and
3886 * should be included.
3888 /*#define I_MNTENT / **/
3891 * This symbol, if defined, indicates to the C program that it should
3892 * include <netinet/tcp.h>.
3894 /*#define I_NETINET_TCP / **/
3897 * This symbol, if defined, indicates that <poll.h> exists and
3898 * should be included. (see also HAS_POLL)
3900 /*#define I_POLL / **/
3903 * This symbol, if defined, indicates that <prot.h> exists and
3904 * should be included.
3906 /*#define I_PROT / **/
3909 * This symbol, if defined, indicates that <quadmath.h> exists and
3910 * should be included.
3912 /*#define I_QUADMATH / **/
3915 * This symbol, if defined, indicates that <shadow.h> exists and
3916 * should be included.
3918 /*#define I_SHADOW / **/
3921 * This symbol, if defined, indicates that <socks.h> exists and
3922 * should be included.
3924 /*#define I_SOCKS / **/
3927 * This symbol, if defined, indicates that <stdbool.h> exists and
3930 /*#define I_STDBOOL / **/
3933 * This symbol, if defined, indicates that <stdint.h> exists and
3934 * should be included.
3936 /*#define I_STDINT / **/
3939 * This symbol, if defined, indicates that <sunmath.h> exists and
3940 * should be included.
3942 /*#define I_SUNMATH / **/
3945 * This symbol, if defined, indicates that <syslog.h> exists and
3946 * should be included.
3948 /*#define I_SYSLOG / **/
3951 * This symbol, if defined, indicates that <sys/mode.h> exists and
3952 * should be included.
3954 /*#define I_SYSMODE / **/
3957 * This symbol, if defined, indicates that <sys/mount.h> exists and
3958 * should be included.
3960 /*#define I_SYS_MOUNT / **/
3963 * This symbol, if defined, indicates that <sys/statfs.h> exists.
3965 /*#define I_SYS_STATFS / **/
3968 * This symbol, if defined, indicates that <sys/statvfs.h> exists and
3969 * should be included.
3971 /*#define I_SYS_STATVFS / **/
3974 * This symbol, if defined, indicates that <sys/utsname.h> exists and
3975 * should be included.
3977 /*#define I_SYSUTSNAME / **/
3980 * This symbol, if defined, indicates that <sys/vfs.h> exists and
3981 * should be included.
3983 /*#define I_SYS_VFS / **/
3986 * This symbol, if defined, indicates that <ustat.h> exists and
3987 * should be included.
3989 /*#define I_USTAT / **/
3992 * This symbol, if defined, indicates to the C program that <wchar.h>
3993 * is available for inclusion
3995 /*#define I_WCHAR / **/
3998 * This symbol, if defined, is a comma-separated list of
3999 * hexadecimal bytes for the double precision infinity.
4002 * This symbol, if defined, is a comma-separated list of
4003 * hexadecimal bytes (0xHH) for the double precision not-a-number.
4006 * This symbol, if defined, is a comma-separated list of
4007 * hexadecimal bytes for the long double precision infinity.
4010 * This symbol, if defined, is a comma-separated list of
4011 * hexadecimal bytes (0xHH) for the long double precision not-a-number.
4013 #define DOUBLEINFBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f /**/
4014 #define DOUBLENANBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x7f /**/
4015 #define LONGDBLINFBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /**/
4016 #define LONGDBLNANBYTES 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 /**/
4019 * This symbol, if defined, contains the string used by stdio to
4020 * format long doubles (format 'f') for output.
4023 * This symbol, if defined, contains the string used by stdio to
4024 * format long doubles (format 'g') for output.
4027 * This symbol, if defined, contains the string used by stdio to
4028 * format long doubles (format 'e') for output.
4031 * This symbol, if defined, contains the string used by stdio to
4032 * format long doubles (format 'f') for input.
4035 * DOUBLEKIND will be one of
4036 * DOUBLE_IS_IEEE_754_32_BIT_LITTLE_ENDIAN
4037 * DOUBLE_IS_IEEE_754_32_BIT_BIG_ENDIAN
4038 * DOUBLE_IS_IEEE_754_64_BIT_LITTLE_ENDIAN
4039 * DOUBLE_IS_IEEE_754_64_BIT_BIG_ENDIAN
4040 * DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN
4041 * DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN
4042 * DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_LE_BE
4043 * DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_BE_LE
4044 * DOUBLE_IS_VAX_F_FLOAT
4045 * DOUBLE_IS_VAX_D_FLOAT
4046 * DOUBLE_IS_VAX_G_FLOAT
4047 * DOUBLE_IS_IBM_SINGLE_32_BIT
4048 * DOUBLE_IS_IBM_DOUBLE_64_BIT
4049 * DOUBLE_IS_CRAY_SINGLE_64_BIT
4050 * DOUBLE_IS_UNKNOWN_FORMAT
4053 * This symbol, if defined, indicates that the double has
4057 * This symbol, if defined, indicates that the double has
4060 /* DOUBLE_HAS_NEGATIVE_ZERO:
4061 * This symbol, if defined, indicates that the double has
4062 * the negative_zero.
4064 /* DOUBLE_HAS_SUBNORMALS:
4065 * This symbol, if defined, indicates that the double has
4066 * the subnormals (denormals).
4068 /* DOUBLE_STYLE_CRAY:
4069 * This symbol, if defined, indicates that the double is
4070 * the 64-bit CRAY mainframe format.
4072 /* DOUBLE_STYLE_IBM:
4073 * This symbol, if defined, indicates that the double is
4074 * the 64-bit IBM mainframe format.
4076 /* DOUBLE_STYLE_IEEE:
4077 * This symbol, if defined, indicates that the double is
4078 * the 64-bit IEEE 754.
4080 /* DOUBLE_STYLE_VAX:
4081 * This symbol, if defined, indicates that the double is
4082 * the 64-bit VAX format D or G.
4084 #define DOUBLEKIND 3 /**/
4085 #define DOUBLE_IS_IEEE_754_32_BIT_LITTLE_ENDIAN 1
4086 #define DOUBLE_IS_IEEE_754_32_BIT_BIG_ENDIAN 2
4087 #define DOUBLE_IS_IEEE_754_64_BIT_LITTLE_ENDIAN 3
4088 #define DOUBLE_IS_IEEE_754_64_BIT_BIG_ENDIAN 4
4089 #define DOUBLE_IS_IEEE_754_128_BIT_LITTLE_ENDIAN 5
4090 #define DOUBLE_IS_IEEE_754_128_BIT_BIG_ENDIAN 6
4091 #define DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_LE_BE 7
4092 #define DOUBLE_IS_IEEE_754_64_BIT_MIXED_ENDIAN_BE_LE 8
4093 #define DOUBLE_IS_VAX_F_FLOAT 9
4094 #define DOUBLE_IS_VAX_D_FLOAT 10
4095 #define DOUBLE_IS_VAX_G_FLOAT 11
4096 #define DOUBLE_IS_IBM_SINGLE_32_BIT 12
4097 #define DOUBLE_IS_IBM_DOUBLE_64_BIT 13
4098 #define DOUBLE_IS_CRAY_SINGLE_64_BIT 14
4099 #define DOUBLE_IS_UNKNOWN_FORMAT -1
4100 /*#define PERL_PRIfldbl "llf" / **/
4101 /*#define PERL_PRIgldbl "llg" / **/
4102 /*#define PERL_PRIeldbl "lle" / **/
4103 /*#define PERL_SCNfldbl "llf" / **/
4104 #define DOUBLE_HAS_INF
4105 #define DOUBLE_HAS_NAN
4106 #define DOUBLE_HAS_NEGATIVE_ZERO
4107 #define DOUBLE_HAS_SUBNORMALS
4108 #undef DOUBLE_STYLE_CRAY
4109 #undef DOUBLE_STYLE_IBM
4110 #define DOUBLE_STYLE_IEEE
4111 #undef DOUBLE_STYLE_VAX
4114 * This symbol, if defined, tells how many mantissa bits
4115 * there are in double precision floating point format.
4116 * Note that this is usually DBL_MANT_DIG minus one, since
4117 * with the standard IEEE 754 formats DBL_MANT_DIG includes
4118 * the implicit bit, which doesn't really exist.
4121 * This symbol, if defined, tells how many mantissa bits
4122 * there are in long double precision floating point format.
4123 * Note that this can be LDBL_MANT_DIG minus one,
4124 * since LDBL_MANT_DIG can include the IEEE 754 implicit bit.
4125 * The common x86-style 80-bit long double does not have
4129 * This symbol, if defined, tells how many mantissa bits
4130 * (not including implicit bit) there are in a Perl NV.
4131 * This depends on which floating point type was chosen.
4133 #define DOUBLEMANTBITS 52
4134 #define LONGDBLMANTBITS 64
4135 #define NVMANTBITS 52
4138 * This symbol, if defined, indicates that the system stores
4139 * the variable argument list datatype, va_list, in a format
4140 * that cannot be copied by simple assignment, so that some
4141 * other means must be used when copying is required.
4142 * As such systems vary in their provision (or non-provision)
4143 * of copying mechanisms, handy.h defines a platform-
4144 * independent macro, Perl_va_copy(src, dst), to do the job.
4146 #define NEED_VA_COPY /**/
4149 * This symbol defines the C type used for Perl's IV.
4152 * This symbol defines the C type used for Perl's UV.
4155 * This symbol defines the C type used for Perl's I8.
4158 * This symbol defines the C type used for Perl's U8.
4161 * This symbol defines the C type used for Perl's I16.
4164 * This symbol defines the C type used for Perl's U16.
4167 * This symbol defines the C type used for Perl's I32.
4170 * This symbol defines the C type used for Perl's U32.
4173 * This symbol defines the C type used for Perl's I64.
4176 * This symbol defines the C type used for Perl's U64.
4179 * This symbol defines the C type used for Perl's NV.
4182 * This symbol contains the sizeof(IV).
4185 * This symbol contains the sizeof(UV).
4188 * This symbol contains the sizeof(I8).
4191 * This symbol contains the sizeof(U8).
4194 * This symbol contains the sizeof(I16).
4197 * This symbol contains the sizeof(U16).
4200 * This symbol contains the sizeof(I32).
4203 * This symbol contains the sizeof(U32).
4206 * This symbol contains the sizeof(I64).
4209 * This symbol contains the sizeof(U64).
4212 * This symbol contains the sizeof(NV).
4213 * Note that some floating point formats have unused bytes.
4214 * The most notable example is the x86* 80-bit extended precision
4215 * which comes in byte sizes of 12 and 16 (for 32 and 64 bit
4216 * platforms, respectively), but which only uses 10 bytes.
4217 * Perl compiled with -Duselongdouble on x86* is like this.
4220 * This symbol, if defined, indicates that a variable of type NVTYPE
4221 * can preserve all the bits of a variable of type UVTYPE.
4223 /* NV_PRESERVES_UV_BITS:
4224 * This symbol contains the number of bits a variable of type NVTYPE
4225 * can preserve of a variable of type UVTYPE.
4227 /* NV_OVERFLOWS_INTEGERS_AT:
4228 * This symbol gives the largest integer value that NVs can hold. This
4229 * value + 1.0 cannot be stored accurately. It is expressed as constant
4230 * floating point expression to reduce the chance of decimal/binary
4231 * conversion issues. If it can not be determined, the value 0 is given.
4233 /* NV_ZERO_IS_ALLBITS_ZERO:
4234 * This symbol, if defined, indicates that a variable of type NVTYPE
4235 * stores 0.0 in memory as all bits zero.
4237 #define IVTYPE long /**/
4238 #define UVTYPE unsigned long /**/
4239 #define I8TYPE signed char /**/
4240 #define U8TYPE unsigned char /**/
4241 #define I16TYPE short /**/
4242 #define U16TYPE unsigned short /**/
4243 #define I32TYPE long /**/
4244 #define U32TYPE unsigned long /**/
4246 #define I64TYPE int64_t /**/
4247 #define U64TYPE uint64_t /**/
4249 #define NVTYPE double /**/
4250 #define IVSIZE 4 /**/
4251 #define UVSIZE 4 /**/
4252 #define I8SIZE 1 /**/
4253 #define U8SIZE 1 /**/
4254 #define I16SIZE 2 /**/
4255 #define U16SIZE 2 /**/
4256 #define I32SIZE 4 /**/
4257 #define U32SIZE 4 /**/
4259 #define I64SIZE 8 /**/
4260 #define U64SIZE 8 /**/
4262 #define NVSIZE 8 /**/
4263 #undef NV_PRESERVES_UV
4264 #define NV_PRESERVES_UV_BITS 0
4265 #define NV_OVERFLOWS_INTEGERS_AT (256.0*256.0*256.0*256.0*256.0*256.0*2.0*2.0*2.0*2.0*2.0)
4266 #undef NV_ZERO_IS_ALLBITS_ZERO
4269 # if BYTEORDER == 0x1234
4271 # define BYTEORDER 0x12345678
4273 # if BYTEORDER == 0x4321
4275 # define BYTEORDER 0x87654321
4282 * This symbol defines the format string used for printing a Perl IV
4283 * as a signed decimal integer.
4286 * This symbol defines the format string used for printing a Perl UV
4287 * as an unsigned decimal integer.
4290 * This symbol defines the format string used for printing a Perl UV
4291 * as an unsigned octal integer.
4294 * This symbol defines the format string used for printing a Perl UV
4295 * as an unsigned hexadecimal integer in lowercase abcdef.
4298 * This symbol defines the format string used for printing a Perl UV
4299 * as an unsigned hexadecimal integer in uppercase ABCDEF.
4302 * This symbol defines the format string used for printing a Perl NV
4303 * using %e-ish floating point format.
4306 * This symbol defines the format string used for printing a Perl NV
4307 * using %f-ish floating point format.
4310 * This symbol defines the format string used for printing a Perl NV
4311 * using %g-ish floating point format.
4313 #define IVdf "ld" /**/
4314 #define UVuf "lu" /**/
4315 #define UVof "lo" /**/
4316 #define UVxf "lx" /**/
4317 #define UVXf "lX" /**/
4318 #define NVef "e" /**/
4319 #define NVff "f" /**/
4320 #define NVgf "g" /**/
4323 * This symbol holds the minimum number of bits operated by select.
4324 * That is, if you do select(n, ...), how many bits at least will be
4325 * cleared in the masks if some activity is detected. Usually this
4326 * is either n or 32*ceil(n/32), especially many little-endians do
4327 * the latter. This is only useful if you have select(), naturally.
4329 #define SELECT_MIN_BITS 32 /**/
4332 * This variable contains the size of struct stat's st_ino in bytes.
4335 * This symbol holds the signedness of struct stat's st_ino.
4336 * 1 for unsigned, -1 for signed.
4338 #define ST_INO_SIGN 1 /* st_ino sign */
4339 #define ST_INO_SIZE 4 /* st_ino size */
4342 * This variable contains the string to put in front of a perl
4343 * script to make sure (one hopes) that it runs with perl and not
4346 #define STARTPERL "#!perl" /**/
4348 /* HAS_STDIO_STREAM_ARRAY:
4349 * This symbol, if defined, tells that there is an array
4350 * holding the stdio streams.
4352 /* STDIO_STREAM_ARRAY:
4353 * This symbol tells the name of the array holding the stdio streams.
4354 * Usual values include _iob, __iob, and __sF.
4356 /*#define HAS_STDIO_STREAM_ARRAY / **/
4357 #ifdef HAS_STDIO_STREAM_ARRAY
4358 #define STDIO_STREAM_ARRAY
4362 * This symbol contains the maximum value for the time_t offset that
4363 * the system function gmtime () accepts, and defaults to 0
4366 * This symbol contains the minimum value for the time_t offset that
4367 * the system function gmtime () accepts, and defaults to 0
4370 * This symbol contains the maximum value for the time_t offset that
4371 * the system function localtime () accepts, and defaults to 0
4374 * This symbol contains the minimum value for the time_t offset that
4375 * the system function localtime () accepts, and defaults to 0
4377 #define GMTIME_MAX 2147483647 /**/
4378 #define GMTIME_MIN 0 /**/
4379 #define LOCALTIME_MAX 2147483647 /**/
4380 #define LOCALTIME_MIN 0 /**/
4383 * This symbol, if defined, indicates that 64-bit integers should
4384 * be used when available. If not defined, the native integers
4385 * will be employed (be they 32 or 64 bits). The minimal possible
4386 * 64-bitness is used, just enough to get 64-bit integers into Perl.
4387 * This may mean using for example "long longs", while your memory
4388 * may still be limited to 2 gigabytes.
4391 * This symbol, if defined, indicates that 64-bit integers should
4392 * be used when available. If not defined, the native integers
4393 * will be used (be they 32 or 64 bits). The maximal possible
4394 * 64-bitness is employed: LP64 or ILP64, meaning that you will
4395 * be able to use more than 2 gigabytes of memory. This mode is
4396 * even more binary incompatible than USE_64_BIT_INT. You may not
4397 * be able to run the resulting executable in a 32-bit CPU at all or
4398 * you may need at least to reboot your OS to 64-bit mode.
4400 #ifndef USE_64_BIT_INT
4401 /*#define USE_64_BIT_INT / **/
4403 #ifndef USE_64_BIT_ALL
4404 /*#define USE_64_BIT_ALL / **/
4408 * This symbol, if defined, indicates that Perl should
4409 * be built with support for backtrace.
4411 /*#define USE_CBACKTRACE / **/
4414 * This symbol, if defined, indicates that Perl should
4415 * be built with support for DTrace.
4417 /*#define USE_DTRACE / **/
4420 * This symbol, if defined, indicates that Perl should
4421 * be built to use 'fast stdio'.
4422 * Defaults to define in Perls 5.8 and earlier, to undef later.
4424 #ifndef USE_FAST_STDIO
4425 /*#define USE_FAST_STDIO / **/
4428 /* USE_KERN_PROC_PATHNAME:
4429 * This symbol, if defined, indicates that we can use sysctl with
4430 * KERN_PROC_PATHNAME to get a full path for the executable, and hence
4431 * convert $^X to an absolute path.
4433 /*#define USE_KERN_PROC_PATHNAME / **/
4436 * This symbol, if defined, indicates that large file support
4437 * should be used when available.
4439 #ifndef USE_LARGE_FILES
4440 /*#define USE_LARGE_FILES / **/
4444 * This symbol, if defined, indicates that long doubles should
4445 * be used when available.
4447 #ifndef USE_LONG_DOUBLE
4448 /*#define USE_LONG_DOUBLE / **/
4452 * This symbol, if defined, indicates that 64-bit interfaces and
4453 * long doubles should be used when available.
4455 #ifndef USE_MORE_BITS
4456 /*#define USE_MORE_BITS / **/
4460 * This symbol, if defined, indicates that Perl should
4461 * be built to use multiplicity.
4463 #ifndef MULTIPLICITY
4464 /*#define MULTIPLICITY / **/
4467 /* USE_NSGETEXECUTABLEPATH:
4468 * This symbol, if defined, indicates that we can use _NSGetExecutablePath
4469 * and realpath to get a full path for the executable, and hence convert
4470 * $^X to an absolute path.
4472 /*#define USE_NSGETEXECUTABLEPATH / **/
4475 * This symbol, if defined, indicates that the PerlIO abstraction should
4476 * be used throughout. If not defined, stdio should be
4477 * used in a fully backward compatible manner.
4480 /*#define USE_PERLIO / **/
4484 * This symbol, if defined, indicates that the quadmath library should
4485 * be used when available.
4487 #ifndef USE_QUADMATH
4488 /*#define USE_QUADMATH / **/
4492 * This symbol, if defined, indicates that Perl should
4493 * be built to use socks.
4496 /*#define USE_SOCKS / **/
4499 /* HAS_DRAND48_PROTO:
4500 * This symbol, if defined, indicates that the system provides
4501 * a prototype for the drand48() function. Otherwise, it is up
4502 * to the program to supply one. A good guess is
4503 * extern double drand48(void);
4505 /*#define HAS_DRAND48_PROTO / **/
4507 /* HAS_GETHOST_PROTOS:
4508 * This symbol, if defined, indicates that <netdb.h> includes
4509 * prototypes for gethostent(), gethostbyname(), and
4510 * gethostbyaddr(). Otherwise, it is up to the program to guess
4511 * them. See netdbtype.U for probing for various Netdb_xxx_t types.
4513 /*#define HAS_GETHOST_PROTOS / **/
4515 /* HAS_GETNET_PROTOS:
4516 * This symbol, if defined, indicates that <netdb.h> includes
4517 * prototypes for getnetent(), getnetbyname(), and
4518 * getnetbyaddr(). Otherwise, it is up to the program to guess
4519 * them. See netdbtype.U for probing for various Netdb_xxx_t types.
4521 /*#define HAS_GETNET_PROTOS / **/
4523 /* HAS_GETPROTO_PROTOS:
4524 * This symbol, if defined, indicates that <netdb.h> includes
4525 * prototypes for getprotoent(), getprotobyname(), and
4526 * getprotobyaddr(). Otherwise, it is up to the program to guess
4527 * them. See netdbtype.U for probing for various Netdb_xxx_t types.
4529 /*#define HAS_GETPROTO_PROTOS / **/
4531 /* HAS_GETSERV_PROTOS:
4532 * This symbol, if defined, indicates that <netdb.h> includes
4533 * prototypes for getservent(), getservbyname(), and
4534 * getservbyaddr(). Otherwise, it is up to the program to guess
4535 * them. See netdbtype.U for probing for various Netdb_xxx_t types.
4537 /*#define HAS_GETSERV_PROTOS / **/
4540 * This symbol, if defined, indicates that the system provides
4541 * a prototype for the lseek() function. Otherwise, it is up
4542 * to the program to supply one. A good guess is
4543 * extern off_t lseek(int, off_t, int);
4545 /*#define HAS_LSEEK_PROTO / **/
4548 * This symbol holds the type used for the 1st argument
4549 * to gethostbyaddr().
4552 * This symbol holds the type used for the 2nd argument
4553 * to gethostbyaddr().
4556 * This symbol holds the type used for the argument to
4560 * This symbol holds the type used for the 1st argument to
4563 #define Netdb_host_t const char * /**/
4564 #define Netdb_hlen_t int /**/
4565 #define Netdb_name_t const char * /**/
4566 #define Netdb_net_t unsigned long /**/
4569 * This symbol holds the type used for the 2nd, 3rd, and 4th
4570 * arguments to select. Usually, this is 'fd_set *', if HAS_FD_SET
4571 * is defined, and 'int *' otherwise. This is only useful if you
4572 * have select(), of course.
4574 #define Select_fd_set_t int /**/
4577 * This symbol holds the type used for the size argument of
4578 * various socket calls (just the base type, not the pointer-to).
4580 #define Sock_size_t int /**/
4583 * This symbol holds a string representing the architecture name.
4584 * It may be used to construct an architecture-dependant pathname
4585 * where library files may be held under a private library, for
4588 #define ARCHNAME "unknown" /**/
4591 * This symbol, if defined, indicates that the asctime_r routine
4592 * is available to asctime re-entrantly.
4595 * This symbol encodes the prototype of asctime_r.
4596 * It is zero if d_asctime_r is undef, and one of the
4597 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_asctime_r
4600 /*#define HAS_ASCTIME_R / **/
4601 #define ASCTIME_R_PROTO 0 /**/
4604 * This symbol, if defined, indicates that the crypt_r routine
4605 * is available to crypt re-entrantly.
4608 * This symbol encodes the prototype of crypt_r.
4609 * It is zero if d_crypt_r is undef, and one of the
4610 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_crypt_r
4613 /*#define HAS_CRYPT_R / **/
4614 #define CRYPT_R_PROTO 0 /**/
4617 * This symbol, if defined, indicates that the ctermid_r routine
4618 * is available to ctermid re-entrantly.
4621 * This symbol encodes the prototype of ctermid_r.
4622 * It is zero if d_ctermid_r is undef, and one of the
4623 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_ctermid_r
4626 /*#define HAS_CTERMID_R / **/
4627 #define CTERMID_R_PROTO 0 /**/
4630 * This symbol, if defined, indicates that the ctime_r routine
4631 * is available to ctime re-entrantly.
4634 * This symbol encodes the prototype of ctime_r.
4635 * It is zero if d_ctime_r is undef, and one of the
4636 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_ctime_r
4639 /*#define HAS_CTIME_R / **/
4640 #define CTIME_R_PROTO 0 /**/
4643 * This symbol, if defined, indicates that the drand48_r routine
4644 * is available to drand48 re-entrantly.
4647 * This symbol encodes the prototype of drand48_r.
4648 * It is zero if d_drand48_r is undef, and one of the
4649 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_drand48_r
4652 /*#define HAS_DRAND48_R / **/
4653 #define DRAND48_R_PROTO 0 /**/
4656 * This symbol, if defined, indicates that the endgrent_r routine
4657 * is available to endgrent re-entrantly.
4659 /* ENDGRENT_R_PROTO:
4660 * This symbol encodes the prototype of endgrent_r.
4661 * It is zero if d_endgrent_r is undef, and one of the
4662 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endgrent_r
4665 /*#define HAS_ENDGRENT_R / **/
4666 #define ENDGRENT_R_PROTO 0 /**/
4668 /* HAS_ENDHOSTENT_R:
4669 * This symbol, if defined, indicates that the endhostent_r routine
4670 * is available to endhostent re-entrantly.
4672 /* ENDHOSTENT_R_PROTO:
4673 * This symbol encodes the prototype of endhostent_r.
4674 * It is zero if d_endhostent_r is undef, and one of the
4675 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endhostent_r
4678 /*#define HAS_ENDHOSTENT_R / **/
4679 #define ENDHOSTENT_R_PROTO 0 /**/
4682 * This symbol, if defined, indicates that the endnetent_r routine
4683 * is available to endnetent re-entrantly.
4685 /* ENDNETENT_R_PROTO:
4686 * This symbol encodes the prototype of endnetent_r.
4687 * It is zero if d_endnetent_r is undef, and one of the
4688 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endnetent_r
4691 /*#define HAS_ENDNETENT_R / **/
4692 #define ENDNETENT_R_PROTO 0 /**/
4694 /* HAS_ENDPROTOENT_R:
4695 * This symbol, if defined, indicates that the endprotoent_r routine
4696 * is available to endprotoent re-entrantly.
4698 /* ENDPROTOENT_R_PROTO:
4699 * This symbol encodes the prototype of endprotoent_r.
4700 * It is zero if d_endprotoent_r is undef, and one of the
4701 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endprotoent_r
4704 /*#define HAS_ENDPROTOENT_R / **/
4705 #define ENDPROTOENT_R_PROTO 0 /**/
4708 * This symbol, if defined, indicates that the endpwent_r routine
4709 * is available to endpwent re-entrantly.
4711 /* ENDPWENT_R_PROTO:
4712 * This symbol encodes the prototype of endpwent_r.
4713 * It is zero if d_endpwent_r is undef, and one of the
4714 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endpwent_r
4717 /*#define HAS_ENDPWENT_R / **/
4718 #define ENDPWENT_R_PROTO 0 /**/
4720 /* HAS_ENDSERVENT_R:
4721 * This symbol, if defined, indicates that the endservent_r routine
4722 * is available to endservent re-entrantly.
4724 /* ENDSERVENT_R_PROTO:
4725 * This symbol encodes the prototype of endservent_r.
4726 * It is zero if d_endservent_r is undef, and one of the
4727 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endservent_r
4730 /*#define HAS_ENDSERVENT_R / **/
4731 #define ENDSERVENT_R_PROTO 0 /**/
4734 * This symbol, if defined, indicates that the getgrent_r routine
4735 * is available to getgrent re-entrantly.
4737 /* GETGRENT_R_PROTO:
4738 * This symbol encodes the prototype of getgrent_r.
4739 * It is zero if d_getgrent_r is undef, and one of the
4740 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrent_r
4743 /*#define HAS_GETGRENT_R / **/
4744 #define GETGRENT_R_PROTO 0 /**/
4747 * This symbol, if defined, indicates that the getgrgid_r routine
4748 * is available to getgrgid re-entrantly.
4750 /* GETGRGID_R_PROTO:
4751 * This symbol encodes the prototype of getgrgid_r.
4752 * It is zero if d_getgrgid_r is undef, and one of the
4753 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrgid_r
4756 /*#define HAS_GETGRGID_R / **/
4757 #define GETGRGID_R_PROTO 0 /**/
4760 * This symbol, if defined, indicates that the getgrnam_r routine
4761 * is available to getgrnam re-entrantly.
4763 /* GETGRNAM_R_PROTO:
4764 * This symbol encodes the prototype of getgrnam_r.
4765 * It is zero if d_getgrnam_r is undef, and one of the
4766 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrnam_r
4769 /*#define HAS_GETGRNAM_R / **/
4770 #define GETGRNAM_R_PROTO 0 /**/
4772 /* HAS_GETHOSTBYADDR_R:
4773 * This symbol, if defined, indicates that the gethostbyaddr_r routine
4774 * is available to gethostbyaddr re-entrantly.
4776 /* GETHOSTBYADDR_R_PROTO:
4777 * This symbol encodes the prototype of gethostbyaddr_r.
4778 * It is zero if d_gethostbyaddr_r is undef, and one of the
4779 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostbyaddr_r
4782 /*#define HAS_GETHOSTBYADDR_R / **/
4783 #define GETHOSTBYADDR_R_PROTO 0 /**/
4785 /* HAS_GETHOSTBYNAME_R: