source: trunk/essentials/dev-lang/perl/plan9/config_h.sample@ 3951

Last change on this file since 3951 was 3181, checked in by bird, 19 years ago

perl 5.8.8

File size: 129.8 KB
Line 
1/*
2 * This file was produced by running the config_h.SH script, which
3 * gets its values from config.sh, which is generally produced by
4 * running Configure.
5 *
6 * Feel free to modify any of this as the need arises. Note, however,
7 * that running config_h.SH again will wipe out any changes you've made.
8 * For a more permanent change edit config.sh and rerun config_h.SH.
9 *
10 * $Id: Config_h.U,v 3.0.1.5 1997/02/28 14:57:43 ram Exp $
11 */
12
13/*
14 * Package name : perl
15 * Source directory : .
16 * Configuration time: Sun Nov 24 20:57:48 EST 2002
17 * Configured by : 9trouble
18 * Target system : plan9 17genr 1 0 generic pcfl
19 */
20
21#ifndef _config_h_
22#define _config_h_
23
24/* LOC_SED:
25 * This symbol holds the complete pathname to the sed program.
26 */
27#define LOC_SED "/bin/sed" /**/
28
29/* HAS_AINTL:
30 * This symbol, if defined, indicates that the aintl routine is
31 * available. If copysignl is also present we can emulate modfl.
32 */
33/*#define HAS_AINTL / **/
34
35/* HAS_ALARM:
36 * This symbol, if defined, indicates that the alarm routine is
37 * available.
38 */
39#define HAS_ALARM /**/
40
41/* HASATTRIBUTE:
42 * This symbol indicates the C compiler can check for function attributes,
43 * such as printf formats. This is normally only supported by GNU cc.
44 */
45/*#define HASATTRIBUTE / **/
46#ifndef HASATTRIBUTE
47#ifdef __attribute__
48#undef __attribute__
49#endif
50#define __attribute__(_arg_)
51#endif
52
53/* HAS_BCMP:
54 * This symbol is defined if the bcmp() routine is available to
55 * compare blocks of memory.
56 */
57#define HAS_BCMP /**/
58
59/* HAS_BCOPY:
60 * This symbol is defined if the bcopy() routine is available to
61 * copy blocks of memory.
62 */
63#define HAS_BCOPY /**/
64
65/* HAS_BZERO:
66 * This symbol is defined if the bzero() routine is available to
67 * set a memory block to 0.
68 */
69#define HAS_BZERO /**/
70
71/* HAS_CHOWN:
72 * This symbol, if defined, indicates that the chown routine is
73 * available.
74 */
75#define HAS_CHOWN /**/
76
77/* HAS_CHROOT:
78 * This symbol, if defined, indicates that the chroot routine is
79 * available.
80 */
81/*#define HAS_CHROOT / **/
82
83/* HAS_CHSIZE:
84 * This symbol, if defined, indicates that the chsize routine is available
85 * to truncate files. You might need a -lx to get this routine.
86 */
87/*#define HAS_CHSIZE / **/
88
89/* HASCONST:
90 * This symbol, if defined, indicates that this C compiler knows about
91 * the const type. There is no need to actually test for that symbol
92 * within your programs. The mere use of the "const" keyword will
93 * trigger the necessary tests.
94 */
95#define HASCONST /**/
96#ifndef HASCONST
97#define const
98#endif
99
100/* HAS_CUSERID:
101 * This symbol, if defined, indicates that the cuserid routine is
102 * available to get character login names.
103 */
104#define HAS_CUSERID /**/
105
106/* HAS_DBL_DIG:
107 * This symbol, if defined, indicates that this system's <float.h>
108 * or <limits.h> defines the symbol DBL_DIG, which is the number
109 * of significant digits in a double precision number. If this
110 * symbol is not defined, a guess of 15 is usually pretty good.
111 */
112#define HAS_DBL_DIG /* */
113
114/* HAS_DIFFTIME:
115 * This symbol, if defined, indicates that the difftime routine is
116 * available.
117 */
118#define HAS_DIFFTIME /**/
119
120/* HAS_DLERROR:
121 * This symbol, if defined, indicates that the dlerror routine is
122 * available to return a string describing the last error that
123 * occurred from a call to dlopen(), dlclose() or dlsym().
124 */
125/*#define HAS_DLERROR / **/
126
127/* HAS_DUP2:
128 * This symbol, if defined, indicates that the dup2 routine is
129 * available to duplicate file descriptors.
130 */
131#define HAS_DUP2 /**/
132
133/* HAS_FCHMOD:
134 * This symbol, if defined, indicates that the fchmod routine is available
135 * to change mode of opened files. If unavailable, use chmod().
136 */
137#define HAS_FCHMOD /**/
138
139/* HAS_FCHOWN:
140 * This symbol, if defined, indicates that the fchown routine is available
141 * to change ownership of opened files. If unavailable, use chown().
142 */
143/*#define HAS_FCHOWN / **/
144
145/* HAS_FCNTL:
146 * This symbol, if defined, indicates to the C program that
147 * the fcntl() function exists.
148 */
149#define HAS_FCNTL /**/
150
151/* HAS_FGETPOS:
152 * This symbol, if defined, indicates that the fgetpos routine is
153 * available to get the file position indicator, similar to ftell().
154 */
155#define HAS_FGETPOS /**/
156
157/* HAS_FLOCK:
158 * This symbol, if defined, indicates that the flock routine is
159 * available to do file locking.
160 */
161/*#define HAS_FLOCK / **/
162
163/* HAS_FORK:
164 * This symbol, if defined, indicates that the fork routine is
165 * available.
166 */
167#define HAS_FORK /**/
168
169/* HAS_FSETPOS:
170 * This symbol, if defined, indicates that the fsetpos routine is
171 * available to set the file position indicator, similar to fseek().
172 */
173#define HAS_FSETPOS /**/
174
175/* HAS_GETTIMEOFDAY:
176 * This symbol, if defined, indicates that the gettimeofday() system
177 * call is available for a sub-second accuracy clock. Usually, the file
178 * <sys/resource.h> needs to be included (see I_SYS_RESOURCE).
179 * The type "Timeval" should be used to refer to "struct timeval".
180 */
181#define HAS_GETTIMEOFDAY /**/
182#ifdef HAS_GETTIMEOFDAY
183#define Timeval struct timeval /* Structure used by gettimeofday() */
184#endif
185
186/* HAS_GETGROUPS:
187 * This symbol, if defined, indicates that the getgroups() routine is
188 * available to get the list of process groups. If unavailable, multiple
189 * groups are probably not supported.
190 */
191#define HAS_GETGROUPS /**/
192
193/* HAS_GETLOGIN:
194 * This symbol, if defined, indicates that the getlogin routine is
195 * available to get the login name.
196 */
197#define HAS_GETLOGIN /**/
198
199/* HAS_GETPGID:
200 * This symbol, if defined, indicates to the C program that
201 * the getpgid(pid) function is available to get the
202 * process group id.
203 */
204/*#define HAS_GETPGID / **/
205
206/* HAS_GETPGRP2:
207 * This symbol, if defined, indicates that the getpgrp2() (as in DG/UX)
208 * routine is available to get the current process group.
209 */
210/*#define HAS_GETPGRP2 / **/
211
212/* HAS_GETPPID:
213 * This symbol, if defined, indicates that the getppid routine is
214 * available to get the parent process ID.
215 */
216#define HAS_GETPPID /**/
217
218/* HAS_GETPRIORITY:
219 * This symbol, if defined, indicates that the getpriority routine is
220 * available to get a process's priority.
221 */
222/*#define HAS_GETPRIORITY / **/
223
224/* HAS_INET_ATON:
225 * This symbol, if defined, indicates to the C program that the
226 * inet_aton() function is available to parse IP address "dotted-quad"
227 * strings.
228 */
229/*#define HAS_INET_ATON / **/
230
231/* HAS_KILLPG:
232 * This symbol, if defined, indicates that the killpg routine is available
233 * to kill process groups. If unavailable, you probably should use kill
234 * with a negative process number.
235 */
236/*#define HAS_KILLPG / **/
237
238/* HAS_LINK:
239 * This symbol, if defined, indicates that the link routine is
240 * available to create hard links.
241 */
242/* #define HAS_LINK /**/
243
244/* HAS_LOCALECONV:
245 * This symbol, if defined, indicates that the localeconv routine is
246 * available for numeric and monetary formatting conventions.
247 */
248#define HAS_LOCALECONV /**/
249
250/* HAS_LOCKF:
251 * This symbol, if defined, indicates that the lockf routine is
252 * available to do file locking.
253 */
254/*#define HAS_LOCKF / **/
255
256/* HAS_LSTAT:
257 * This symbol, if defined, indicates that the lstat routine is
258 * available to do file stats on symbolic links.
259 */
260/*#define HAS_LSTAT / **/
261
262/* HAS_MBLEN:
263 * This symbol, if defined, indicates that the mblen routine is available
264 * to find the number of bytes in a multibye character.
265 */
266#define HAS_MBLEN /**/
267
268/* HAS_MBSTOWCS:
269 * This symbol, if defined, indicates that the mbstowcs routine is
270 * available to covert a multibyte string into a wide character string.
271 */
272#define HAS_MBSTOWCS /**/
273
274/* HAS_MBTOWC:
275 * This symbol, if defined, indicates that the mbtowc routine is available
276 * to covert a multibyte to a wide character.
277 */
278#define HAS_MBTOWC /**/
279
280/* HAS_MEMCMP:
281 * This symbol, if defined, indicates that the memcmp routine is available
282 * to compare blocks of memory.
283 */
284#define HAS_MEMCMP /**/
285
286/* HAS_MEMCPY:
287 * This symbol, if defined, indicates that the memcpy routine is available
288 * to copy blocks of memory.
289 */
290#define HAS_MEMCPY /**/
291
292/* HAS_MEMMOVE:
293 * This symbol, if defined, indicates that the memmove routine is available
294 * to copy potentially overlapping blocks of memory. This should be used
295 * only when HAS_SAFE_BCOPY is not defined. If neither is there, roll your
296 * own version.
297 */
298#define HAS_MEMMOVE /**/
299
300/* HAS_MEMSET:
301 * This symbol, if defined, indicates that the memset routine is available
302 * to set blocks of memory.
303 */
304#define HAS_MEMSET /**/
305
306/* HAS_MKDIR:
307 * This symbol, if defined, indicates that the mkdir routine is available
308 * to create directories. Otherwise you should fork off a new process to
309 * exec /bin/mkdir.
310 */
311#define HAS_MKDIR /**/
312
313/* HAS_MKFIFO:
314 * This symbol, if defined, indicates that the mkfifo routine is
315 * available to create FIFOs. Otherwise, mknod should be able to
316 * do it for you. However, if mkfifo is there, mknod might require
317 * super-user privileges which mkfifo will not.
318 */
319#define HAS_MKFIFO /**/
320
321/* HAS_MKTIME:
322 * This symbol, if defined, indicates that the mktime routine is
323 * available.
324 */
325#define HAS_MKTIME /**/
326
327/* HAS_MSYNC:
328 * This symbol, if defined, indicates that the msync system call is
329 * available to synchronize a mapped file.
330 */
331/*#define HAS_MSYNC / **/
332
333/* HAS_MUNMAP:
334 * This symbol, if defined, indicates that the munmap system call is
335 * available to unmap a region, usually mapped by mmap().
336 */
337/*#define HAS_MUNMAP / **/
338
339/* HAS_NICE:
340 * This symbol, if defined, indicates that the nice routine is
341 * available.
342 */
343/*#define HAS_NICE / **/
344
345/* HAS_PATHCONF:
346 * This symbol, if defined, indicates that pathconf() is available
347 * to determine file-system related limits and options associated
348 * with a given filename.
349 */
350/* HAS_FPATHCONF:
351 * This symbol, if defined, indicates that pathconf() is available
352 * to determine file-system related limits and options associated
353 * with a given open file descriptor.
354 */
355#define HAS_PATHCONF /**/
356#define HAS_FPATHCONF /**/
357
358/* HAS_PAUSE:
359 * This symbol, if defined, indicates that the pause routine is
360 * available to suspend a process until a signal is received.
361 */
362#define HAS_PAUSE /**/
363
364/* HAS_PIPE:
365 * This symbol, if defined, indicates that the pipe routine is
366 * available to create an inter-process channel.
367 */
368#define HAS_PIPE /**/
369
370/* HAS_POLL:
371 * This symbol, if defined, indicates that the poll routine is
372 * available to poll active file descriptors. You may safely
373 * include <poll.h> when this symbol is defined.
374 */
375/*#define HAS_POLL / **/
376
377/* HAS_READDIR:
378 * This symbol, if defined, indicates that the readdir routine is
379 * available to read directory entries. You may have to include
380 * <dirent.h>. See I_DIRENT.
381 */
382#define HAS_READDIR /**/
383
384/* HAS_SEEKDIR:
385 * This symbol, if defined, indicates that the seekdir routine is
386 * available. You may have to include <dirent.h>. See I_DIRENT.
387 */
388/*#define HAS_SEEKDIR / **/
389
390/* HAS_TELLDIR:
391 * This symbol, if defined, indicates that the telldir routine is
392 * available. You may have to include <dirent.h>. See I_DIRENT.
393 */
394/*#define HAS_TELLDIR / **/
395
396/* HAS_REWINDDIR:
397 * This symbol, if defined, indicates that the rewinddir routine is
398 * available. You may have to include <dirent.h>. See I_DIRENT.
399 */
400#define HAS_REWINDDIR /**/
401
402/* HAS_READLINK:
403 * This symbol, if defined, indicates that the readlink routine is
404 * available to read the value of a symbolic link.
405 */
406/*#define HAS_READLINK /* */
407
408/* HAS_RENAME:
409 * This symbol, if defined, indicates that the rename routine is available
410 * to rename files. Otherwise you should do the unlink(), link(), unlink()
411 * trick.
412 */
413#define HAS_RENAME /**/
414
415/* HAS_RMDIR:
416 * This symbol, if defined, indicates that the rmdir routine is
417 * available to remove directories. Otherwise you should fork off a
418 * new process to exec /bin/rmdir.
419 */
420#define HAS_RMDIR /**/
421
422/* HAS_SELECT:
423 * This symbol, if defined, indicates that the select routine is
424 * available to select active file descriptors. If the timeout field
425 * is used, <sys/time.h> may need to be included.
426 */
427#define HAS_SELECT /**/
428
429/* HAS_SETEGID:
430 * This symbol, if defined, indicates that the setegid routine is available
431 * to change the effective gid of the current program.
432 */
433/*#define HAS_SETEGID / **/
434
435/* HAS_SETEUID:
436 * This symbol, if defined, indicates that the seteuid routine is available
437 * to change the effective uid of the current program.
438 */
439/*#define HAS_SETEUID / **/
440
441/* HAS_SETLINEBUF:
442 * This symbol, if defined, indicates that the setlinebuf routine is
443 * available to change stderr or stdout from block-buffered or unbuffered
444 * to a line-buffered mode.
445 */
446#define HAS_SETLINEBUF /**/
447
448/* HAS_SETLOCALE:
449 * This symbol, if defined, indicates that the setlocale routine is
450 * available to handle locale-specific ctype implementations.
451 */
452#define HAS_SETLOCALE /**/
453
454/* HAS_SETPGID:
455 * This symbol, if defined, indicates that the setpgid(pid, gpid)
456 * routine is available to set process group ID.
457 */
458#define HAS_SETPGID /**/
459
460/* HAS_SETPGRP2:
461 * This symbol, if defined, indicates that the setpgrp2() (as in DG/UX)
462 * routine is available to set the current process group.
463 */
464/*#define HAS_SETPGRP2 / **/
465
466/* HAS_SETPRIORITY:
467 * This symbol, if defined, indicates that the setpriority routine is
468 * available to set a process's priority.
469 */
470/*#define HAS_SETPRIORITY / **/
471
472/* HAS_SETREGID:
473 * This symbol, if defined, indicates that the setregid routine is
474 * available to change the real and effective gid of the current
475 * process.
476 */
477/* HAS_SETRESGID:
478 * This symbol, if defined, indicates that the setresgid routine is
479 * available to change the real, effective and saved gid of the current
480 * process.
481 */
482/*#define HAS_SETREGID / **/
483/*#define HAS_SETRESGID / **/
484
485/* HAS_SETREUID:
486 * This symbol, if defined, indicates that the setreuid routine is
487 * available to change the real and effective uid of the current
488 * process.
489 */
490/* HAS_SETRESUID:
491 * This symbol, if defined, indicates that the setresuid routine is
492 * available to change the real, effective and saved uid of the current
493 * process.
494 */
495/*#define HAS_SETREUID / **/
496/*#define HAS_SETRESUID / **/
497
498/* HAS_SETRGID:
499 * This symbol, if defined, indicates that the setrgid routine is available
500 * to change the real gid of the current program.
501 */
502/*#define HAS_SETRGID / **/
503
504/* HAS_SETRUID:
505 * This symbol, if defined, indicates that the setruid routine is available
506 * to change the real uid of the current program.
507 */
508/*#define HAS_SETRUID / **/
509
510/* HAS_SETSID:
511 * This symbol, if defined, indicates that the setsid routine is
512 * available to set the process group ID.
513 */
514#define HAS_SETSID /**/
515
516/* HAS_STRCHR:
517 * This symbol is defined to indicate that the strchr()/strrchr()
518 * functions are available for string searching. If not, try the
519 * index()/rindex() pair.
520 */
521/* HAS_INDEX:
522 * This symbol is defined to indicate that the index()/rindex()
523 * functions are available for string searching.
524 */
525#define HAS_STRCHR /**/
526/*#define HAS_INDEX / **/
527
528/* HAS_STRCOLL:
529 * This symbol, if defined, indicates that the strcoll routine is
530 * available to compare strings using collating information.
531 */
532#define HAS_STRCOLL /**/
533
534/* USE_STRUCT_COPY:
535 * This symbol, if defined, indicates that this C compiler knows how
536 * to copy structures. If undefined, you'll need to use a block copy
537 * routine of some sort instead.
538 */
539#define USE_STRUCT_COPY /**/
540
541/* HAS_STRTOD:
542 * This symbol, if defined, indicates that the strtod routine is
543 * available to provide better numeric string conversion than atof().
544 */
545#define HAS_STRTOD /**/
546
547/* HAS_STRTOL:
548 * This symbol, if defined, indicates that the strtol routine is available
549 * to provide better numeric string conversion than atoi() and friends.
550 */
551#define HAS_STRTOL /**/
552
553/* HAS_STRXFRM:
554 * This symbol, if defined, indicates that the strxfrm() routine is
555 * available to transform strings.
556 */
557#define HAS_STRXFRM /**/
558
559/* HAS_SYMLINK:
560 * This symbol, if defined, indicates that the symlink routine is available
561 * to create symbolic links.
562 */
563/*#define HAS_SYMLINK / **/
564
565/* HAS_SYSCALL:
566 * This symbol, if defined, indicates that the syscall routine is
567 * available to call arbitrary system calls. If undefined, that's tough.
568 */
569/*#define HAS_SYSCALL / **/
570
571/* HAS_SYSCONF:
572 * This symbol, if defined, indicates that sysconf() is available
573 * to determine system related limits and options.
574 */
575#define HAS_SYSCONF /**/
576
577/* HAS_SYSTEM:
578 * This symbol, if defined, indicates that the system routine is
579 * available to issue a shell command.
580 */
581#define HAS_SYSTEM /**/
582
583/* HAS_TCGETPGRP:
584 * This symbol, if defined, indicates that the tcgetpgrp routine is
585 * available to get foreground process group ID.
586 */
587#define HAS_TCGETPGRP /**/
588
589/* HAS_TCSETPGRP:
590 * This symbol, if defined, indicates that the tcsetpgrp routine is
591 * available to set foreground process group ID.
592 */
593#define HAS_TCSETPGRP /**/
594
595/* HAS_TRUNCATE:
596 * This symbol, if defined, indicates that the truncate routine is
597 * available to truncate files.
598 */
599/*#define HAS_TRUNCATE / **/
600
601/* HAS_TZNAME:
602 * This symbol, if defined, indicates that the tzname[] array is
603 * available to access timezone names.
604 */
605#define HAS_TZNAME /**/
606
607/* HAS_UMASK:
608 * This symbol, if defined, indicates that the umask routine is
609 * available to set and get the value of the file creation mask.
610 */
611#define HAS_UMASK /**/
612
613/* HAS_USLEEP:
614 * This symbol, if defined, indicates that the usleep routine is
615 * available to let the process sleep on a sub-second accuracy.
616 */
617/*#define HAS_USLEEP / **/
618
619/* HASVOLATILE:
620 * This symbol, if defined, indicates that this C compiler knows about
621 * the volatile declaration.
622 */
623#define HASVOLATILE /**/
624#ifndef HASVOLATILE
625#define volatile
626#endif
627
628/* HAS_WAIT4:
629 * This symbol, if defined, indicates that wait4() exists.
630 */
631/*#define HAS_WAIT4 / **/
632
633/* HAS_WAITPID:
634 * This symbol, if defined, indicates that the waitpid routine is
635 * available to wait for child process.
636 */
637#define HAS_WAITPID /**/
638
639/* HAS_WCSTOMBS:
640 * This symbol, if defined, indicates that the wcstombs routine is
641 * available to convert wide character strings to multibyte strings.
642 */
643#define HAS_WCSTOMBS /**/
644
645/* HAS_WCTOMB:
646 * This symbol, if defined, indicates that the wctomb routine is available
647 * to covert a wide character to a multibyte.
648 */
649#define HAS_WCTOMB /**/
650
651/* I_ARPA_INET:
652 * This symbol, if defined, indicates to the C program that it should
653 * include <arpa/inet.h> to get inet_addr and friends declarations.
654 */
655#define I_ARPA_INET /**/
656
657/* I_DBM:
658 * This symbol, if defined, indicates that <dbm.h> exists and should
659 * be included.
660 */
661/* I_RPCSVC_DBM:
662 * This symbol, if defined, indicates that <rpcsvc/dbm.h> exists and
663 * should be included.
664 */
665/*#define I_DBM / **/
666/*#define I_RPCSVC_DBM / **/
667
668/* I_DIRENT:
669 * This symbol, if defined, indicates to the C program that it should
670 * include <dirent.h>. Using this symbol also triggers the definition
671 * of the Direntry_t define which ends up being 'struct dirent' or
672 * 'struct direct' depending on the availability of <dirent.h>.
673 */
674/* DIRNAMLEN:
675 * This symbol, if defined, indicates to the C program that the length
676 * of directory entry names is provided by a d_namlen field. Otherwise
677 * you need to do strlen() on the d_name field.
678 */
679/* Direntry_t:
680 * This symbol is set to 'struct direct' or 'struct dirent' depending on
681 * whether dirent is available or not. You should use this pseudo type to
682 * portably declare your directory entries.
683 */
684#define I_DIRENT /**/
685/*#define DIRNAMLEN / **/
686#define Direntry_t struct dirent
687
688/* I_DLFCN:
689 * This symbol, if defined, indicates that <dlfcn.h> exists and should
690 * be included.
691 */
692/*#define I_DLFCN / **/
693
694/* I_FCNTL:
695 * This manifest constant tells the C program to include <fcntl.h>.
696 */
697#define I_FCNTL /**/
698
699/* I_FLOAT:
700 * This symbol, if defined, indicates to the C program that it should
701 * include <float.h> to get definition of symbols like DBL_MAX or
702 * DBL_MIN, i.e. machine dependent floating point values.
703 */
704#define I_FLOAT /**/
705
706/* I_LIMITS:
707 * This symbol, if defined, indicates to the C program that it should
708 * include <limits.h> to get definition of symbols like WORD_BIT or
709 * LONG_MAX, i.e. machine dependant limitations.
710 */
711#define I_LIMITS /**/
712
713/* I_LOCALE:
714 * This symbol, if defined, indicates to the C program that it should
715 * include <locale.h>.
716 */
717#define I_LOCALE /**/
718
719/* I_MATH:
720 * This symbol, if defined, indicates to the C program that it should
721 * include <math.h>.
722 */
723#define I_MATH /**/
724
725/* I_MEMORY:
726 * This symbol, if defined, indicates to the C program that it should
727 * include <memory.h>.
728 */
729/*#define I_MEMORY / **/
730
731/* I_NET_ERRNO:
732 * This symbol, if defined, indicates that <net/errno.h> exists and
733 * should be included.
734 */
735/*#define I_NET_ERRNO / **/
736
737/* I_NETINET_IN:
738 * This symbol, if defined, indicates to the C program that it should
739 * include <netinet/in.h>. Otherwise, you may try <sys/in.h>.
740 */
741#define I_NETINET_IN /**/
742
743/* I_SFIO:
744 * This symbol, if defined, indicates to the C program that it should
745 * include <sfio.h>.
746 */
747/*#define I_SFIO / **/
748
749/* I_STDDEF:
750 * This symbol, if defined, indicates that <stddef.h> exists and should
751 * be included.
752 */
753#define I_STDDEF /**/
754
755/* I_STDLIB:
756 * This symbol, if defined, indicates that <stdlib.h> exists and should
757 * be included.
758 */
759#define I_STDLIB /**/
760
761/* I_STRING:
762 * This symbol, if defined, indicates to the C program that it should
763 * include <string.h> (USG systems) instead of <strings.h> (BSD systems).
764 */
765#define I_STRING /**/
766
767/* I_SYS_DIR:
768 * This symbol, if defined, indicates to the C program that it should
769 * include <sys/dir.h>.
770 */
771/*#define I_SYS_DIR / **/
772
773/* I_SYS_FILE:
774 * This symbol, if defined, indicates to the C program that it should
775 * include <sys/file.h> to get definition of R_OK and friends.
776 */
777/*#define I_SYS_FILE / **/
778
779/* I_SYS_IOCTL:
780 * This symbol, if defined, indicates that <sys/ioctl.h> exists and should
781 * be included. Otherwise, include <sgtty.h> or <termio.h>.
782 */
783/* I_SYS_SOCKIO:
784 * This symbol, if defined, indicates the <sys/sockio.h> should be included
785 * to get socket ioctl options, like SIOCATMARK.
786 */
787#define I_SYS_IOCTL /**/
788/*#define I_SYS_SOCKIO / **/
789
790/* I_SYS_NDIR:
791 * This symbol, if defined, indicates to the C program that it should
792 * include <sys/ndir.h>.
793 */
794/*#define I_SYS_NDIR / **/
795
796/* I_SYS_PARAM:
797 * This symbol, if defined, indicates to the C program that it should
798 * include <sys/param.h>.
799 */
800#define I_SYS_PARAM /**/
801
802/* I_SYS_RESOURCE:
803 * This symbol, if defined, indicates to the C program that it should
804 * include <sys/resource.h>.
805 */
806#define I_SYS_RESOURCE /**/
807
808/* I_SYS_SELECT:
809 * This symbol, if defined, indicates to the C program that it should
810 * include <sys/select.h> in order to get definition of struct timeval.
811 */
812#define I_SYS_SELECT /**/
813
814/* I_SYS_STAT:
815 * This symbol, if defined, indicates to the C program that it should
816 * include <sys/stat.h>.
817 */
818#define I_SYS_STAT /**/
819
820/* I_SYS_TIMES:
821 * This symbol, if defined, indicates to the C program that it should
822 * include <sys/times.h>.
823 */
824#define I_SYS_TIMES /**/
825
826/* I_SYS_TYPES:
827 * This symbol, if defined, indicates to the C program that it should
828 * include <sys/types.h>.
829 */
830#define I_SYS_TYPES /**/
831
832/* I_SYS_UN:
833 * This symbol, if defined, indicates to the C program that it should
834 * include <sys/un.h> to get UNIX domain socket definitions.
835 */
836#define I_SYS_UN /**/
837
838/* I_SYS_WAIT:
839 * This symbol, if defined, indicates to the C program that it should
840 * include <sys/wait.h>.
841 */
842#define I_SYS_WAIT /**/
843
844/* I_TERMIO:
845 * This symbol, if defined, indicates that the program should include
846 * <termio.h> rather than <sgtty.h>. There are also differences in
847 * the ioctl() calls that depend on the value of this symbol.
848 */
849/* I_TERMIOS:
850 * This symbol, if defined, indicates that the program should include
851 * the POSIX termios.h rather than sgtty.h or termio.h.
852 * There are also differences in the ioctl() calls that depend on the
853 * value of this symbol.
854 */
855/* I_SGTTY:
856 * This symbol, if defined, indicates that the program should include
857 * <sgtty.h> rather than <termio.h>. There are also differences in
858 * the ioctl() calls that depend on the value of this symbol.
859 */
860/*#define I_TERMIO / **/
861#define I_TERMIOS /**/
862/*#define I_SGTTY / **/
863
864/* I_UNISTD:
865 * This symbol, if defined, indicates to the C program that it should
866 * include <unistd.h>.
867 */
868#define I_UNISTD /**/
869
870/* I_UTIME:
871 * This symbol, if defined, indicates to the C program that it should
872 * include <utime.h>.
873 */
874#define I_UTIME /**/
875
876/* I_VALUES:
877 * This symbol, if defined, indicates to the C program that it should
878 * include <values.h> to get definition of symbols like MINFLOAT or
879 * MAXLONG, i.e. machine dependant limitations. Probably, you
880 * should use <limits.h> instead, if it is available.
881 */
882/*#define I_VALUES / **/
883
884/* I_VFORK:
885 * This symbol, if defined, indicates to the C program that it should
886 * include vfork.h.
887 */
888/*#define I_VFORK / **/
889
890/* INTSIZE:
891 * This symbol contains the value of sizeof(int) so that the C
892 * preprocessor can make decisions based on it.
893 */
894/* LONGSIZE:
895 * This symbol contains the value of sizeof(long) so that the C
896 * preprocessor can make decisions based on it.
897 */
898/* SHORTSIZE:
899 * This symbol contains the value of sizeof(short) so that the C
900 * preprocessor can make decisions based on it.
901 */
902#define INTSIZE 4 /**/
903#define LONGSIZE 4 /**/
904#define SHORTSIZE 2 /**/
905
906/* MULTIARCH:
907 * This symbol, if defined, signifies that the build
908 * process will produce some binary files that are going to be
909 * used in a cross-platform environment. This is the case for
910 * example with the NeXT "fat" binaries that contain executables
911 * for several CPUs.
912 */
913/*#define MULTIARCH / **/
914
915/* HAS_QUAD:
916 * This symbol, if defined, tells that there's a 64-bit integer type,
917 * Quad_t, and its unsigned counterpar, Uquad_t. QUADKIND will be one
918 * of QUAD_IS_INT, QUAD_IS_LONG, QUAD_IS_LONG_LONG, or QUAD_IS_INT64_T.
919 */
920#define HAS_QUAD /**/
921#ifdef HAS_QUAD
922# define Quad_t long long /**/
923# define Uquad_t unsigned long long /**/
924# define QUADKIND 3 /**/
925# define QUAD_IS_INT 1
926# define QUAD_IS_LONG 2
927# define QUAD_IS_LONG_LONG 3
928# define QUAD_IS_INT64_T 4
929#endif
930
931/* HAS_ACCESSX:
932 * This symbol, if defined, indicates that the accessx routine is
933 * available to do extended access checks.
934 */
935/*#define HAS_ACCESSX / **/
936
937/* HAS_EACCESS:
938 * This symbol, if defined, indicates that the eaccess routine is
939 * available to do extended access checks.
940 */
941/*#define HAS_EACCESS / **/
942
943/* I_SYS_ACCESS:
944 * This symbol, if defined, indicates to the C program that it should
945 * include <sys/access.h>.
946 */
947/*#define I_SYS_ACCESS / **/
948
949/* I_SYS_SECURITY:
950 * This symbol, if defined, indicates to the C program that it should
951 * include <sys/security.h>.
952 */
953/*#define I_SYS_SECURITY / **/
954
955/* OSNAME:
956 * This symbol contains the name of the operating system, as determined
957 * by Configure. You shouldn't rely on it too much; the specific
958 * feature tests from Configure are generally more reliable.
959 */
960/* OSVERS:
961 * This symbol contains the version of the operating system, as determined
962 * by Configure. You shouldn't rely on it too much; the specific
963 * feature tests from Configure are generally more reliable.
964 */
965#define OSNAME "plan9" /**/
966#define OSVERS "1" /**/
967
968/* MEM_ALIGNBYTES:
969 * This symbol contains the number of bytes required to align a
970 * double, or a long double when applicable. Usual values are 2,
971 * 4 and 8. The default is eight, for safety.
972 */
973#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)
974# define MEM_ALIGNBYTES 8
975#else
976#define MEM_ALIGNBYTES 4
977#endif
978
979/* ARCHLIB:
980 * This variable, if defined, holds the name of the directory in
981 * which the user wants to put architecture-dependent public
982 * library files for perl. It is most often a local directory
983 * such as /usr/local/lib. Programs using this variable must be
984 * prepared to deal with filename expansion. If ARCHLIB is the
985 * same as PRIVLIB, it is not defined, since presumably the
986 * program already searches PRIVLIB.
987 */
988/* ARCHLIB_EXP:
989 * This symbol contains the ~name expanded version of ARCHLIB, to be used
990 * in programs that are not prepared to deal with ~ expansion at run-time.
991 */
992#define ARCHLIB "/sys/lib/perl/5.8.0/386" /**/
993#define ARCHLIB_EXP "/sys/lib/perl/5.8.0/386" /**/
994
995/* ARCHNAME:
996 * This symbol holds a string representing the architecture name.
997 * It may be used to construct an architecture-dependant pathname
998 * where library files may be held under a private library, for
999 * instance.
1000 */
1001#define ARCHNAME "386" /**/
1002
1003/* HAS_ATOLF:
1004 * This symbol, if defined, indicates that the atolf routine is
1005 * available to convert strings into long doubles.
1006 */
1007/*#define HAS_ATOLF / **/
1008
1009/* HAS_ATOLL:
1010 * This symbol, if defined, indicates that the atoll routine is
1011 * available to convert strings into long longs.
1012 */
1013#define HAS_ATOLL /**/
1014
1015/* BIN:
1016 * This symbol holds the path of the bin directory where the package will
1017 * be installed. Program must be prepared to deal with ~name substitution.
1018 */
1019/* BIN_EXP:
1020 * This symbol is the filename expanded version of the BIN symbol, for
1021 * programs that do not want to deal with that at run-time.
1022 */
1023#define BIN "/usr/bin" /**/
1024#define BIN_EXP "/usr/bin" /**/
1025
1026/* BYTEORDER:
1027 * This symbol holds the hexadecimal constant defined in byteorder,
1028 * in a UV, i.e. 0x1234 or 0x4321 or 0x12345678, etc...
1029 * If the compiler supports cross-compiling or multiple-architecture
1030 * binaries (eg. on NeXT systems), use compiler-defined macros to
1031 * determine the byte order.
1032 * On NeXT 3.2 (and greater), you can build "Fat" Multiple Architecture
1033 * Binaries (MAB) on either big endian or little endian machines.
1034 * The endian-ness is available at compile-time. This only matters
1035 * for perl, where the config.h can be generated and installed on
1036 * one system, and used by a different architecture to build an
1037 * extension. Older versions of NeXT that might not have
1038 * defined either *_ENDIAN__ were all on Motorola 680x0 series,
1039 * so the default case (for NeXT) is big endian to catch them.
1040 * This might matter for NeXT 3.0.
1041 */
1042#if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)
1043# ifdef __LITTLE_ENDIAN__
1044# if LONGSIZE == 4
1045# define BYTEORDER 0x1234
1046# else
1047# if LONGSIZE == 8
1048# define BYTEORDER 0x12345678
1049# endif
1050# endif
1051# else
1052# ifdef __BIG_ENDIAN__
1053# if LONGSIZE == 4
1054# define BYTEORDER 0x4321
1055# else
1056# if LONGSIZE == 8
1057# define BYTEORDER 0x87654321
1058# endif
1059# endif
1060# endif
1061# endif
1062# if !defined(BYTEORDER) && (defined(NeXT) || defined(__NeXT__))
1063# define BYTEORDER 0x4321
1064# endif
1065#else
1066#define BYTEORDER 0x1234 /* large digits for MSB */
1067#endif /* NeXT */
1068
1069/* CAT2:
1070 * This macro catenates 2 tokens together.
1071 */
1072/* STRINGIFY:
1073 * This macro surrounds its token with double quotes.
1074 */
1075#if 42 == 1
1076#define CAT2(a,b) a/**/b
1077#define STRINGIFY(a) "a"
1078 /* If you can get stringification with catify, tell me how! */
1079#endif
1080#if 42 == 42
1081#define PeRl_CaTiFy(a, b) a ## b
1082#define PeRl_StGiFy(a) #a
1083/* the additional level of indirection enables these macros to be
1084 * used as arguments to other macros. See K&R 2nd ed., page 231. */
1085#define CAT2(a,b) PeRl_CaTiFy(a,b)
1086#define StGiFy(a) PeRl_StGiFy(a)
1087#define STRINGIFY(a) PeRl_StGiFy(a)
1088#endif
1089#if 42 != 1 && 42 != 42
1090# include "Bletch: How does this C preprocessor concatenate tokens?"
1091#endif
1092
1093/* CPPSTDIN:
1094 * This symbol contains the first part of the string which will invoke
1095 * the C preprocessor on the standard input and produce to standard
1096 * output. Typical value of "cc -E" or "/lib/cpp", but it can also
1097 * call a wrapper. See CPPRUN.
1098 */
1099/* CPPMINUS:
1100 * This symbol contains the second part of the string which will invoke
1101 * the C preprocessor on the standard input and produce to standard
1102 * output. This symbol will have the value "-" if CPPSTDIN needs a minus
1103 * to specify standard input, otherwise the value is "".
1104 */
1105/* CPPRUN:
1106 * This symbol contains the string which will invoke a C preprocessor on
1107 * the standard input and produce to standard output. It needs to end
1108 * with CPPLAST, after all other preprocessor flags have been specified.
1109 * The main difference with CPPSTDIN is that this program will never be a
1110 * pointer to a shell wrapper, i.e. it will be empty if no preprocessor is
1111 * available directly to the user. Note that it may well be different from
1112 * the preprocessor used to compile the C program.
1113 */
1114/* CPPLAST:
1115 * This symbol is intended to be used along with CPPRUN in the same manner
1116 * symbol CPPMINUS is used with CPPSTDIN. It contains either "-" or "".
1117 */
1118#define CPPSTDIN "cppstdin"
1119#define CPPMINUS ""
1120#define CPPRUN "/bin/cpp"
1121#define CPPLAST ""
1122
1123/* HAS__FWALK:
1124 * This symbol, if defined, indicates that the _fwalk system call is
1125 * available to apply a function to all the file handles.
1126 */
1127/*#define HAS__FWALK / **/
1128
1129/* HAS_ACCESS:
1130 * This manifest constant lets the C program know that the access()
1131 * system call is available to check for accessibility using real UID/GID.
1132 * (always present on UNIX.)
1133 */
1134#define HAS_ACCESS /**/
1135
1136/* HAS_ASCTIME_R:
1137 * This symbol, if defined, indicates that the asctime_r routine
1138 * is available to asctime re-entrantly.
1139 */
1140/* ASCTIME_R_PROTO:
1141 * This symbol encodes the prototype of asctime_r.
1142 * It is zero if d_asctime_r is undef, and one of the
1143 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_asctime_r
1144 * is defined.
1145 */
1146/*#define HAS_ASCTIME_R / **/
1147#define ASCTIME_R_PROTO 0 /**/
1148
1149/* CASTI32:
1150 * This symbol is defined if the C compiler can cast negative
1151 * or large floating point numbers to 32-bit ints.
1152 */
1153/*#define CASTI32 / **/
1154
1155/* CASTNEGFLOAT:
1156 * This symbol is defined if the C compiler can cast negative
1157 * numbers to unsigned longs, ints and shorts.
1158 */
1159/* CASTFLAGS:
1160 * This symbol contains flags that say what difficulties the compiler
1161 * has casting odd floating values to unsigned long:
1162 * 0 = ok
1163 * 1 = couldn't cast < 0
1164 * 2 = couldn't cast >= 0x80000000
1165 * 4 = couldn't cast in argument expression list
1166 */
1167/*#define CASTNEGFLOAT / **/
1168#define CASTFLAGS 7 /**/
1169
1170/* HAS_CLASS:
1171 * This symbol, if defined, indicates that the class routine is
1172 * available to classify doubles. Available for example in AIX.
1173 * The returned values are defined in <float.h> and are:
1174 *
1175 * FP_PLUS_NORM Positive normalized, nonzero
1176 * FP_MINUS_NORM Negative normalized, nonzero
1177 * FP_PLUS_DENORM Positive denormalized, nonzero
1178 * FP_MINUS_DENORM Negative denormalized, nonzero
1179 * FP_PLUS_ZERO +0.0
1180 * FP_MINUS_ZERO -0.0
1181 * FP_PLUS_INF +INF
1182 * FP_MINUS_INF -INF
1183 * FP_NANS Signaling Not a Number (NaNS)
1184 * FP_NANQ Quiet Not a Number (NaNQ)
1185 */
1186/*#define HAS_CLASS / **/
1187
1188/* VOID_CLOSEDIR:
1189 * This symbol, if defined, indicates that the closedir() routine
1190 * does not return a value.
1191 */
1192/*#define VOID_CLOSEDIR / **/
1193
1194/* HAS_STRUCT_CMSGHDR:
1195 * This symbol, if defined, indicates that the struct cmsghdr
1196 * is supported.
1197 */
1198/*#define HAS_STRUCT_CMSGHDR / **/
1199
1200/* HAS_CRYPT_R:
1201 * This symbol, if defined, indicates that the crypt_r routine
1202 * is available to crypt re-entrantly.
1203 */
1204/* CRYPT_R_PROTO:
1205 * This symbol encodes the prototype of crypt_r.
1206 * It is zero if d_crypt_r is undef, and one of the
1207 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_crypt_r
1208 * is defined.
1209 */
1210/*#define HAS_CRYPT_R / **/
1211#define CRYPT_R_PROTO 0 /**/
1212
1213/* HAS_CSH:
1214 * This symbol, if defined, indicates that the C-shell exists.
1215 */
1216/* CSH:
1217 * This symbol, if defined, contains the full pathname of csh.
1218 */
1219/*#define HAS_CSH / **/
1220#ifdef HAS_CSH
1221#define CSH "csh" /**/
1222#endif
1223
1224/* HAS_CTIME_R:
1225 * This symbol, if defined, indicates that the ctime_r routine
1226 * is available to ctime re-entrantly.
1227 */
1228/* CTIME_R_PROTO:
1229 * This symbol encodes the prototype of ctime_r.
1230 * It is zero if d_ctime_r is undef, and one of the
1231 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_ctime_r
1232 * is defined.
1233 */
1234/*#define HAS_CTIME_R / **/
1235#define CTIME_R_PROTO 0 /**/
1236
1237/* DLSYM_NEEDS_UNDERSCORE:
1238 * This symbol, if defined, indicates that we need to prepend an
1239 * underscore to the symbol name before calling dlsym(). This only
1240 * makes sense if you *have* dlsym, which we will presume is the
1241 * case if you're using dl_dlopen.xs.
1242 */
1243/*#define DLSYM_NEEDS_UNDERSCORE / **/
1244
1245/* HAS_DRAND48_R:
1246 * This symbol, if defined, indicates that the drand48_r routine
1247 * is available to drand48 re-entrantly.
1248 */
1249/* DRAND48_R_PROTO:
1250 * This symbol encodes the prototype of drand48_r.
1251 * It is zero if d_drand48_r is undef, and one of the
1252 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_drand48_r
1253 * is defined.
1254 */
1255/*#define HAS_DRAND48_R / **/
1256#define DRAND48_R_PROTO 0 /**/
1257
1258/* HAS_DRAND48_PROTO:
1259 * This symbol, if defined, indicates that the system provides
1260 * a prototype for the drand48() function. Otherwise, it is up
1261 * to the program to supply one. A good guess is
1262 * extern double drand48(void);
1263 */
1264/*#define HAS_DRAND48_PROTO / **/
1265
1266/* HAS_ENDGRENT:
1267 * This symbol, if defined, indicates that the getgrent routine is
1268 * available for finalizing sequential access of the group database.
1269 */
1270#define HAS_ENDGRENT /**/
1271
1272/* HAS_ENDGRENT_R:
1273 * This symbol, if defined, indicates that the endgrent_r routine
1274 * is available to endgrent re-entrantly.
1275 */
1276/* ENDGRENT_R_PROTO:
1277 * This symbol encodes the prototype of endgrent_r.
1278 * It is zero if d_endgrent_r is undef, and one of the
1279 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endgrent_r
1280 * is defined.
1281 */
1282/*#define HAS_ENDGRENT_R / **/
1283#define ENDGRENT_R_PROTO 0 /**/
1284
1285/* HAS_ENDHOSTENT:
1286 * This symbol, if defined, indicates that the endhostent() routine is
1287 * available to close whatever was being used for host queries.
1288 */
1289#define HAS_ENDHOSTENT /**/
1290
1291/* HAS_ENDNETENT:
1292 * This symbol, if defined, indicates that the endnetent() routine is
1293 * available to close whatever was being used for network queries.
1294 */
1295/*#define HAS_ENDNETENT / **/
1296
1297/* HAS_ENDPROTOENT:
1298 * This symbol, if defined, indicates that the endprotoent() routine is
1299 * available to close whatever was being used for protocol queries.
1300 */
1301/*#define HAS_ENDPROTOENT / **/
1302
1303/* HAS_ENDPWENT:
1304 * This symbol, if defined, indicates that the getgrent routine is
1305 * available for finalizing sequential access of the passwd database.
1306 */
1307#define HAS_ENDPWENT /**/
1308
1309/* HAS_ENDPWENT_R:
1310 * This symbol, if defined, indicates that the endpwent_r routine
1311 * is available to endpwent re-entrantly.
1312 */
1313/* ENDPWENT_R_PROTO:
1314 * This symbol encodes the prototype of endpwent_r.
1315 * It is zero if d_endpwent_r is undef, and one of the
1316 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_endpwent_r
1317 * is defined.
1318 */
1319/*#define HAS_ENDPWENT_R / **/
1320#define ENDPWENT_R_PROTO 0 /**/
1321
1322/* HAS_ENDSERVENT:
1323 * This symbol, if defined, indicates that the endservent() routine is
1324 * available to close whatever was being used for service queries.
1325 */
1326/*#define HAS_ENDSERVENT / **/
1327
1328/* HAS_FAST_STDIO:
1329 * This symbol, if defined, indicates that the "fast stdio"
1330 * is available to manipulate the stdio buffers directly.
1331 */
1332/*#define HAS_FAST_STDIO /**/
1333
1334/* HAS_FCHDIR:
1335 * This symbol, if defined, indicates that the fchdir routine is
1336 * available to change directory using a file descriptor.
1337 */
1338/*#define HAS_FCHDIR / **/
1339
1340/* FCNTL_CAN_LOCK:
1341 * This symbol, if defined, indicates that fcntl() can be used
1342 * for file locking. Normally on Unix systems this is defined.
1343 * It may be undefined on VMS.
1344 */
1345/*#define FCNTL_CAN_LOCK / **/
1346
1347/* HAS_FD_SET:
1348 * This symbol, when defined, indicates presence of the fd_set typedef
1349 * in <sys/types.h>
1350 */
1351/*#define HAS_FD_SET / **/
1352
1353/* HAS_FINITE:
1354 * This symbol, if defined, indicates that the finite routine is
1355 * available to check whether a double is finite (non-infinity non-NaN).
1356 */
1357/*#define HAS_FINITE / **/
1358
1359/* HAS_FINITEL:
1360 * This symbol, if defined, indicates that the finitel routine is
1361 * available to check whether a long double is finite
1362 * (non-infinity non-NaN).
1363 */
1364/*#define HAS_FINITEL / **/
1365
1366/* FLEXFILENAMES:
1367 * This symbol, if defined, indicates that the system supports filenames
1368 * longer than 14 characters.
1369 */
1370#define FLEXFILENAMES /**/
1371
1372/* HAS_FP_CLASS:
1373 * This symbol, if defined, indicates that the fp_class routine is
1374 * available to classify doubles. Available for example in Digital UNIX.
1375 * The returned values are defined in <math.h> and are:
1376 *
1377 * FP_SNAN Signaling NaN (Not-a-Number)
1378 * FP_QNAN Quiet NaN (Not-a-Number)
1379 * FP_POS_INF +infinity
1380 * FP_NEG_INF -infinity
1381 * FP_POS_NORM Positive normalized
1382 * FP_NEG_NORM Negative normalized
1383 * FP_POS_DENORM Positive denormalized
1384 * FP_NEG_DENORM Negative denormalized
1385 * FP_POS_ZERO +0.0 (positive zero)
1386 * FP_NEG_ZERO -0.0 (negative zero)
1387 */
1388/*#define HAS_FP_CLASS / **/
1389
1390/* HAS_FPCLASS:
1391 * This symbol, if defined, indicates that the fpclass routine is
1392 * available to classify doubles. Available for example in Solaris/SVR4.
1393 * The returned values are defined in <ieeefp.h> and are:
1394 *
1395 * FP_SNAN signaling NaN
1396 * FP_QNAN quiet NaN
1397 * FP_NINF negative infinity
1398 * FP_PINF positive infinity
1399 * FP_NDENORM negative denormalized non-zero
1400 * FP_PDENORM positive denormalized non-zero
1401 * FP_NZERO negative zero
1402 * FP_PZERO positive zero
1403 * FP_NNORM negative normalized non-zero
1404 * FP_PNORM positive normalized non-zero
1405 */
1406/*#define HAS_FPCLASS / **/
1407
1408/* HAS_FPCLASSIFY:
1409 * This symbol, if defined, indicates that the fpclassify routine is
1410 * available to classify doubles. Available for example in HP-UX.
1411 * The returned values are defined in <math.h> and are
1412 *
1413 * FP_NORMAL Normalized
1414 * FP_ZERO Zero
1415 * FP_INFINITE Infinity
1416 * FP_SUBNORMAL Denormalized
1417 * FP_NAN NaN
1418 *
1419 */
1420/*#define HAS_FPCLASSIFY / **/
1421
1422/* HAS_FPOS64_T:
1423 * This symbol will be defined if the C compiler supports fpos64_t.
1424 */
1425/*#define HAS_FPOS64_T / **/
1426
1427/* HAS_FREXPL:
1428 * This symbol, if defined, indicates that the frexpl routine is
1429 * available to break a long double floating-point number into
1430 * a normalized fraction and an integral power of 2.
1431 */
1432/*#define HAS_FREXPL / **/
1433
1434/* HAS_STRUCT_FS_DATA:
1435 * This symbol, if defined, indicates that the struct fs_data
1436 * to do statfs() is supported.
1437 */
1438/*#define HAS_STRUCT_FS_DATA / **/
1439
1440/* HAS_FSEEKO:
1441 * This symbol, if defined, indicates that the fseeko routine is
1442 * available to fseek beyond 32 bits (useful for ILP32 hosts).
1443 */
1444/*#define HAS_FSEEKO / **/
1445
1446/* HAS_FSTATFS:
1447 * This symbol, if defined, indicates that the fstatfs routine is
1448 * available to stat filesystems by file descriptors.
1449 */
1450/*#define HAS_FSTATFS / **/
1451
1452/* HAS_FSYNC:
1453 * This symbol, if defined, indicates that the fsync routine is
1454 * available to write a file's modified data and attributes to
1455 * permanent storage.
1456 */
1457#define HAS_FSYNC /**/
1458
1459/* HAS_FTELLO:
1460 * This symbol, if defined, indicates that the ftello routine is
1461 * available to ftell beyond 32 bits (useful for ILP32 hosts).
1462 */
1463/*#define HAS_FTELLO / **/
1464
1465/* Gconvert:
1466 * This preprocessor macro is defined to convert a floating point
1467 * number to a string without a trailing decimal point. This
1468 * emulates the behavior of sprintf("%g"), but is sometimes much more
1469 * efficient. If gconvert() is not available, but gcvt() drops the
1470 * trailing decimal point, then gcvt() is used. If all else fails,
1471 * a macro using sprintf("%g") is used. Arguments for the Gconvert
1472 * macro are: value, number of digits, whether trailing zeros should
1473 * be retained, and the output buffer.
1474 * The usual values are:
1475 * d_Gconvert='gconvert((x),(n),(t),(b))'
1476 * d_Gconvert='gcvt((x),(n),(b))'
1477 * d_Gconvert='sprintf((b),"%.*g",(n),(x))'
1478 * The last two assume trailing zeros should not be kept.
1479 */
1480#define Gconvert(x,n,t,b) sprintf((b),"%.*g",(n),(x))
1481
1482/* HAS_GETCWD:
1483 * This symbol, if defined, indicates that the getcwd routine is
1484 * available to get the current working directory.
1485 */
1486#define HAS_GETCWD /**/
1487
1488/* HAS_GETESPWNAM:
1489 * This symbol, if defined, indicates that the getespwnam system call is
1490 * available to retrieve enchanced (shadow) password entries by name.
1491 */
1492/*#define HAS_GETESPWNAM / **/
1493
1494/* HAS_GETFSSTAT:
1495 * This symbol, if defined, indicates that the getfsstat routine is
1496 * available to stat filesystems in bulk.
1497 */
1498/*#define HAS_GETFSSTAT / **/
1499
1500/* HAS_GETGRENT:
1501 * This symbol, if defined, indicates that the getgrent routine is
1502 * available for sequential access of the group database.
1503 */
1504#define HAS_GETGRENT /**/
1505
1506/* HAS_GETGRENT_R:
1507 * This symbol, if defined, indicates that the getgrent_r routine
1508 * is available to getgrent re-entrantly.
1509 */
1510/* GETGRENT_R_PROTO:
1511 * This symbol encodes the prototype of getgrent_r.
1512 * It is zero if d_getgrent_r is undef, and one of the
1513 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrent_r
1514 * is defined.
1515 */
1516/*#define HAS_GETGRENT_R / **/
1517#define GETGRENT_R_PROTO 0 /**/
1518
1519/* HAS_GETGRGID_R:
1520 * This symbol, if defined, indicates that the getgrgid_r routine
1521 * is available to getgrgid re-entrantly.
1522 */
1523/* GETGRGID_R_PROTO:
1524 * This symbol encodes the prototype of getgrgid_r.
1525 * It is zero if d_getgrgid_r is undef, and one of the
1526 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrgid_r
1527 * is defined.
1528 */
1529/*#define HAS_GETGRGID_R / **/
1530#define GETGRGID_R_PROTO 0 /**/
1531
1532/* HAS_GETGRNAM_R:
1533 * This symbol, if defined, indicates that the getgrnam_r routine
1534 * is available to getgrnam re-entrantly.
1535 */
1536/* GETGRNAM_R_PROTO:
1537 * This symbol encodes the prototype of getgrnam_r.
1538 * It is zero if d_getgrnam_r is undef, and one of the
1539 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrnam_r
1540 * is defined.
1541 */
1542/*#define HAS_GETGRNAM_R / **/
1543#define GETGRNAM_R_PROTO 0 /**/
1544
1545/* HAS_GETHOSTBYADDR:
1546 * This symbol, if defined, indicates that the gethostbyaddr() routine is
1547 * available to look up hosts by their IP addresses.
1548 */
1549#define HAS_GETHOSTBYADDR /**/
1550
1551/* HAS_GETHOSTBYNAME:
1552 * This symbol, if defined, indicates that the gethostbyname() routine is
1553 * available to look up host names in some data base or other.
1554 */
1555#define HAS_GETHOSTBYNAME /**/
1556
1557/* HAS_GETHOSTENT:
1558 * This symbol, if defined, indicates that the gethostent() routine is
1559 * available to look up host names in some data base or another.
1560 */
1561/*#define HAS_GETHOSTENT / **/
1562
1563/* HAS_GETHOSTNAME:
1564 * This symbol, if defined, indicates that the C program may use the
1565 * gethostname() routine to derive the host name. See also HAS_UNAME
1566 * and PHOSTNAME.
1567 */
1568/* HAS_UNAME:
1569 * This symbol, if defined, indicates that the C program may use the
1570 * uname() routine to derive the host name. See also HAS_GETHOSTNAME
1571 * and PHOSTNAME.
1572 */
1573/* PHOSTNAME:
1574 * This symbol, if defined, indicates the command to feed to the
1575 * popen() routine to derive the host name. See also HAS_GETHOSTNAME
1576 * and HAS_UNAME. Note that the command uses a fully qualified path,
1577 * so that it is safe even if used by a process with super-user
1578 * privileges.
1579 */
1580/* HAS_PHOSTNAME:
1581 * This symbol, if defined, indicates that the C program may use the
1582 * contents of PHOSTNAME as a command to feed to the popen() routine
1583 * to derive the host name.
1584 */
1585#define HAS_GETHOSTNAME /**/
1586#define HAS_UNAME /**/
1587/*#define HAS_PHOSTNAME / **/
1588#ifdef HAS_PHOSTNAME
1589#define PHOSTNAME "/bin/uname -n" /* How to get the host name */
1590#endif
1591
1592/* HAS_GETHOST_PROTOS:
1593 * This symbol, if defined, indicates that <netdb.h> includes
1594 * prototypes for gethostent(), gethostbyname(), and
1595 * gethostbyaddr(). Otherwise, it is up to the program to guess
1596 * them. See netdbtype.U for probing for various Netdb_xxx_t types.
1597 */
1598/*#define HAS_GETHOST_PROTOS / **/
1599
1600/* HAS_GETITIMER:
1601 * This symbol, if defined, indicates that the getitimer routine is
1602 * available to return interval timers.
1603 */
1604/*#define HAS_GETITIMER / **/
1605
1606/* HAS_GETLOGIN_R:
1607 * This symbol, if defined, indicates that the getlogin_r routine
1608 * is available to getlogin re-entrantly.
1609 */
1610/* GETLOGIN_R_PROTO:
1611 * This symbol encodes the prototype of getlogin_r.
1612 * It is zero if d_getlogin_r is undef, and one of the
1613 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getlogin_r
1614 * is defined.
1615 */
1616/*#define HAS_GETLOGIN_R / **/
1617#define GETLOGIN_R_PROTO 0 /**/
1618
1619/* HAS_GETMNT:
1620 * This symbol, if defined, indicates that the getmnt routine is
1621 * available to get filesystem mount info by filename.
1622 */
1623/*#define HAS_GETMNT / **/
1624
1625/* HAS_GETMNTENT:
1626 * This symbol, if defined, indicates that the getmntent routine is
1627 * available to iterate through mounted file systems to get their info.
1628 */
1629/*#define HAS_GETMNTENT / **/
1630
1631/* HAS_GETNETBYADDR:
1632 * This symbol, if defined, indicates that the getnetbyaddr() routine is
1633 * available to look up networks by their IP addresses.
1634 */
1635/*#define HAS_GETNETBYADDR / **/
1636
1637/* HAS_GETNETBYNAME:
1638 * This symbol, if defined, indicates that the getnetbyname() routine is
1639 * available to look up networks by their names.
1640 */
1641/*#define HAS_GETNETBYNAME / **/
1642
1643/* HAS_GETNETENT:
1644 * This symbol, if defined, indicates that the getnetent() routine is
1645 * available to look up network names in some data base or another.
1646 */
1647/*#define HAS_GETNETENT / **/
1648
1649/* HAS_GETNET_PROTOS:
1650 * This symbol, if defined, indicates that <netdb.h> includes
1651 * prototypes for getnetent(), getnetbyname(), and
1652 * getnetbyaddr(). Otherwise, it is up to the program to guess
1653 * them. See netdbtype.U for probing for various Netdb_xxx_t types.
1654 */
1655/*#define HAS_GETNET_PROTOS / **/
1656
1657/* HAS_GETPAGESIZE:
1658 * This symbol, if defined, indicates that the getpagesize system call
1659 * is available to get system page size, which is the granularity of
1660 * many memory management calls.
1661 */
1662/*#define HAS_GETPAGESIZE / **/
1663
1664/* HAS_GETPROTOENT:
1665 * This symbol, if defined, indicates that the getprotoent() routine is
1666 * available to look up protocols in some data base or another.
1667 */
1668/*#define HAS_GETPROTOENT / **/
1669
1670/* HAS_GETPGRP:
1671 * This symbol, if defined, indicates that the getpgrp routine is
1672 * available to get the current process group.
1673 */
1674/* USE_BSD_GETPGRP:
1675 * This symbol, if defined, indicates that getpgrp needs one
1676 * arguments whereas USG one needs none.
1677 */
1678#define HAS_GETPGRP /**/
1679/*#define USE_BSD_GETPGRP / **/
1680
1681/* HAS_GETPROTOBYNAME:
1682 * This symbol, if defined, indicates that the getprotobyname()
1683 * routine is available to look up protocols by their name.
1684 */
1685/* HAS_GETPROTOBYNUMBER:
1686 * This symbol, if defined, indicates that the getprotobynumber()
1687 * routine is available to look up protocols by their number.
1688 */
1689#define HAS_GETPROTOBYNAME /**/
1690/*#define HAS_GETPROTOBYNUMBER / **/
1691
1692/* HAS_GETPROTO_PROTOS:
1693 * This symbol, if defined, indicates that <netdb.h> includes
1694 * prototypes for getprotoent(), getprotobyname(), and
1695 * getprotobyaddr(). Otherwise, it is up to the program to guess
1696 * them. See netdbtype.U for probing for various Netdb_xxx_t types.
1697 */
1698/*#define HAS_GETPROTO_PROTOS / **/
1699
1700/* HAS_GETPRPWNAM:
1701 * This symbol, if defined, indicates that the getprpwnam system call is
1702 * available to retrieve protected (shadow) password entries by name.
1703 */
1704/*#define HAS_GETPRPWNAM / **/
1705
1706/* HAS_GETPWENT:
1707 * This symbol, if defined, indicates that the getpwent routine is
1708 * available for sequential access of the passwd database.
1709 * If this is not available, the older getpw() function may be available.
1710 */
1711#define HAS_GETPWENT /**/
1712
1713/* HAS_GETPWENT_R:
1714 * This symbol, if defined, indicates that the getpwent_r routine
1715 * is available to getpwent re-entrantly.
1716 */
1717/* GETPWENT_R_PROTO:
1718 * This symbol encodes the prototype of getpwent_r.
1719 * It is zero if d_getpwent_r is undef, and one of the
1720 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwent_r
1721 * is defined.
1722 */
1723/*#define HAS_GETPWENT_R / **/
1724#define GETPWENT_R_PROTO 0 /**/
1725
1726/* HAS_GETPWNAM_R:
1727 * This symbol, if defined, indicates that the getpwnam_r routine
1728 * is available to getpwnam re-entrantly.
1729 */
1730/* GETPWNAM_R_PROTO:
1731 * This symbol encodes the prototype of getpwnam_r.
1732 * It is zero if d_getpwnam_r is undef, and one of the
1733 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwnam_r
1734 * is defined.
1735 */
1736/*#define HAS_GETPWNAM_R / **/
1737#define GETPWNAM_R_PROTO 0 /**/
1738
1739/* HAS_GETPWUID_R:
1740 * This symbol, if defined, indicates that the getpwuid_r routine
1741 * is available to getpwuid re-entrantly.
1742 */
1743/* GETPWUID_R_PROTO:
1744 * This symbol encodes the prototype of getpwuid_r.
1745 * It is zero if d_getpwuid_r is undef, and one of the
1746 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwuid_r
1747 * is defined.
1748 */
1749/*#define HAS_GETPWUID_R / **/
1750#define GETPWUID_R_PROTO 0 /**/
1751
1752/* HAS_GETSERVENT:
1753 * This symbol, if defined, indicates that the getservent() routine is
1754 * available to look up network services in some data base or another.
1755 */
1756/*#define HAS_GETSERVENT / **/
1757
1758/* HAS_GETSERV_PROTOS:
1759 * This symbol, if defined, indicates that <netdb.h> includes
1760 * prototypes for getservent(), getservbyname(), and
1761 * getservbyaddr(). Otherwise, it is up to the program to guess
1762 * them. See netdbtype.U for probing for various Netdb_xxx_t types.
1763 */
1764/*#define HAS_GETSERV_PROTOS / **/
1765
1766/* HAS_GETSPNAM:
1767 * This symbol, if defined, indicates that the getspnam system call is
1768 * available to retrieve SysV shadow password entries by name.
1769 */
1770/*#define HAS_GETSPNAM / **/
1771
1772/* HAS_GETSPNAM_R:
1773 * This symbol, if defined, indicates that the getspnam_r routine
1774 * is available to getspnam re-entrantly.
1775 */
1776/* GETSPNAM_R_PROTO:
1777 * This symbol encodes the prototype of getspnam_r.
1778 * It is zero if d_getspnam_r is undef, and one of the
1779 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_getspnam_r
1780 * is defined.
1781 */
1782/*#define HAS_GETSPNAM_R / **/
1783#define GETSPNAM_R_PROTO 0 /**/
1784
1785/* HAS_GETSERVBYNAME:
1786 * This symbol, if defined, indicates that the getservbyname()
1787 * routine is available to look up services by their name.
1788 */
1789/* HAS_GETSERVBYPORT:
1790 * This symbol, if defined, indicates that the getservbyport()
1791 * routine is available to look up services by their port.
1792 */
1793#define HAS_GETSERVBYNAME /**/
1794/*#define HAS_GETSERVBYPORT / **/
1795
1796/* HAS_GMTIME_R:
1797 * This symbol, if defined, indicates that the gmtime_r routine
1798 * is available to gmtime re-entrantly.
1799 */
1800/* GMTIME_R_PROTO:
1801 * This symbol encodes the prototype of gmtime_r.
1802 * It is zero if d_gmtime_r is undef, and one of the
1803 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_gmtime_r
1804 * is defined.
1805 */
1806/*#define HAS_GMTIME_R / **/
1807#define GMTIME_R_PROTO 0 /**/
1808
1809/* HAS_GNULIBC:
1810 * This symbol, if defined, indicates to the C program that
1811 * the GNU C library is being used. A better check is to use
1812 * the __GLIBC__ and __GLIBC_MINOR__ symbols supplied with glibc.
1813 */
1814/*#define HAS_GNULIBC / **/
1815#if defined(HAS_GNULIBC) && !defined(_GNU_SOURCE)
1816# define _GNU_SOURCE
1817#endif
1818/* HAS_HASMNTOPT:
1819 * This symbol, if defined, indicates that the hasmntopt routine is
1820 * available to query the mount options of file systems.
1821 */
1822/*#define HAS_HASMNTOPT / **/
1823
1824/* HAS_HTONL:
1825 * This symbol, if defined, indicates that the htonl() routine (and
1826 * friends htons() ntohl() ntohs()) are available to do network
1827 * order byte swapping.
1828 */
1829/* HAS_HTONS:
1830 * This symbol, if defined, indicates that the htons() routine (and
1831 * friends htonl() ntohl() ntohs()) are available to do network
1832 * order byte swapping.
1833 */
1834/* HAS_NTOHL:
1835 * This symbol, if defined, indicates that the ntohl() routine (and
1836 * friends htonl() htons() ntohs()) are available to do network
1837 * order byte swapping.
1838 */
1839/* HAS_NTOHS:
1840 * This symbol, if defined, indicates that the ntohs() routine (and
1841 * friends htonl() htons() ntohl()) are available to do network
1842 * order byte swapping.
1843 */
1844#define HAS_HTONL /**/
1845#define HAS_HTONS /**/
1846#define HAS_NTOHL /**/
1847#define HAS_NTOHS /**/
1848
1849/* HAS_ILOGBL:
1850 * This symbol, if defined, indicates that the ilogbl routine is
1851 * available. If scalbnl is also present we can emulate frexpl.
1852 */
1853/*#define HAS_ILOGBL /**/
1854
1855/* HAS_INT64_T:
1856 * This symbol will defined if the C compiler supports int64_t.
1857 * Usually the <inttypes.h> needs to be included, but sometimes
1858 * <sys/types.h> is enough.
1859 */
1860#define HAS_INT64_T /**/
1861
1862/* HAS_ISASCII:
1863 * This manifest constant lets the C program know that isascii
1864 * is available.
1865 */
1866/*#define HAS_ISASCII / **/
1867
1868/* HAS_ISFINITE:
1869 * This symbol, if defined, indicates that the isfinite routine is
1870 * available to check whether a double is finite (non-infinity non-NaN).
1871 */
1872/*#define HAS_ISFINITE / **/
1873
1874/* HAS_ISINF:
1875 * This symbol, if defined, indicates that the isinf routine is
1876 * available to check whether a double is an infinity.
1877 */
1878/*#define HAS_ISINF / **/
1879
1880/* HAS_ISNAN:
1881 * This symbol, if defined, indicates that the isnan routine is
1882 * available to check whether a double is a NaN.
1883 */
1884/*#define HAS_ISNAN / **/
1885
1886/* HAS_ISNANL:
1887 * This symbol, if defined, indicates that the isnanl routine is
1888 * available to check whether a long double is a NaN.
1889 */
1890/*#define HAS_ISNANL / **/
1891
1892/* HAS_LCHOWN:
1893 * This symbol, if defined, indicates that the lchown routine is
1894 * available to operate on a symbolic link (instead of following the
1895 * link).
1896 */
1897/*#define HAS_LCHOWN / **/
1898
1899/* HAS_LDBL_DIG:
1900 * This symbol, if defined, indicates that this system's <float.h>
1901 * or <limits.h> defines the symbol LDBL_DIG, which is the number
1902 * of significant digits in a long double precision number. Unlike
1903 * for DBL_DIG, there's no good guess for LDBL_DIG if it is undefined.
1904 */
1905#define HAS_LDBL_DIG /* */
1906
1907/* HAS_LOCALTIME_R:
1908 * This symbol, if defined, indicates that the localtime_r routine
1909 * is available to localtime re-entrantly.
1910 */
1911/* LOCALTIME_R_PROTO:
1912 * This symbol encodes the prototype of localtime_r.
1913 * It is zero if d_localtime_r is undef, and one of the
1914 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_localtime_r
1915 * is defined.
1916 */
1917/*#define HAS_LOCALTIME_R / **/
1918#define LOCALTIME_R_PROTO 0 /**/
1919
1920/* HAS_LONG_DOUBLE:
1921 * This symbol will be defined if the C compiler supports long
1922 * doubles.
1923 */
1924/* LONG_DOUBLESIZE:
1925 * This symbol contains the size of a long double, so that the
1926 * C preprocessor can make decisions based on it. It is only
1927 * defined if the system supports long doubles.
1928 */
1929#define HAS_LONG_DOUBLE /**/
1930#ifdef HAS_LONG_DOUBLE
1931#define LONG_DOUBLESIZE 8 /**/
1932#endif
1933
1934/* HAS_LONG_LONG:
1935 * This symbol will be defined if the C compiler supports long long.
1936 */
1937/* LONGLONGSIZE:
1938 * This symbol contains the size of a long long, so that the
1939 * C preprocessor can make decisions based on it. It is only
1940 * defined if the system supports long long.
1941 */
1942#define HAS_LONG_LONG /**/
1943#ifdef HAS_LONG_LONG
1944#define LONGLONGSIZE 8 /**/
1945#endif
1946
1947/* HAS_LSEEK_PROTO:
1948 * This symbol, if defined, indicates that the system provides
1949 * a prototype for the lseek() function. Otherwise, it is up
1950 * to the program to supply one. A good guess is
1951 * extern off_t lseek(int, off_t, int);
1952 */
1953/*#define HAS_LSEEK_PROTO / **/
1954
1955/* HAS_MADVISE:
1956 * This symbol, if defined, indicates that the madvise system call is
1957 * available to map a file into memory.
1958 */
1959/*#define HAS_MADVISE / **/
1960
1961/* HAS_MEMCHR:
1962 * This symbol, if defined, indicates that the memchr routine is available
1963 * to locate characters within a C string.
1964 */
1965#define HAS_MEMCHR /**/
1966
1967/* HAS_MKDTEMP:
1968 * This symbol, if defined, indicates that the mkdtemp routine is
1969 * available to exclusively create a uniquely named temporary directory.
1970 */
1971/*#define HAS_MKDTEMP / **/
1972
1973/* HAS_MKSTEMP:
1974 * This symbol, if defined, indicates that the mkstemp routine is
1975 * available to exclusively create and open a uniquely named
1976 * temporary file.
1977 */
1978/*#define HAS_MKSTEMP / **/
1979
1980/* HAS_MKSTEMPS:
1981 * This symbol, if defined, indicates that the mkstemps routine is
1982 * available to excluslvely create and open a uniquely named
1983 * (with a suffix) temporary file.
1984 */
1985/*#define HAS_MKSTEMPS / **/
1986
1987/* HAS_MMAP:
1988 * This symbol, if defined, indicates that the mmap system call is
1989 * available to map a file into memory.
1990 */
1991/* Mmap_t:
1992 * This symbol holds the return type of the mmap() system call
1993 * (and simultaneously the type of the first argument).
1994 * Usually set to 'void *' or 'cadd_t'.
1995 */
1996/*#define HAS_MMAP / **/
1997#define Mmap_t void * /**/
1998
1999/* HAS_MODFL:
2000 * This symbol, if defined, indicates that the modfl routine is
2001 * available to split a long double x into a fractional part f and
2002 * an integer part i such that |f| < 1.0 and (f + i) = x.
2003 */
2004/* HAS_MODFL_POW32_BUG:
2005 * This symbol, if defined, indicates that the modfl routine is
2006 * broken for long doubles >= pow(2, 32).
2007 * For example from 4294967303.150000 one would get 4294967302.000000
2008 * and 1.150000. The bug has been seen in certain versions of glibc,
2009 * release 2.2.2 is known to be okay.
2010 */
2011/*#define HAS_MODFL / **/
2012/*#define HAS_MODFL_POW32_BUG / **/
2013
2014/* HAS_MPROTECT:
2015 * This symbol, if defined, indicates that the mprotect system call is
2016 * available to modify the access protection of a memory mapped file.
2017 */
2018/*#define HAS_MPROTECT / **/
2019
2020/* HAS_MSG:
2021 * This symbol, if defined, indicates that the entire msg*(2) library is
2022 * supported (IPC mechanism based on message queues).
2023 */
2024/*#define HAS_MSG / **/
2025
2026/* HAS_STRUCT_MSGHDR:
2027 * This symbol, if defined, indicates that the struct msghdr
2028 * is supported.
2029 */
2030/*#define HAS_STRUCT_MSGHDR / **/
2031
2032/* HAS_OFF64_T:
2033 * This symbol will be defined if the C compiler supports off64_t.
2034 */
2035/*#define HAS_OFF64_T / **/
2036
2037/* HAS_OPEN3:
2038 * This manifest constant lets the C program know that the three
2039 * argument form of open(2) is available.
2040 */
2041#define HAS_OPEN3 /**/
2042
2043/* OLD_PTHREAD_CREATE_JOINABLE:
2044 * This symbol, if defined, indicates how to create pthread
2045 * in joinable (aka undetached) state. NOTE: not defined
2046 * if pthread.h already has defined PTHREAD_CREATE_JOINABLE
2047 * (the new version of the constant).
2048 * If defined, known values are PTHREAD_CREATE_UNDETACHED
2049 * and __UNDETACHED.
2050 */
2051/*#define OLD_PTHREAD_CREATE_JOINABLE / **/
2052
2053/* HAS_PTHREAD_YIELD:
2054 * This symbol, if defined, indicates that the pthread_yield
2055 * routine is available to yield the execution of the current
2056 * thread. sched_yield is preferable to pthread_yield.
2057 */
2058/* SCHED_YIELD:
2059 * This symbol defines the way to yield the execution of
2060 * the current thread. Known ways are sched_yield,
2061 * pthread_yield, and pthread_yield with NULL.
2062 */
2063/* HAS_SCHED_YIELD:
2064 * This symbol, if defined, indicates that the sched_yield
2065 * routine is available to yield the execution of the current
2066 * thread. sched_yield is preferable to pthread_yield.
2067 */
2068/*#define HAS_PTHREAD_YIELD / **/
2069#define SCHED_YIELD undef /**/
2070/*#define HAS_SCHED_YIELD / **/
2071
2072/* HAS_RANDOM_R:
2073 * This symbol, if defined, indicates that the random_r routine
2074 * is available to random re-entrantly.
2075 */
2076/* RANDOM_R_PROTO:
2077 * This symbol encodes the prototype of random_r.
2078 * It is zero if d_random_r is undef, and one of the
2079 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_random_r
2080 * is defined.
2081 */
2082/*#define HAS_RANDOM_R / **/
2083#define RANDOM_R_PROTO 0 /**/
2084
2085/* HAS_READDIR_R:
2086 * This symbol, if defined, indicates that the readdir_r routine
2087 * is available to readdir re-entrantly.
2088 */
2089/* READDIR_R_PROTO:
2090 * This symbol encodes the prototype of readdir_r.
2091 * It is zero if d_readdir_r is undef, and one of the
2092 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_readdir_r
2093 * is defined.
2094 */
2095/*#define HAS_READDIR_R / **/
2096#define READDIR_R_PROTO 0 /**/
2097
2098/* HAS_READV:
2099 * This symbol, if defined, indicates that the readv routine is
2100 * available to do gather reads. You will also need <sys/uio.h>
2101 * and there I_SYSUIO.
2102 */
2103#define HAS_READV /**/
2104
2105/* HAS_RECVMSG:
2106 * This symbol, if defined, indicates that the recvmsg routine is
2107 * available to send structured socket messages.
2108 */
2109/*#define HAS_RECVMSG / **/
2110
2111/* HAS_SAFE_BCOPY:
2112 * This symbol, if defined, indicates that the bcopy routine is available
2113 * to copy potentially overlapping memory blocks. Normally, you should
2114 * probably use memmove() or memcpy(). If neither is defined, roll your
2115 * own version.
2116 */
2117/*#define HAS_SAFE_BCOPY / **/
2118
2119/* HAS_SAFE_MEMCPY:
2120 * This symbol, if defined, indicates that the memcpy routine is available
2121 * to copy potentially overlapping memory blocks. If you need to
2122 * copy overlapping memory blocks, you should check HAS_MEMMOVE and
2123 * use memmove() instead, if available.
2124 */
2125/*#define HAS_SAFE_MEMCPY / **/
2126
2127/* HAS_SANE_MEMCMP:
2128 * This symbol, if defined, indicates that the memcmp routine is available
2129 * and can be used to compare relative magnitudes of chars with their high
2130 * bits set. If it is not defined, roll your own version.
2131 */
2132#define HAS_SANE_MEMCMP /**/
2133
2134/* HAS_SBRK_PROTO:
2135 * This symbol, if defined, indicates that the system provides
2136 * a prototype for the sbrk() function. Otherwise, it is up
2137 * to the program to supply one. Good guesses are
2138 * extern void* sbrk(int);
2139 * extern void* sbrk(size_t);
2140 */
2141/*#define HAS_SBRK_PROTO / **/
2142
2143/* HAS_SEM:
2144 * This symbol, if defined, indicates that the entire sem*(2) library is
2145 * supported.
2146 */
2147/*#define HAS_SEM / **/
2148
2149/* HAS_SCALBNL:
2150 * This symbol, if defined, indicates that the scalbnl routine is
2151 * available. If ilogbl is also present we can emulate frexpl.
2152 */
2153/*#define HAS_SCALBNL /**/
2154
2155/* HAS_SENDMSG:
2156 * This symbol, if defined, indicates that the sendmsg routine is
2157 * available to send structured socket messages.
2158 */
2159/*#define HAS_SENDMSG / **/
2160
2161/* HAS_SETGRENT:
2162 * This symbol, if defined, indicates that the setgrent routine is
2163 * available for initializing sequential access of the group database.
2164 */
2165#define HAS_SETGRENT /**/
2166
2167/* HAS_SETGRENT_R:
2168 * This symbol, if defined, indicates that the setgrent_r routine
2169 * is available to setgrent re-entrantly.
2170 */
2171/* SETGRENT_R_PROTO:
2172 * This symbol encodes the prototype of setgrent_r.
2173 * It is zero if d_setgrent_r is undef, and one of the
2174 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_setgrent_r
2175 * is defined.
2176 */
2177/*#define HAS_SETGRENT_R / **/
2178#define SETGRENT_R_PROTO 0 /**/
2179
2180/* HAS_SETGROUPS:
2181 * This symbol, if defined, indicates that the setgroups() routine is
2182 * available to set the list of process groups. If unavailable, multiple
2183 * groups are probably not supported.
2184 */
2185/*#define HAS_SETGROUPS / **/
2186
2187/* HAS_SETHOSTENT:
2188 * This symbol, if defined, indicates that the sethostent() routine is
2189 * available.
2190 */
2191/*#define HAS_SETHOSTENT / **/
2192
2193/* HAS_SETITIMER:
2194 * This symbol, if defined, indicates that the setitimer routine is
2195 * available to set interval timers.
2196 */
2197/*#define HAS_SETITIMER / **/
2198
2199/* HAS_SETNETENT:
2200 * This symbol, if defined, indicates that the setnetent() routine is
2201 * available.
2202 */
2203/*#define HAS_SETNETENT / **/
2204
2205/* HAS_SETPROTOENT:
2206 * This symbol, if defined, indicates that the setprotoent() routine is
2207 * available.
2208 */
2209/*#define HAS_SETPROTOENT / **/
2210
2211/* HAS_SETPGRP:
2212 * This symbol, if defined, indicates that the setpgrp routine is
2213 * available to set the current process group.
2214 */
2215/* USE_BSD_SETPGRP:
2216 * This symbol, if defined, indicates that setpgrp needs two
2217 * arguments whereas USG one needs none. See also HAS_SETPGID
2218 * for a POSIX interface.
2219 */
2220/*#define HAS_SETPGRP / **/
2221/*#define USE_BSD_SETPGRP / **/
2222
2223/* HAS_SETPROCTITLE:
2224 * This symbol, if defined, indicates that the setproctitle routine is
2225 * available to set process title.
2226 */
2227/*#define HAS_SETPROCTITLE / **/
2228
2229/* HAS_SETPWENT:
2230 * This symbol, if defined, indicates that the setpwent routine is
2231 * available for initializing sequential access of the passwd database.
2232 */
2233#define HAS_SETPWENT /**/
2234
2235/* HAS_SETPWENT_R:
2236 * This symbol, if defined, indicates that the setpwent_r routine
2237 * is available to setpwent re-entrantly.
2238 */
2239/* SETPWENT_R_PROTO:
2240 * This symbol encodes the prototype of setpwent_r.
2241 * It is zero if d_setpwent_r is undef, and one of the
2242 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_setpwent_r
2243 * is defined.
2244 */
2245/*#define HAS_SETPWENT_R / **/
2246#define SETPWENT_R_PROTO 0 /**/
2247
2248/* HAS_SETSERVENT:
2249 * This symbol, if defined, indicates that the setservent() routine is
2250 * available.
2251 */
2252/*#define HAS_SETSERVENT / **/
2253
2254/* HAS_SETVBUF:
2255 * This symbol, if defined, indicates that the setvbuf routine is
2256 * available to change buffering on an open stdio stream.
2257 * to a line-buffered mode.
2258 */
2259#define HAS_SETVBUF /**/
2260
2261/* USE_SFIO:
2262 * This symbol, if defined, indicates that sfio should
2263 * be used.
2264 */
2265/*#define USE_SFIO / **/
2266
2267/* HAS_SHM:
2268 * This symbol, if defined, indicates that the entire shm*(2) library is
2269 * supported.
2270 */
2271/*#define HAS_SHM / **/
2272
2273/* HAS_SIGACTION:
2274 * This symbol, if defined, indicates that Vr4's sigaction() routine
2275 * is available.
2276 */
2277#define HAS_SIGACTION /**/
2278
2279/* HAS_SIGSETJMP:
2280 * This variable indicates to the C program that the sigsetjmp()
2281 * routine is available to save the calling process's registers
2282 * and stack environment for later use by siglongjmp(), and
2283 * to optionally save the process's signal mask. See
2284 * Sigjmp_buf, Sigsetjmp, and Siglongjmp.
2285 */
2286/* Sigjmp_buf:
2287 * This is the buffer type to be used with Sigsetjmp and Siglongjmp.
2288 */
2289/* Sigsetjmp:
2290 * This macro is used in the same way as sigsetjmp(), but will invoke
2291 * traditional setjmp() if sigsetjmp isn't available.
2292 * See HAS_SIGSETJMP.
2293 */
2294/* Siglongjmp:
2295 * This macro is used in the same way as siglongjmp(), but will invoke
2296 * traditional longjmp() if siglongjmp isn't available.
2297 * See HAS_SIGSETJMP.
2298 */
2299#define HAS_SIGSETJMP /**/
2300#ifdef HAS_SIGSETJMP
2301#define Sigjmp_buf sigjmp_buf
2302#define Sigsetjmp(buf,save_mask) sigsetjmp((buf),(save_mask))
2303#define Siglongjmp(buf,retval) siglongjmp((buf),(retval))
2304#else
2305#define Sigjmp_buf jmp_buf
2306#define Sigsetjmp(buf,save_mask) setjmp((buf))
2307#define Siglongjmp(buf,retval) longjmp((buf),(retval))
2308#endif
2309
2310/* HAS_SOCKET:
2311 * This symbol, if defined, indicates that the BSD socket interface is
2312 * supported.
2313 */
2314/* HAS_SOCKETPAIR:
2315 * This symbol, if defined, indicates that the BSD socketpair() call is
2316 * supported.
2317 */
2318/* HAS_MSG_CTRUNC:
2319 * This symbol, if defined, indicates that the MSG_CTRUNC is supported.
2320 * Checking just with #ifdef might not be enough because this symbol
2321 * has been known to be an enum.
2322 */
2323/* HAS_MSG_DONTROUTE:
2324 * This symbol, if defined, indicates that the MSG_DONTROUTE is supported.
2325 * Checking just with #ifdef might not be enough because this symbol
2326 * has been known to be an enum.
2327 */
2328/* HAS_MSG_OOB:
2329 * This symbol, if defined, indicates that the MSG_OOB is supported.
2330 * Checking just with #ifdef might not be enough because this symbol
2331 * has been known to be an enum.
2332 */
2333/* HAS_MSG_PEEK:
2334 * This symbol, if defined, indicates that the MSG_PEEK is supported.
2335 * Checking just with #ifdef might not be enough because this symbol
2336 * has been known to be an enum.
2337 */
2338/* HAS_MSG_PROXY:
2339 * This symbol, if defined, indicates that the MSG_PROXY is supported.
2340 * Checking just with #ifdef might not be enough because this symbol
2341 * has been known to be an enum.
2342 */
2343/* HAS_SCM_RIGHTS:
2344 * This symbol, if defined, indicates that the SCM_RIGHTS is supported.
2345 * Checking just with #ifdef might not be enough because this symbol
2346 * has been known to be an enum.
2347 */
2348#define HAS_SOCKET /**/
2349#define HAS_SOCKETPAIR /**/
2350/*#define HAS_MSG_CTRUNC / **/
2351/*#define HAS_MSG_DONTROUTE / **/
2352/*#define HAS_MSG_OOB / **/
2353/*#define HAS_MSG_PEEK / **/
2354/*#define HAS_MSG_PROXY / **/
2355/*#define HAS_SCM_RIGHTS / **/
2356
2357/* HAS_SOCKS5_INIT:
2358 * This symbol, if defined, indicates that the socks5_init routine is
2359 * available to initialize SOCKS 5.
2360 */
2361/*#define HAS_SOCKS5_INIT / **/
2362
2363/* HAS_SQRTL:
2364 * This symbol, if defined, indicates that the sqrtl routine is
2365 * available to do long double square roots.
2366 */
2367/*#define HAS_SQRTL / **/
2368
2369/* HAS_SRAND48_R:
2370 * This symbol, if defined, indicates that the srand48_r routine
2371 * is available to srand48 re-entrantly.
2372 */
2373/* SRAND48_R_PROTO:
2374 * This symbol encodes the prototype of srand48_r.
2375 * It is zero if d_srand48_r is undef, and one of the
2376 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_srand48_r
2377 * is defined.
2378 */
2379/*#define HAS_SRAND48_R / **/
2380#define SRAND48_R_PROTO 0 /**/
2381
2382/* HAS_SRANDOM_R:
2383 * This symbol, if defined, indicates that the srandom_r routine
2384 * is available to srandom re-entrantly.
2385 */
2386/* SRANDOM_R_PROTO:
2387 * This symbol encodes the prototype of srandom_r.
2388 * It is zero if d_srandom_r is undef, and one of the
2389 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_srandom_r
2390 * is defined.
2391 */
2392/*#define HAS_SRANDOM_R / **/
2393#define SRANDOM_R_PROTO 0 /**/
2394
2395/* USE_STAT_BLOCKS:
2396 * This symbol is defined if this system has a stat structure declaring
2397 * st_blksize and st_blocks.
2398 */
2399#ifndef USE_STAT_BLOCKS
2400/*#define USE_STAT_BLOCKS / **/
2401#endif
2402
2403/* HAS_STRUCT_STATFS_F_FLAGS:
2404 * This symbol, if defined, indicates that the struct statfs
2405 * does have the f_flags member containing the mount flags of
2406 * the filesystem containing the file.
2407 * This kind of struct statfs is coming from <sys/mount.h> (BSD 4.3),
2408 * not from <sys/statfs.h> (SYSV). Older BSDs (like Ultrix) do not
2409 * have statfs() and struct statfs, they have ustat() and getmnt()
2410 * with struct ustat and struct fs_data.
2411 */
2412/*#define HAS_STRUCT_STATFS_F_FLAGS / **/
2413
2414/* HAS_STRUCT_STATFS:
2415 * This symbol, if defined, indicates that the struct statfs
2416 * to do statfs() is supported.
2417 */
2418/*#define HAS_STRUCT_STATFS / **/
2419
2420/* HAS_FSTATVFS:
2421 * This symbol, if defined, indicates that the fstatvfs routine is
2422 * available to stat filesystems by file descriptors.
2423 */
2424/*#define HAS_FSTATVFS / **/
2425
2426/* USE_STDIO_PTR:
2427 * This symbol is defined if the _ptr and _cnt fields (or similar)
2428 * of the stdio FILE structure can be used to access the stdio buffer
2429 * for a file handle. If this is defined, then the FILE_ptr(fp)
2430 * and FILE_cnt(fp) macros will also be defined and should be used
2431 * to access these fields.
2432 */
2433/* FILE_ptr:
2434 * This macro is used to access the _ptr field (or equivalent) of the
2435 * FILE structure pointed to by its argument. This macro will always be
2436 * defined if USE_STDIO_PTR is defined.
2437 */
2438/* STDIO_PTR_LVALUE:
2439 * This symbol is defined if the FILE_ptr macro can be used as an
2440 * lvalue.
2441 */
2442/* FILE_cnt:
2443 * This macro is used to access the _cnt field (or equivalent) of the
2444 * FILE structure pointed to by its argument. This macro will always be
2445 * defined if USE_STDIO_PTR is defined.
2446 */
2447/* STDIO_CNT_LVALUE:
2448 * This symbol is defined if the FILE_cnt macro can be used as an
2449 * lvalue.
2450 */
2451/* STDIO_PTR_LVAL_SETS_CNT:
2452 * This symbol is defined if using the FILE_ptr macro as an lvalue
2453 * to increase the pointer by n has the side effect of decreasing the
2454 * value of File_cnt(fp) by n.
2455 */
2456/* STDIO_PTR_LVAL_NOCHANGE_CNT:
2457 * This symbol is defined if using the FILE_ptr macro as an lvalue
2458 * to increase the pointer by n leaves File_cnt(fp) unchanged.
2459 */
2460/*#define USE_STDIO_PTR / **/
2461#ifdef USE_STDIO_PTR
2462#define FILE_ptr(fp) ((fp)->_ptr)
2463/*#define STDIO_PTR_LVALUE / **/
2464#define FILE_cnt(fp) ((fp)->_cnt)
2465/*#define STDIO_CNT_LVALUE / **/
2466/*#define STDIO_PTR_LVAL_SETS_CNT / **/
2467/*#define STDIO_PTR_LVAL_NOCHANGE_CNT / **/
2468#endif
2469
2470/* USE_STDIO_BASE:
2471 * This symbol is defined if the _base field (or similar) of the
2472 * stdio FILE structure can be used to access the stdio buffer for
2473 * a file handle. If this is defined, then the FILE_base(fp) macro
2474 * will also be defined and should be used to access this field.
2475 * Also, the FILE_bufsiz(fp) macro will be defined and should be used
2476 * to determine the number of bytes in the buffer. USE_STDIO_BASE
2477 * will never be defined unless USE_STDIO_PTR is.
2478 */
2479/* FILE_base:
2480 * This macro is used to access the _base field (or equivalent) of the
2481 * FILE structure pointed to by its argument. This macro will always be
2482 * defined if USE_STDIO_BASE is defined.
2483 */
2484/* FILE_bufsiz:
2485 * This macro is used to determine the number of bytes in the I/O
2486 * buffer pointed to by _base field (or equivalent) of the FILE
2487 * structure pointed to its argument. This macro will always be defined
2488 * if USE_STDIO_BASE is defined.
2489 */
2490/*#define USE_STDIO_BASE / **/
2491#ifdef USE_STDIO_BASE
2492#define FILE_base(fp) ((fp)->_base)
2493#define FILE_bufsiz(fp) ((fp)->_cnt + (fp)->_ptr - (fp)->_base)
2494#endif
2495
2496/* HAS_STRERROR:
2497 * This symbol, if defined, indicates that the strerror routine is
2498 * available to translate error numbers to strings. See the writeup
2499 * of Strerror() in this file before you try to define your own.
2500 */
2501/* HAS_SYS_ERRLIST:
2502 * This symbol, if defined, indicates that the sys_errlist array is
2503 * available to translate error numbers to strings. The extern int
2504 * sys_nerr gives the size of that table.
2505 */
2506/* Strerror:
2507 * This preprocessor symbol is defined as a macro if strerror() is
2508 * not available to translate error numbers to strings but sys_errlist[]
2509 * array is there.
2510 */
2511#define HAS_STRERROR /**/
2512#define HAS_SYS_ERRLIST /**/
2513#define Strerror(e) strerror(e)
2514
2515/* HAS_STRERROR_R:
2516 * This symbol, if defined, indicates that the strerror_r routine
2517 * is available to strerror re-entrantly.
2518 */
2519/* STRERROR_R_PROTO:
2520 * This symbol encodes the prototype of strerror_r.
2521 * It is zero if d_strerror_r is undef, and one of the
2522 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_strerror_r
2523 * is defined.
2524 */
2525/*#define HAS_STRERROR_R / **/
2526#define STRERROR_R_PROTO 0 /**/
2527
2528/* HAS_STRTOLD:
2529 * This symbol, if defined, indicates that the strtold routine is
2530 * available to convert strings to long doubles.
2531 */
2532/*#define HAS_STRTOLD / **/
2533
2534/* HAS_STRTOLL:
2535 * This symbol, if defined, indicates that the strtoll routine is
2536 * available to convert strings to long longs.
2537 */
2538/*#define HAS_STRTOLL / **/
2539
2540/* HAS_STRTOQ:
2541 * This symbol, if defined, indicates that the strtoq routine is
2542 * available to convert strings to long longs (quads).
2543 */
2544/*#define HAS_STRTOQ / **/
2545
2546/* HAS_STRTOUL:
2547 * This symbol, if defined, indicates that the strtoul routine is
2548 * available to provide conversion of strings to unsigned long.
2549 */
2550#define HAS_STRTOUL /**/
2551
2552/* HAS_STRTOULL:
2553 * This symbol, if defined, indicates that the strtoull routine is
2554 * available to convert strings to unsigned long longs.
2555 */
2556/*#define HAS_STRTOULL / **/
2557
2558/* HAS_STRTOUQ:
2559 * This symbol, if defined, indicates that the strtouq routine is
2560 * available to convert strings to unsigned long longs (quads).
2561 */
2562/*#define HAS_STRTOUQ / **/
2563
2564/* HAS_TELLDIR_PROTO:
2565 * This symbol, if defined, indicates that the system provides
2566 * a prototype for the telldir() function. Otherwise, it is up
2567 * to the program to supply one. A good guess is
2568 * extern long telldir(DIR*);
2569 */
2570/*#define HAS_TELLDIR_PROTO / **/
2571
2572/* HAS_TIME:
2573 * This symbol, if defined, indicates that the time() routine exists.
2574 */
2575/* Time_t:
2576 * This symbol holds the type returned by time(). It can be long,
2577 * or time_t on BSD sites (in which case <sys/types.h> should be
2578 * included).
2579 */
2580#define HAS_TIME /**/
2581#define Time_t time_t /* Time type */
2582
2583/* HAS_TIMES:
2584 * This symbol, if defined, indicates that the times() routine exists.
2585 * Note that this became obsolete on some systems (SUNOS), which now
2586 * use getrusage(). It may be necessary to include <sys/times.h>.
2587 */
2588#define HAS_TIMES /**/
2589
2590/* HAS_TMPNAM_R:
2591 * This symbol, if defined, indicates that the tmpnam_r routine
2592 * is available to tmpnam re-entrantly.
2593 */
2594/* TMPNAM_R_PROTO:
2595 * This symbol encodes the prototype of tmpnam_r.
2596 * It is zero if d_tmpnam_r is undef, and one of the
2597 * REENTRANT_PROTO_T_ABC macros of reentr.h if d_tmpnam_r
2598 * is defined.
2599 */
2600/*#define HAS_TMPNAM_R / **/
2601#define TMPNAM_R_PROTO 0 /**/
2602
2603/* HAS_UALARM:
2604 * This symbol, if defined, indicates that the ualarm routine is
2605 * available to do alarms with microsecond granularity.
2606 */
2607/*#define HAS_UALARM / **/
2608
2609/* HAS_UNION_SEMUN:
2610 * This symbol, if defined, indicates that the union semun is
2611 * defined by including <sys/sem.h>. If not, the user code
2612 * probably needs to define it as:
2613 * union semun {
2614 * int val;
2615 * struct semid_ds *buf;
2616 * unsigned short *array;
2617 * }
2618 */
2619/* USE_SEMCTL_SEMUN:
2620 * This symbol, if defined, indicates that union semun is