This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
support POSIX::uname() via win32_uname()
[perl5.git] / win32 / config_H.gc
CommitLineData
a835ef8a
NIS
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 *
924b3ec4 10 * $Id: Config_h.U,v 3.0.1.5 1997/02/28 14:57:43 ram Exp $
a835ef8a
NIS
11 */
12
924b3ec4
GS
13/*
14 * Package name : perl5
07ba5892 15 * Source directory :
924b3ec4
GS
16 * Configuration time: undef
17 * Configured by : gsar
18 * Target system :
a835ef8a
NIS
19 */
20
21#ifndef _config_h_
22#define _config_h_
23
924b3ec4
GS
24/* LOC_SED:
25 * This symbol holds the complete pathname to the sed program.
a835ef8a 26 */
924b3ec4 27#define LOC_SED "" /**/
a835ef8a
NIS
28
29/* BIN:
30 * This symbol holds the path of the bin directory where the package will
31 * be installed. Program must be prepared to deal with ~name substitution.
32 */
33/* BIN_EXP:
34 * This symbol is the filename expanded version of the BIN symbol, for
35 * programs that do not want to deal with that at run-time.
36 */
642c2561
GS
37#define BIN "c:\\perl\\5.00556\\bin\\MSWin32-x86" /**/
38#define BIN_EXP "c:\\perl\\5.00556\\bin\\MSWin32-x86" /**/
a835ef8a 39
a835ef8a
NIS
40/* HAS_ALARM:
41 * This symbol, if defined, indicates that the alarm routine is
42 * available.
43 */
44/*#define HAS_ALARM /**/
45
46/* HASATTRIBUTE:
47 * This symbol indicates the C compiler can check for function attributes,
48 * such as printf formats. This is normally only supported by GNU cc.
49 */
50#define HASATTRIBUTE /**/
51#ifndef HASATTRIBUTE
52#define __attribute__(_arg_)
53#endif
54
55/* HAS_BCMP:
56 * This symbol is defined if the bcmp() routine is available to
57 * compare blocks of memory.
58 */
59/*#define HAS_BCMP /**/
60
61/* HAS_BCOPY:
62 * This symbol is defined if the bcopy() routine is available to
63 * copy blocks of memory.
64 */
65/*#define HAS_BCOPY /**/
66
67/* HAS_BZERO:
68 * This symbol is defined if the bzero() routine is available to
69 * set a memory block to 0.
70 */
71/*#define HAS_BZERO /**/
72
a835ef8a
NIS
73/* HAS_CHOWN:
74 * This symbol, if defined, indicates that the chown routine is
75 * available.
76 */
77/*#define HAS_CHOWN /**/
78
79/* HAS_CHROOT:
80 * This symbol, if defined, indicates that the chroot routine is
81 * available.
82 */
83/*#define HAS_CHROOT /**/
84
85/* HAS_CHSIZE:
86 * This symbol, if defined, indicates that the chsize routine is available
87 * to truncate files. You might need a -lx to get this routine.
88 */
89#define HAS_CHSIZE /**/
90
a835ef8a
NIS
91/* HASCONST:
92 * This symbol, if defined, indicates that this C compiler knows about
93 * the const type. There is no need to actually test for that symbol
94 * within your programs. The mere use of the "const" keyword will
95 * trigger the necessary tests.
96 */
97#define HASCONST /**/
98#ifndef HASCONST
99#define const
100#endif
101
102/* HAS_CRYPT:
103 * This symbol, if defined, indicates that the crypt routine is available
104 * to encrypt passwords and the like.
105 */
106/*#define HAS_CRYPT /**/
107
108/* HAS_CUSERID:
109 * This symbol, if defined, indicates that the cuserid routine is
110 * available to get character login names.
111 */
112/*#define HAS_CUSERID /**/
113
114/* HAS_DBL_DIG:
115 * This symbol, if defined, indicates that this system's <float.h>
116 * or <limits.h> defines the symbol DBL_DIG, which is the number
117 * of significant digits in a double precision number. If this
118 * symbol is not defined, a guess of 15 is usually pretty good.
119 */
120#define HAS_DBL_DIG /**/
121
122/* HAS_DIFFTIME:
123 * This symbol, if defined, indicates that the difftime routine is
124 * available.
125 */
126#define HAS_DIFFTIME /**/
127
128/* HAS_DLERROR:
129 * This symbol, if defined, indicates that the dlerror routine is
130 * available to return a string describing the last error that
131 * occurred from a call to dlopen(), dlclose() or dlsym().
132 */
133#define HAS_DLERROR /**/
134
924b3ec4
GS
135/* SETUID_SCRIPTS_ARE_SECURE_NOW:
136 * This symbol, if defined, indicates that the bug that prevents
137 * setuid scripts from being secure is not present in this kernel.
138 */
139/* DOSUID:
140 * This symbol, if defined, indicates that the C program should
141 * check the script that it is executing for setuid/setgid bits, and
142 * attempt to emulate setuid/setgid on systems that have disabled
143 * setuid #! scripts because the kernel can't do it securely.
144 * It is up to the package designer to make sure that this emulation
145 * is done securely. Among other things, it should do an fstat on
146 * the script it just opened to make sure it really is a setuid/setgid
147 * script, it should make sure the arguments passed correspond exactly
148 * to the argument on the #! line, and it should not trust any
149 * subprocesses to which it must pass the filename rather than the
150 * file descriptor of the script to be executed.
151 */
152/*#define SETUID_SCRIPTS_ARE_SECURE_NOW /**/
153/*#define DOSUID /**/
154
a835ef8a
NIS
155/* HAS_DUP2:
156 * This symbol, if defined, indicates that the dup2 routine is
157 * available to duplicate file descriptors.
158 */
159#define HAS_DUP2 /**/
160
161/* HAS_FCHMOD:
162 * This symbol, if defined, indicates that the fchmod routine is available
163 * to change mode of opened files. If unavailable, use chmod().
164 */
165/*#define HAS_FCHMOD /**/
166
167/* HAS_FCHOWN:
168 * This symbol, if defined, indicates that the fchown routine is available
169 * to change ownership of opened files. If unavailable, use chown().
170 */
171/*#define HAS_FCHOWN /**/
172
173/* HAS_FCNTL:
174 * This symbol, if defined, indicates to the C program that
175 * the fcntl() function exists.
176 */
177/*#define HAS_FCNTL /**/
178
179/* HAS_FGETPOS:
180 * This symbol, if defined, indicates that the fgetpos routine is
181 * available to get the file position indicator, similar to ftell().
182 */
183#define HAS_FGETPOS /**/
184
185/* FLEXFILENAMES:
186 * This symbol, if defined, indicates that the system supports filenames
187 * longer than 14 characters.
188 */
189#define FLEXFILENAMES /**/
190
191/* HAS_FLOCK:
192 * This symbol, if defined, indicates that the flock routine is
193 * available to do file locking.
194 */
195#define HAS_FLOCK /**/
196
197/* HAS_FORK:
198 * This symbol, if defined, indicates that the fork routine is
199 * available.
200 */
201/*#define HAS_FORK /**/
202
203/* HAS_FSETPOS:
204 * This symbol, if defined, indicates that the fsetpos routine is
205 * available to set the file position indicator, similar to fseek().
206 */
207#define HAS_FSETPOS /**/
208
209/* HAS_GETTIMEOFDAY:
210 * This symbol, if defined, indicates that the gettimeofday() system
211 * call is available for a sub-second accuracy clock. Usually, the file
212 * <sys/resource.h> needs to be included (see I_SYS_RESOURCE).
213 * The type "Timeval" should be used to refer to "struct timeval".
214 */
215/*#define HAS_GETTIMEOFDAY /**/
216#ifdef HAS_GETTIMEOFDAY
217#define Timeval struct timeval /* Structure used by gettimeofday() */
218#endif
219
220/* HAS_GETGROUPS:
221 * This symbol, if defined, indicates that the getgroups() routine is
222 * available to get the list of process groups. If unavailable, multiple
223 * groups are probably not supported.
224 */
a835ef8a 225/*#define HAS_GETGROUPS /**/
a835ef8a 226
c4d53692
GS
227/* HAS_GETHOSTNAME:
228 * This symbol, if defined, indicates that the C program may use the
229 * gethostname() routine to derive the host name. See also HAS_UNAME
230 * and PHOSTNAME.
231 */
a835ef8a
NIS
232/* HAS_UNAME:
233 * This symbol, if defined, indicates that the C program may use the
234 * uname() routine to derive the host name. See also HAS_GETHOSTNAME
235 * and PHOSTNAME.
236 */
c4d53692
GS
237/* PHOSTNAME:
238 * This symbol, if defined, indicates that the C program may use the
239 * contents of PHOSTNAME as a command to feed to the popen() routine
240 * to derive the host name. See also HAS_GETHOSTNAME and HAS_UNAME.
241 * Note that the command uses a fully qualified path, so that it is safe
242 * even if used by a process with super-user privileges.
243 */
244#define HAS_GETHOSTNAME /**/
b2af26b1 245#define HAS_UNAME /**/
c4d53692 246/*#define PHOSTNAME "" / * How to get the host name */
a835ef8a
NIS
247
248/* HAS_GETLOGIN:
249 * This symbol, if defined, indicates that the getlogin routine is
250 * available to get the login name.
251 */
e34ffe5a 252#define HAS_GETLOGIN /**/
a835ef8a 253
924b3ec4
GS
254/* HAS_GETPGID:
255 * This symbol, if defined, indicates to the C program that
256 * the getpgid(pid) function is available to get the
257 * process group id.
258 */
259/*#define HAS_GETPGID /**/
260
261/* HAS_GETPGRP:
262 * This symbol, if defined, indicates that the getpgrp routine is
263 * available to get the current process group.
264 */
265/* USE_BSD_GETPGRP:
266 * This symbol, if defined, indicates that getpgrp needs one
267 * arguments whereas USG one needs none.
268 */
269/*#define HAS_GETPGRP /**/
270/*#define USE_BSD_GETPGRP /**/
271
a835ef8a
NIS
272/* HAS_GETPGRP2:
273 * This symbol, if defined, indicates that the getpgrp2() (as in DG/UX)
274 * routine is available to get the current process group.
275 */
276/*#define HAS_GETPGRP2 /**/
277
278/* HAS_GETPPID:
279 * This symbol, if defined, indicates that the getppid routine is
280 * available to get the parent process ID.
281 */
282/*#define HAS_GETPPID /**/
283
284/* HAS_GETPRIORITY:
285 * This symbol, if defined, indicates that the getpriority routine is
286 * available to get a process's priority.
287 */
288/*#define HAS_GETPRIORITY /**/
289
924b3ec4
GS
290/* HAS_INET_ATON:
291 * This symbol, if defined, indicates to the C program that the
292 * inet_aton() function is available to parse IP address "dotted-quad"
293 * strings.
a835ef8a 294 */
924b3ec4 295/*#define HAS_INET_ATON /**/
a835ef8a
NIS
296
297/* HAS_KILLPG:
298 * This symbol, if defined, indicates that the killpg routine is available
299 * to kill process groups. If unavailable, you probably should use kill
300 * with a negative process number.
301 */
302/*#define HAS_KILLPG /**/
303
304/* HAS_LINK:
305 * This symbol, if defined, indicates that the link routine is
306 * available to create hard links.
307 */
308/*#define HAS_LINK /**/
309
310/* HAS_LOCALECONV:
311 * This symbol, if defined, indicates that the localeconv routine is
312 * available for numeric and monetary formatting conventions.
313 */
314#define HAS_LOCALECONV /**/
315
316/* HAS_LOCKF:
317 * This symbol, if defined, indicates that the lockf routine is
318 * available to do file locking.
319 */
320/*#define HAS_LOCKF /**/
321
322/* HAS_LSTAT:
323 * This symbol, if defined, indicates that the lstat routine is
324 * available to do file stats on symbolic links.
325 */
326/*#define HAS_LSTAT /**/
327
328/* HAS_MBLEN:
329 * This symbol, if defined, indicates that the mblen routine is available
330 * to find the number of bytes in a multibye character.
331 */
332#define HAS_MBLEN /**/
333
334/* HAS_MBSTOWCS:
335 * This symbol, if defined, indicates that the mbstowcs routine is
336 * available to covert a multibyte string into a wide character string.
337 */
338#define HAS_MBSTOWCS /**/
339
340/* HAS_MBTOWC:
341 * This symbol, if defined, indicates that the mbtowc routine is available
342 * to covert a multibyte to a wide character.
343 */
344#define HAS_MBTOWC /**/
345
346/* HAS_MEMCMP:
347 * This symbol, if defined, indicates that the memcmp routine is available
348 * to compare blocks of memory.
349 */
350#define HAS_MEMCMP /**/
351
352/* HAS_MEMCPY:
353 * This symbol, if defined, indicates that the memcpy routine is available
354 * to copy blocks of memory.
355 */
356#define HAS_MEMCPY /**/
357
358/* HAS_MEMMOVE:
359 * This symbol, if defined, indicates that the memmove routine is available
360 * to copy potentially overlapping blocks of memory. This should be used
361 * only when HAS_SAFE_BCOPY is not defined. If neither is there, roll your
362 * own version.
363 */
364#define HAS_MEMMOVE /**/
365
366/* HAS_MEMSET:
367 * This symbol, if defined, indicates that the memset routine is available
368 * to set blocks of memory.
369 */
370#define HAS_MEMSET /**/
371
372/* HAS_MKDIR:
373 * This symbol, if defined, indicates that the mkdir routine is available
374 * to create directories. Otherwise you should fork off a new process to
375 * exec /bin/mkdir.
376 */
377#define HAS_MKDIR /**/
378
379/* HAS_MKFIFO:
380 * This symbol, if defined, indicates that the mkfifo routine is
381 * available to create FIFOs. Otherwise, mknod should be able to
382 * do it for you. However, if mkfifo is there, mknod might require
383 * super-user privileges which mkfifo will not.
384 */
385/*#define HAS_MKFIFO /**/
386
387/* HAS_MKTIME:
388 * This symbol, if defined, indicates that the mktime routine is
389 * available.
390 */
391#define HAS_MKTIME /**/
392
c4d53692
GS
393/* HAS_MSYNC:
394 * This symbol, if defined, indicates that the msync system call is
395 * available to synchronize a mapped file.
396 */
397/*#define HAS_MSYNC /**/
398
399/* HAS_MUNMAP:
400 * This symbol, if defined, indicates that the munmap system call is
401 * available to unmap a region, usually mapped by mmap().
402 */
403/*#define HAS_MUNMAP /**/
404
a835ef8a
NIS
405/* HAS_NICE:
406 * This symbol, if defined, indicates that the nice routine is
407 * available.
408 */
409/*#define HAS_NICE /**/
410
a835ef8a
NIS
411/* HAS_PATHCONF:
412 * This symbol, if defined, indicates that pathconf() is available
413 * to determine file-system related limits and options associated
414 * with a given filename.
415 */
416/* HAS_FPATHCONF:
417 * This symbol, if defined, indicates that pathconf() is available
418 * to determine file-system related limits and options associated
419 * with a given open file descriptor.
420 */
421/*#define HAS_PATHCONF /**/
422/*#define HAS_FPATHCONF /**/
423
424/* HAS_PAUSE:
425 * This symbol, if defined, indicates that the pause routine is
426 * available to suspend a process until a signal is received.
427 */
428#define HAS_PAUSE /**/
429
430/* HAS_PIPE:
431 * This symbol, if defined, indicates that the pipe routine is
432 * available to create an inter-process channel.
433 */
434#define HAS_PIPE /**/
435
436/* HAS_POLL:
437 * This symbol, if defined, indicates that the poll routine is
924b3ec4
GS
438 * available to poll active file descriptors. You may safely
439 * include <poll.h> when this symbol is defined.
a835ef8a
NIS
440 */
441/*#define HAS_POLL /**/
442
443/* HAS_READDIR:
444 * This symbol, if defined, indicates that the readdir routine is
445 * available to read directory entries. You may have to include
446 * <dirent.h>. See I_DIRENT.
447 */
448#define HAS_READDIR /**/
449
450/* HAS_SEEKDIR:
451 * This symbol, if defined, indicates that the seekdir routine is
452 * available. You may have to include <dirent.h>. See I_DIRENT.
453 */
454#define HAS_SEEKDIR /**/
455
456/* HAS_TELLDIR:
457 * This symbol, if defined, indicates that the telldir routine is
458 * available. You may have to include <dirent.h>. See I_DIRENT.
459 */
460#define HAS_TELLDIR /**/
461
462/* HAS_REWINDDIR:
463 * This symbol, if defined, indicates that the rewinddir routine is
464 * available. You may have to include <dirent.h>. See I_DIRENT.
465 */
466#define HAS_REWINDDIR /**/
467
468/* HAS_READLINK:
469 * This symbol, if defined, indicates that the readlink routine is
470 * available to read the value of a symbolic link.
471 */
472/*#define HAS_READLINK /**/
473
474/* HAS_RENAME:
475 * This symbol, if defined, indicates that the rename routine is available
476 * to rename files. Otherwise you should do the unlink(), link(), unlink()
477 * trick.
478 */
479#define HAS_RENAME /**/
480
481/* HAS_RMDIR:
482 * This symbol, if defined, indicates that the rmdir routine is
483 * available to remove directories. Otherwise you should fork off a
484 * new process to exec /bin/rmdir.
485 */
486#define HAS_RMDIR /**/
487
a835ef8a
NIS
488/* HAS_SELECT:
489 * This symbol, if defined, indicates that the select routine is
490 * available to select active file descriptors. If the timeout field
491 * is used, <sys/time.h> may need to be included.
492 */
493#define HAS_SELECT /**/
494
a835ef8a
NIS
495/* HAS_SETEGID:
496 * This symbol, if defined, indicates that the setegid routine is available
497 * to change the effective gid of the current program.
498 */
499/*#define HAS_SETEGID /**/
500
501/* HAS_SETEUID:
502 * This symbol, if defined, indicates that the seteuid routine is available
503 * to change the effective uid of the current program.
504 */
505/*#define HAS_SETEUID /**/
506
507/* HAS_SETLINEBUF:
508 * This symbol, if defined, indicates that the setlinebuf routine is
509 * available to change stderr or stdout from block-buffered or unbuffered
510 * to a line-buffered mode.
511 */
512/*#define HAS_SETLINEBUF /**/
513
514/* HAS_SETLOCALE:
515 * This symbol, if defined, indicates that the setlocale routine is
516 * available to handle locale-specific ctype implementations.
517 */
518#define HAS_SETLOCALE /**/
519
924b3ec4
GS
520/* HAS_SETPGID:
521 * This symbol, if defined, indicates that the setpgid(pid, gpid)
522 * routine is available to set process group ID.
523 */
524/*#define HAS_SETPGID /**/
525
526/* HAS_SETPGRP:
527 * This symbol, if defined, indicates that the setpgrp routine is
528 * available to set the current process group.
529 */
530/* USE_BSD_SETPGRP:
531 * This symbol, if defined, indicates that setpgrp needs two
532 * arguments whereas USG one needs none. See also HAS_SETPGID
533 * for a POSIX interface.
534 */
535/*#define HAS_SETPGRP /**/
536/*#define USE_BSD_SETPGRP /**/
537
a835ef8a
NIS
538/* HAS_SETPGRP2:
539 * This symbol, if defined, indicates that the setpgrp2() (as in DG/UX)
540 * routine is available to set the current process group.
541 */
542/*#define HAS_SETPGRP2 /**/
543
544/* HAS_SETPRIORITY:
545 * This symbol, if defined, indicates that the setpriority routine is
546 * available to set a process's priority.
547 */
548/*#define HAS_SETPRIORITY /**/
549
550/* HAS_SETREGID:
551 * This symbol, if defined, indicates that the setregid routine is
552 * available to change the real and effective gid of the current
553 * process.
554 */
555/* HAS_SETRESGID:
556 * This symbol, if defined, indicates that the setresgid routine is
557 * available to change the real, effective and saved gid of the current
558 * process.
559 */
560/*#define HAS_SETREGID /**/
561/*#define HAS_SETRESGID /**/
562
563/* HAS_SETREUID:
564 * This symbol, if defined, indicates that the setreuid routine is
565 * available to change the real and effective uid of the current
566 * process.
567 */
568/* HAS_SETRESUID:
569 * This symbol, if defined, indicates that the setresuid routine is
570 * available to change the real, effective and saved uid of the current
571 * process.
572 */
573/*#define HAS_SETREUID /**/
574/*#define HAS_SETRESUID /**/
575
576/* HAS_SETRGID:
577 * This symbol, if defined, indicates that the setrgid routine is available
578 * to change the real gid of the current program.
579 */
580/*#define HAS_SETRGID /**/
581
582/* HAS_SETRUID:
583 * This symbol, if defined, indicates that the setruid routine is available
584 * to change the real uid of the current program.
585 */
586/*#define HAS_SETRUID /**/
587
588/* HAS_SETSID:
589 * This symbol, if defined, indicates that the setsid routine is
590 * available to set the process group ID.
591 */
592/*#define HAS_SETSID /**/
593
a835ef8a
NIS
594/* Shmat_t:
595 * This symbol holds the return type of the shmat() system call.
596 * Usually set to 'void *' or 'char *'.
597 */
598/* HAS_SHMAT_PROTOTYPE:
599 * This symbol, if defined, indicates that the sys/shm.h includes
600 * a prototype for shmat(). Otherwise, it is up to the program to
601 * guess one. Shmat_t shmat _((int, Shmat_t, int)) is a good guess,
602 * but not always right so it should be emitted by the program only
603 * when HAS_SHMAT_PROTOTYPE is not defined to avoid conflicting defs.
604 */
605#define Shmat_t void * /**/
606/*#define HAS_SHMAT_PROTOTYPE /**/
607
924b3ec4
GS
608/* HAS_STRCHR:
609 * This symbol is defined to indicate that the strchr()/strrchr()
610 * functions are available for string searching. If not, try the
611 * index()/rindex() pair.
a835ef8a 612 */
924b3ec4
GS
613/* HAS_INDEX:
614 * This symbol is defined to indicate that the index()/rindex()
615 * functions are available for string searching.
a835ef8a 616 */
924b3ec4
GS
617#define HAS_STRCHR /**/
618/*#define HAS_INDEX /**/
619
620/* HAS_STRCOLL:
621 * This symbol, if defined, indicates that the strcoll routine is
622 * available to compare strings using collating information.
a835ef8a 623 */
924b3ec4
GS
624#define HAS_STRCOLL /**/
625
626/* USE_STRUCT_COPY:
627 * This symbol, if defined, indicates that this C compiler knows how
628 * to copy structures. If undefined, you'll need to use a block copy
629 * routine of some sort instead.
a835ef8a 630 */
924b3ec4 631#define USE_STRUCT_COPY /**/
a835ef8a 632
a835ef8a
NIS
633/* HAS_STRTOD:
634 * This symbol, if defined, indicates that the strtod routine is
635 * available to provide better numeric string conversion than atof().
636 */
637#define HAS_STRTOD /**/
638
639/* HAS_STRTOL:
640 * This symbol, if defined, indicates that the strtol routine is available
641 * to provide better numeric string conversion than atoi() and friends.
642 */
643#define HAS_STRTOL /**/
644
645/* HAS_STRTOUL:
646 * This symbol, if defined, indicates that the strtoul routine is
647 * available to provide conversion of strings to unsigned long.
648 */
649#define HAS_STRTOUL /**/
650
651/* HAS_STRXFRM:
652 * This symbol, if defined, indicates that the strxfrm() routine is
653 * available to transform strings.
654 */
655#define HAS_STRXFRM /**/
656
657/* HAS_SYMLINK:
658 * This symbol, if defined, indicates that the symlink routine is available
659 * to create symbolic links.
660 */
661/*#define HAS_SYMLINK /**/
662
663/* HAS_SYSCALL:
664 * This symbol, if defined, indicates that the syscall routine is
665 * available to call arbitrary system calls. If undefined, that's tough.
666 */
667/*#define HAS_SYSCALL /**/
668
669/* HAS_SYSCONF:
670 * This symbol, if defined, indicates that sysconf() is available
671 * to determine system related limits and options.
672 */
673/*#define HAS_SYSCONF /**/
674
675/* HAS_SYSTEM:
676 * This symbol, if defined, indicates that the system routine is
677 * available to issue a shell command.
678 */
679#define HAS_SYSTEM /**/
680
681/* HAS_TCGETPGRP:
682 * This symbol, if defined, indicates that the tcgetpgrp routine is
683 * available to get foreground process group ID.
684 */
685/*#define HAS_TCGETPGRP /**/
686
687/* HAS_TCSETPGRP:
688 * This symbol, if defined, indicates that the tcsetpgrp routine is
689 * available to set foreground process group ID.
690 */
691/*#define HAS_TCSETPGRP /**/
692
a835ef8a
NIS
693/* HAS_TRUNCATE:
694 * This symbol, if defined, indicates that the truncate routine is
695 * available to truncate files.
696 */
697/*#define HAS_TRUNCATE /**/
698
699/* HAS_TZNAME:
700 * This symbol, if defined, indicates that the tzname[] array is
701 * available to access timezone names.
702 */
62520c91 703/*#define HAS_TZNAME /**/
a835ef8a
NIS
704
705/* HAS_UMASK:
706 * This symbol, if defined, indicates that the umask routine is
707 * available to set and get the value of the file creation mask.
708 */
709#define HAS_UMASK /**/
710
711/* HAS_VFORK:
712 * This symbol, if defined, indicates that vfork() exists.
713 */
714/*#define HAS_VFORK /**/
715
a835ef8a
NIS
716/* HASVOLATILE:
717 * This symbol, if defined, indicates that this C compiler knows about
718 * the volatile declaration.
719 */
720#define HASVOLATILE /**/
721#ifndef HASVOLATILE
722#define volatile
723#endif
724
a835ef8a
NIS
725/* HAS_WAIT4:
726 * This symbol, if defined, indicates that wait4() exists.
727 */
728/*#define HAS_WAIT4 /**/
729
730/* HAS_WAITPID:
731 * This symbol, if defined, indicates that the waitpid routine is
732 * available to wait for child process.
733 */
f55ee38a 734#define HAS_WAITPID /**/
a835ef8a
NIS
735
736/* HAS_WCSTOMBS:
737 * This symbol, if defined, indicates that the wcstombs routine is
738 * available to convert wide character strings to multibyte strings.
739 */
740#define HAS_WCSTOMBS /**/
741
742/* HAS_WCTOMB:
743 * This symbol, if defined, indicates that the wctomb routine is available
744 * to covert a wide character to a multibyte.
745 */
746#define HAS_WCTOMB /**/
747
28e8609d 748/* I_ARPA_INET:
327c3667
GS
749 * This symbol, if defined, indicates to the C program that it should
750 * include <arpa/inet.h> to get inet_addr and friends declarations.
28e8609d 751 */
327c3667 752#define I_ARPA_INET /**/
28e8609d 753
924b3ec4
GS
754/* I_DBM:
755 * This symbol, if defined, indicates that <dbm.h> exists and should
756 * be included.
a835ef8a 757 */
924b3ec4
GS
758/* I_RPCSVC_DBM:
759 * This symbol, if defined, indicates that <rpcsvc/dbm.h> exists and
760 * should be included.
a835ef8a 761 */
924b3ec4
GS
762/*#define I_DBM /**/
763#define I_RPCSVC_DBM /**/
a835ef8a
NIS
764
765/* I_DIRENT:
766 * This symbol, if defined, indicates to the C program that it should
767 * include <dirent.h>. Using this symbol also triggers the definition
768 * of the Direntry_t define which ends up being 'struct dirent' or
769 * 'struct direct' depending on the availability of <dirent.h>.
770 */
771/* DIRNAMLEN:
772 * This symbol, if defined, indicates to the C program that the length
773 * of directory entry names is provided by a d_namlen field. Otherwise
774 * you need to do strlen() on the d_name field.
775 */
776/* Direntry_t:
777 * This symbol is set to 'struct direct' or 'struct dirent' depending on
778 * whether dirent is available or not. You should use this pseudo type to
779 * portably declare your directory entries.
780 */
781#define I_DIRENT /**/
782#define DIRNAMLEN /**/
783#define Direntry_t struct direct
784
785/* I_DLFCN:
786 * This symbol, if defined, indicates that <dlfcn.h> exists and should
787 * be included.
788 */
789#define I_DLFCN /**/
790
791/* I_FCNTL:
792 * This manifest constant tells the C program to include <fcntl.h>.
793 */
794#define I_FCNTL /**/
795
796/* I_FLOAT:
797 * This symbol, if defined, indicates to the C program that it should
798 * include <float.h> to get definition of symbols like DBL_MAX or
799 * DBL_MIN, i.e. machine dependent floating point values.
800 */
801#define I_FLOAT /**/
802
a835ef8a
NIS
803/* I_LIMITS:
804 * This symbol, if defined, indicates to the C program that it should
805 * include <limits.h> to get definition of symbols like WORD_BIT or
806 * LONG_MAX, i.e. machine dependant limitations.
807 */
808#define I_LIMITS /**/
809
924b3ec4
GS
810/* I_LOCALE:
811 * This symbol, if defined, indicates to the C program that it should
812 * include <locale.h>.
813 */
814#define I_LOCALE /**/
815
a835ef8a
NIS
816/* I_MATH:
817 * This symbol, if defined, indicates to the C program that it should
818 * include <math.h>.
819 */
820#define I_MATH /**/
821
822/* I_MEMORY:
823 * This symbol, if defined, indicates to the C program that it should
824 * include <memory.h>.
825 */
826/*#define I_MEMORY /**/
827
828/* I_NDBM:
829 * This symbol, if defined, indicates that <ndbm.h> exists and should
830 * be included.
831 */
832/*#define I_NDBM /**/
833
834/* I_NET_ERRNO:
835 * This symbol, if defined, indicates that <net/errno.h> exists and
836 * should be included.
837 */
838/*#define I_NET_ERRNO /**/
839
840/* I_NETINET_IN:
841 * This symbol, if defined, indicates to the C program that it should
842 * include <netinet/in.h>. Otherwise, you may try <sys/in.h>.
843 */
844/*#define I_NETINET_IN /**/
845
924b3ec4
GS
846/* I_SFIO:
847 * This symbol, if defined, indicates to the C program that it should
848 * include <sfio.h>.
849 */
850/*#define I_SFIO /**/
851
a835ef8a
NIS
852/* I_STDDEF:
853 * This symbol, if defined, indicates that <stddef.h> exists and should
854 * be included.
855 */
856#define I_STDDEF /**/
857
858/* I_STDLIB:
859 * This symbol, if defined, indicates that <stdlib.h> exists and should
860 * be included.
861 */
862#define I_STDLIB /**/
863
864/* I_STRING:
865 * This symbol, if defined, indicates to the C program that it should
866 * include <string.h> (USG systems) instead of <strings.h> (BSD systems).
867 */
868#define I_STRING /**/
869
870/* I_SYS_DIR:
871 * This symbol, if defined, indicates to the C program that it should
872 * include <sys/dir.h>.
873 */
874/*#define I_SYS_DIR /**/
875
876/* I_SYS_FILE:
877 * This symbol, if defined, indicates to the C program that it should
878 * include <sys/file.h> to get definition of R_OK and friends.
879 */
880/*#define I_SYS_FILE /**/
881
882/* I_SYS_IOCTL:
883 * This symbol, if defined, indicates that <sys/ioctl.h> exists and should
884 * be included. Otherwise, include <sgtty.h> or <termio.h>.
885 */
886/*#define I_SYS_IOCTL /**/
887
888/* I_SYS_NDIR:
889 * This symbol, if defined, indicates to the C program that it should
890 * include <sys/ndir.h>.
891 */
892/*#define I_SYS_NDIR /**/
893
894/* I_SYS_PARAM:
895 * This symbol, if defined, indicates to the C program that it should
896 * include <sys/param.h>.
897 */
898/*#define I_SYS_PARAM /**/
899
900/* I_SYS_RESOURCE:
901 * This symbol, if defined, indicates to the C program that it should
902 * include <sys/resource.h>.
903 */
904/*#define I_SYS_RESOURCE /**/
905
906/* I_SYS_SELECT:
907 * This symbol, if defined, indicates to the C program that it should
908 * include <sys/select.h> in order to get definition of struct timeval.
909 */
910/*#define I_SYS_SELECT /**/
911
924b3ec4
GS
912/* I_SYS_STAT:
913 * This symbol, if defined, indicates to the C program that it should
914 * include <sys/stat.h>.
915 */
916#define I_SYS_STAT /**/
917
a835ef8a
NIS
918/* I_SYS_TIMES:
919 * This symbol, if defined, indicates to the C program that it should
920 * include <sys/times.h>.
921 */
922/*#define I_SYS_TIMES /**/
923
be44fb0e
GS
924/* I_SYS_TYPES:
925 * This symbol, if defined, indicates to the C program that it should
926 * include <sys/types.h>.
927 */
928#define I_SYS_TYPES /**/
929
a835ef8a
NIS
930/* I_SYS_UN:
931 * This symbol, if defined, indicates to the C program that it should
932 * include <sys/un.h> to get UNIX domain socket definitions.
933 */
934/*#define I_SYS_UN /**/
935
936/* I_SYS_WAIT:
937 * This symbol, if defined, indicates to the C program that it should
938 * include <sys/wait.h>.
939 */
940/*#define I_SYS_WAIT /**/
941
942/* I_TERMIO:
943 * This symbol, if defined, indicates that the program should include
944 * <termio.h> rather than <sgtty.h>. There are also differences in
945 * the ioctl() calls that depend on the value of this symbol.
946 */
947/* I_TERMIOS:
948 * This symbol, if defined, indicates that the program should include
949 * the POSIX termios.h rather than sgtty.h or termio.h.
950 * There are also differences in the ioctl() calls that depend on the
951 * value of this symbol.
952 */
953/* I_SGTTY:
954 * This symbol, if defined, indicates that the program should include
955 * <sgtty.h> rather than <termio.h>. There are also differences in
956 * the ioctl() calls that depend on the value of this symbol.
957 */
958/*#define I_TERMIO /**/
959/*#define I_TERMIOS /**/
960/*#define I_SGTTY /**/
961
a835ef8a
NIS
962/* I_UNISTD:
963 * This symbol, if defined, indicates to the C program that it should
964 * include <unistd.h>.
965 */
966/*#define I_UNISTD /**/
967
968/* I_UTIME:
969 * This symbol, if defined, indicates to the C program that it should
970 * include <utime.h>.
971 */
972#define I_UTIME /**/
973
924b3ec4
GS
974/* I_VALUES:
975 * This symbol, if defined, indicates to the C program that it should
976 * include <values.h> to get definition of symbols like MINFLOAT or
977 * MAXLONG, i.e. machine dependant limitations. Probably, you
978 * should use <limits.h> instead, if it is available.
979 */
980/*#define I_VALUES /**/
981
a835ef8a
NIS
982/* I_STDARG:
983 * This symbol, if defined, indicates that <stdarg.h> exists and should
984 * be included.
985 */
986/* I_VARARGS:
987 * This symbol, if defined, indicates to the C program that it should
988 * include <varargs.h>.
989 */
990#define I_STDARG /**/
991/*#define I_VARARGS /**/
992
993/* I_VFORK:
994 * This symbol, if defined, indicates to the C program that it should
995 * include vfork.h.
996 */
997/*#define I_VFORK /**/
998
a835ef8a
NIS
999/* CAN_PROTOTYPE:
1000 * If defined, this macro indicates that the C compiler can handle
1001 * function prototypes.
1002 */
1003/* _:
1004 * This macro is used to declare function parameters for folks who want
1005 * to make declarations with prototypes using a different style than
1006 * the above macros. Use double parentheses. For example:
1007 *
1008 * int main _((int argc, char *argv[]));
1009 */
1010#define CAN_PROTOTYPE /**/
1011#ifdef CAN_PROTOTYPE
1012#define _(args) args
1013#else
1014#define _(args) ()
1015#endif
1016
924b3ec4
GS
1017/* SH_PATH:
1018 * This symbol contains the full pathname to the shell used on this
1019 * on this system to execute Bourne shell scripts. Usually, this will be
1020 * /bin/sh, though it's possible that some systems will have /bin/ksh,
1021 * /bin/pdksh, /bin/ash, /bin/bash, or even something such as
1022 * D:/bin/sh.exe.
a835ef8a 1023 */
924b3ec4 1024#define SH_PATH "cmd /x /c" /**/
a835ef8a 1025
a835ef8a
NIS
1026/* STDCHAR:
1027 * This symbol is defined to be the type of char used in stdio.h.
1028 * It has the values "unsigned char" or "char".
1029 */
1030#define STDCHAR char /**/
1031
327c3667
GS
1032/* HAS_ACCESSX:
1033 * This symbol, if defined, indicates that the accessx routine is
1034 * available to do extended access checks.
1035 */
1036/*#define HAS_ACCESSX /**/
1037
1038/* HAS_EACCESS:
1039 * This symbol, if defined, indicates that the eaccess routine is
1040 * available to do extended access checks.
1041 */
1042/*#define HAS_EACCESS /**/
1043
1044/* I_SYS_ACCESS:
1045 * This symbol, if defined, indicates to the C program that it should
104f9d64 1046 * include <sys/access.h>.
327c3667
GS
1047 */
1048/*#define I_SYS_ACCESS /**/
1049
1050/* I_SYS_SECURITY:
1051 * This symbol, if defined, indicates to the C program that it should
1052 * include <sys/security.h>.
1053 */
1054/*#define I_SYS_SECURITY /**/
1055
924b3ec4
GS
1056/* MEM_ALIGNBYTES:
1057 * This symbol contains the number of bytes required to align a
1058 * double. Usual values are 2, 4 and 8.
1059 * On NeXT starting with 3.2, you can build "Fat" Multiple Architecture
1060 * Binaries (MAB) for targets with varying alignment. This only matters
1061 * for perl, where the config.h can be generated and installed on one
1062 * system, and used by a different architecture to build an extension.
1063 * The default is eight, for safety.
a835ef8a 1064 */
924b3ec4 1065#define MEM_ALIGNBYTES 8 /**/
a835ef8a
NIS
1066
1067/* BYTEORDER:
1068 * This symbol holds the hexadecimal constant defined in byteorder,
1069 * i.e. 0x1234 or 0x4321, etc...
1070 * On NeXT 3.2 (and greater), you can build "Fat" Multiple Architecture
1071 * Binaries (MAB) on either big endian or little endian machines.
1072 * The endian-ness is available at compile-time. This only matters
1073 * for perl, where the config.h can be generated and installed on
1074 * one system, and used by a different architecture to build an
1075 * extension. Older versions of NeXT that might not have
1076 * defined either *_ENDIAN__ were all on Motorola 680x0 series,
1077 * so the default case (for NeXT) is big endian to catch them.
1078 * This might matter for NeXT 3.0.
1079 */
1080#ifndef NeXT
1081#define BYTEORDER 0x1234 /* large digits for MSB */
1082#else /* NeXT */
1083#ifdef __LITTLE_ENDIAN__
1084#define BYTEORDER 0x1234
1085#else /* __BIG_ENDIAN__ */
1086#define BYTEORDER 0x4321
1087#endif /* ENDIAN CHECK */
1088#endif /* NeXT */
1089
924b3ec4
GS
1090/* CASTI32:
1091 * This symbol is defined if the C compiler can cast negative
1092 * or large floating point numbers to 32-bit ints.
a835ef8a 1093 */
924b3ec4 1094#define CASTI32 /**/
a835ef8a 1095
924b3ec4
GS
1096/* CASTNEGFLOAT:
1097 * This symbol is defined if the C compiler can cast negative
1098 * numbers to unsigned longs, ints and shorts.
a835ef8a 1099 */
924b3ec4
GS
1100/* CASTFLAGS:
1101 * This symbol contains flags that say what difficulties the compiler
1102 * has casting odd floating values to unsigned long:
1103 * 0 = ok
1104 * 1 = couldn't cast < 0
1105 * 2 = couldn't cast >= 0x80000000
1106 * 4 = couldn't cast in argument expression list
a835ef8a 1107 */
924b3ec4
GS
1108#define CASTNEGFLOAT /**/
1109#define CASTFLAGS 0 /**/
1110
1111/* VOID_CLOSEDIR:
1112 * This symbol, if defined, indicates that the closedir() routine
1113 * does not return a value.
a835ef8a 1114 */
924b3ec4 1115/*#define VOID_CLOSEDIR /**/
a835ef8a 1116
c4d53692
GS
1117/* HAS_FD_SET:
1118 * This symbol, when defined, indicates presence of the fd_set typedef
1119 * in <sys/types.h>
1120 */
1121#define HAS_FD_SET /**/
1122
a835ef8a
NIS
1123/* Gconvert:
1124 * This preprocessor macro is defined to convert a floating point
1125 * number to a string without a trailing decimal point. This
1126 * emulates the behavior of sprintf("%g"), but is sometimes much more
1127 * efficient. If gconvert() is not available, but gcvt() drops the
1128 * trailing decimal point, then gcvt() is used. If all else fails,
1129 * a macro using sprintf("%g") is used. Arguments for the Gconvert
1130 * macro are: value, number of digits, whether trailing zeros should
1131 * be retained, and the output buffer.
1132 * Possible values are:
1133 * d_Gconvert='gconvert((x),(n),(t),(b))'
1134 * d_Gconvert='gcvt((x),(n),(b))'
1135 * d_Gconvert='sprintf((b),"%.*g",(n),(x))'
1136 * The last two assume trailing zeros should not be kept.
1137 */
1138#define Gconvert(x,n,t,b) sprintf((b),"%.*g",(n),(x))
1139
924b3ec4 1140/* HAS_GNULIBC:
a835ef8a 1141 * This symbol, if defined, indicates to the C program that
924b3ec4 1142 * the GNU C library is being used.
a835ef8a 1143 */
924b3ec4
GS
1144/*#define HAS_GNULIBC /**/
1145/* HAS_ISASCII:
1146 * This manifest constant lets the C program know that isascii
1147 * is available.
a835ef8a 1148 */
924b3ec4 1149#define HAS_ISASCII /**/
a835ef8a 1150
be44fb0e
GS
1151/* HAS_LCHOWN:
1152 * This symbol, if defined, indicates that the lchown routine is
1153 * available to operate on a symbolic link (instead of following the
1154 * link).
1155 */
1156/*#define HAS_LCHOWN /**/
1157
924b3ec4
GS
1158/* HAS_OPEN3:
1159 * This manifest constant lets the C program know that the three
1160 * argument form of open(2) is available.
a835ef8a 1161 */
924b3ec4 1162/*#define HAS_OPEN3 /**/
a835ef8a 1163
924b3ec4
GS
1164/* HAS_SAFE_BCOPY:
1165 * This symbol, if defined, indicates that the bcopy routine is available
1166 * to copy potentially overlapping memory blocks. Otherwise you should
1167 * probably use memmove() or memcpy(). If neither is defined, roll your
1168 * own version.
a835ef8a 1169 */
924b3ec4 1170/*#define HAS_SAFE_BCOPY /**/
a835ef8a 1171
924b3ec4
GS
1172/* HAS_SAFE_MEMCPY:
1173 * This symbol, if defined, indicates that the memcpy routine is available
1174 * to copy potentially overlapping memory blocks. Otherwise you should
1175 * probably use memmove() or memcpy(). If neither is defined, roll your
1176 * own version.
a835ef8a 1177 */
924b3ec4 1178/*#define HAS_SAFE_MEMCPY /**/
a835ef8a 1179
924b3ec4
GS
1180/* HAS_SANE_MEMCMP:
1181 * This symbol, if defined, indicates that the memcmp routine is available
1182 * and can be used to compare relative magnitudes of chars with their high
1183 * bits set. If it is not defined, roll your own version.
a835ef8a 1184 */
924b3ec4 1185#define HAS_SANE_MEMCMP /**/
a835ef8a 1186
924b3ec4
GS
1187/* HAS_SIGACTION:
1188 * This symbol, if defined, indicates that Vr4's sigaction() routine
1189 * is available.
fea7140c 1190 */
924b3ec4 1191/*#define HAS_SIGACTION /**/
fea7140c 1192
c4d53692
GS
1193/* HAS_SIGSETJMP:
1194 * This variable indicates to the C program that the sigsetjmp()
1195 * routine is available to save the calling process's registers
1196 * and stack environment for later use by siglongjmp(), and
1197 * to optionally save the process's signal mask. See
1198 * Sigjmp_buf, Sigsetjmp, and Siglongjmp.
1199 */
a835ef8a
NIS
1200/* Sigjmp_buf:
1201 * This is the buffer type to be used with Sigsetjmp and Siglongjmp.
1202 */
1203/* Sigsetjmp:
1204 * This macro is used in the same way as sigsetjmp(), but will invoke
1205 * traditional setjmp() if sigsetjmp isn't available.
1206 * See HAS_SIGSETJMP.
1207 */
1208/* Siglongjmp:
1209 * This macro is used in the same way as siglongjmp(), but will invoke
1210 * traditional longjmp() if siglongjmp isn't available.
1211 * See HAS_SIGSETJMP.
1212 */
1213/*#define HAS_SIGSETJMP /**/
1214#ifdef HAS_SIGSETJMP
1215#define Sigjmp_buf sigjmp_buf
1216#define Sigsetjmp(buf,save_mask) sigsetjmp((buf),(save_mask))
1217#define Siglongjmp(buf,retval) siglongjmp((buf),(retval))
1218#else
1219#define Sigjmp_buf jmp_buf
1220#define Sigsetjmp(buf,save_mask) setjmp((buf))
1221#define Siglongjmp(buf,retval) longjmp((buf),(retval))
1222#endif
1223
924b3ec4
GS
1224/* USE_STDIO_PTR:
1225 * This symbol is defined if the _ptr and _cnt fields (or similar)
1226 * of the stdio FILE structure can be used to access the stdio buffer
1227 * for a file handle. If this is defined, then the FILE_ptr(fp)
1228 * and FILE_cnt(fp) macros will also be defined and should be used
1229 * to access these fields.
a835ef8a 1230 */
924b3ec4
GS
1231/* FILE_ptr:
1232 * This macro is used to access the _ptr 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.
1235 */
1236/* STDIO_PTR_LVALUE:
1237 * This symbol is defined if the FILE_ptr macro can be used as an
1238 * lvalue.
1239 */
1240/* FILE_cnt:
1241 * This macro is used to access the _cnt field (or equivalent) of the
1242 * FILE structure pointed to by its argument. This macro will always be
1243 * defined if USE_STDIO_PTR is defined.
1244 */
1245/* STDIO_CNT_LVALUE:
1246 * This symbol is defined if the FILE_cnt macro can be used as an
1247 * lvalue.
1248 */
1249/*#define USE_STDIO_PTR /**/
1250#ifdef USE_STDIO_PTR
1251#define FILE_ptr(fp) ((fp)->_ptr)
1252#define STDIO_PTR_LVALUE /**/
1253#define FILE_cnt(fp) ((fp)->_cnt)
1254#define STDIO_CNT_LVALUE /**/
1255#endif
a835ef8a 1256
924b3ec4
GS
1257/* USE_STDIO_BASE:
1258 * This symbol is defined if the _base field (or similar) of the
1259 * stdio FILE structure can be used to access the stdio buffer for
1260 * a file handle. If this is defined, then the FILE_base(fp) macro
1261 * will also be defined and should be used to access this field.
1262 * Also, the FILE_bufsiz(fp) macro will be defined and should be used
1263 * to determine the number of bytes in the buffer. USE_STDIO_BASE
1264 * will never be defined unless USE_STDIO_PTR is.
a835ef8a 1265 */
924b3ec4
GS
1266/* FILE_base:
1267 * This macro is used to access the _base field (or equivalent) of the
1268 * FILE structure pointed to by its argument. This macro will always be
1269 * defined if USE_STDIO_BASE is defined.
a835ef8a 1270 */
924b3ec4
GS
1271/* FILE_bufsiz:
1272 * This macro is used to determine the number of bytes in the I/O
1273 * buffer pointed to by _base field (or equivalent) of the FILE
1274 * structure pointed to its argument. This macro will always be defined
1275 * if USE_STDIO_BASE is defined.
1276 */
1277/*#define USE_STDIO_BASE /**/
1278#ifdef USE_STDIO_BASE
1279#define FILE_base(fp) ((fp)->_base)
1280#define FILE_bufsiz(fp) ((fp)->_cnt + (fp)->_ptr - (fp)->_base)
1281#endif
a835ef8a 1282
924b3ec4
GS
1283/* HAS_VPRINTF:
1284 * This symbol, if defined, indicates that the vprintf routine is available
1285 * to printf with a pointer to an argument list. If unavailable, you
1286 * may need to write your own, probably in terms of _doprnt().
a835ef8a 1287 */
924b3ec4
GS
1288/* USE_CHAR_VSPRINTF:
1289 * This symbol is defined if this system has vsprintf() returning type
1290 * (char*). The trend seems to be to declare it as "int vsprintf()". It
1291 * is up to the package author to declare vsprintf correctly based on the
1292 * symbol.
1293 */
1294#define HAS_VPRINTF /**/
1295/*#define USE_CHAR_VSPRINTF /**/
a835ef8a 1296
07ba5892
GS
1297/* DOUBLESIZE:
1298 * This symbol contains the size of a double, so that the C preprocessor
1299 * can make decisions based on it.
1300 */
1301#define DOUBLESIZE 8 /**/
1302
924b3ec4 1303/* I_TIME:
a835ef8a 1304 * This symbol, if defined, indicates to the C program that it should
924b3ec4 1305 * include <time.h>.
a835ef8a 1306 */
924b3ec4 1307/* I_SYS_TIME:
a835ef8a 1308 * This symbol, if defined, indicates to the C program that it should
924b3ec4 1309 * include <sys/time.h>.
a835ef8a 1310 */
924b3ec4 1311/* I_SYS_TIME_KERNEL:
a835ef8a 1312 * This symbol, if defined, indicates to the C program that it should
924b3ec4 1313 * include <sys/time.h> with KERNEL defined.
a835ef8a 1314 */
924b3ec4
GS
1315#define I_TIME /**/
1316/*#define I_SYS_TIME /**/
1317/*#define I_SYS_TIME_KERNEL /**/
a835ef8a 1318
924b3ec4
GS
1319/* INTSIZE:
1320 * This symbol contains the value of sizeof(int) so that the C
1321 * preprocessor can make decisions based on it.
a835ef8a 1322 */
924b3ec4
GS
1323/* LONGSIZE:
1324 * This symbol contains the value of sizeof(long) so that the C
1325 * preprocessor can make decisions based on it.
a835ef8a 1326 */
924b3ec4
GS
1327/* SHORTSIZE:
1328 * This symbol contains the value of sizeof(short) so that the C
1329 * preprocessor can make decisions based on it.
1330 */
1331#define INTSIZE 4 /**/
1332#define LONGSIZE 4 /**/
1333#define SHORTSIZE 2 /**/
a835ef8a 1334
924b3ec4
GS
1335/* VAL_O_NONBLOCK:
1336 * This symbol is to be used during open() or fcntl(F_SETFL) to turn on
1337 * non-blocking I/O for the file descriptor. Note that there is no way
1338 * back, i.e. you cannot turn it blocking again this way. If you wish to
1339 * alternatively switch between blocking and non-blocking, use the
1340 * ioctl(FIOSNBIO) call instead, but that is not supported by all devices.
a835ef8a 1341 */
924b3ec4
GS
1342/* VAL_EAGAIN:
1343 * This symbol holds the errno error code set by read() when no data was
1344 * present on the non-blocking file descriptor.
1345 */
1346/* RD_NODATA:
1347 * This symbol holds the return code from read() when no data is present
1348 * on the non-blocking file descriptor. Be careful! If EOF_NONBLOCK is
1349 * not defined, then you can't distinguish between no data and EOF by
1350 * issuing a read(). You'll have to find another way to tell for sure!
1351 */
1352/* EOF_NONBLOCK:
1353 * This symbol, if defined, indicates to the C program that a read() on
1354 * a non-blocking file descriptor will return 0 on EOF, and not the value
1355 * held in RD_NODATA (-1 usually, in that case!).
1356 */
1357#define VAL_O_NONBLOCK O_NONBLOCK
1358#define VAL_EAGAIN EAGAIN
1359#define RD_NODATA -1
1360#define EOF_NONBLOCK
1361
07ba5892
GS
1362/* PTRSIZE:
1363 * This symbol contains the size of a pointer, so that the C preprocessor
1364 * can make decisions based on it. It will be sizeof(void *) if
1365 * the compiler supports (void *); otherwise it will be
1366 * sizeof(char *).
1367 */
1368#define PTRSIZE 4 /**/
1369
104f9d64
GS
1370/* Drand01:
1371 * This macro is to be used to generate uniformly distributed
1372 * random numbers over the range [0., 1.[. You may have to supply
1373 * an 'extern double drand48();' in your program since SunOS 4.1.3
1374 * doesn't provide you with anything relevant in it's headers.
1375 * See HAS_DRAND48_PROTO.
1376 */
1377/* Rand_seed_t:
1378 * This symbol defines the type of the argument of the
1379 * random seed function.
1380 */
1381/* seedDrand01:
1382 * This symbol defines the macro to be used in seeding the
1383 * random number generator (see Drand01).
1384 */
924b3ec4 1385/* RANDBITS:
104f9d64
GS
1386 * This symbol indicates how many bits are produced by the
1387 * function used to generate normalized random numbers.
1388 * Values include 15, 16, 31, and 48.
924b3ec4 1389 */
ce9935e0 1390#define Drand01() (rand()/(double)((unsigned)1<<RANDBITS)) /**/
104f9d64
GS
1391#define Rand_seed_t unsigned /**/
1392#define seedDrand01(x) srand((Rand_seed_t)x) /**/
1393#define RANDBITS 15 /**/
924b3ec4
GS
1394
1395/* SSize_t:
1396 * This symbol holds the type used by functions that return
1397 * a count of bytes or an error condition. It must be a signed type.
1398 * It is usually ssize_t, but may be long or int, etc.
1399 * It may be necessary to include <sys/types.h> or <unistd.h>
1400 * to get any typedef'ed information.
1401 * We will pick a type such that sizeof(SSize_t) == sizeof(Size_t).
1402 */
1403#define SSize_t int /* signed count of bytes */
a835ef8a 1404
327c3667
GS
1405/* EBCDIC:
1406 * This symbol, if defined, indicates that this system uses
1407 * EBCDIC encoding.
1408 */
1409/*#define EBCDIC /**/
1410
924b3ec4
GS
1411/* OSNAME:
1412 * This symbol contains the name of the operating system, as determined
1413 * by Configure. You shouldn't rely on it too much; the specific
1414 * feature tests from Configure are generally more reliable.
1415 */
1416#define OSNAME "MSWin32" /**/
1417
924b3ec4
GS
1418/* CAT2:
1419 * This macro catenates 2 tokens together.
1420 */
1421/* STRINGIFY:
1422 * This macro surrounds its token with double quotes.
1423 */
1424#if 42 == 1
1425#define CAT2(a,b)a/**/b
1426#define STRINGIFY(a)"a"
1427 /* If you can get stringification with catify, tell me how! */
1428#endif
1429#if 42 == 42
1430#define CAT2(a,b)a ## b
1431#define StGiFy(a)# a
1432#define STRINGIFY(a)StGiFy(a)
1433#endif
1434#if 42 != 1 && 42 != 42
1435#include "Bletch: How does this C preprocessor catenate tokens?"
1436#endif
1437
104f9d64
GS
1438/* CPPSTDIN:
1439 * This symbol contains the first part of the string which will invoke
1440 * the C preprocessor on the standard input and produce to standard
1441 * output. Typical value of "cc -E" or "/lib/cpp", but it can also
1442 * call a wrapper. See CPPRUN.
1443 */
1444/* CPPMINUS:
1445 * This symbol contains the second part of the string which will invoke
1446 * the C preprocessor on the standard input and produce to standard
1447 * output. This symbol will have the value "-" if CPPSTDIN needs a minus
1448 * to specify standard input, otherwise the value is "".
1449 */
c4d53692
GS
1450/* CPPRUN:
1451 * This symbol contains the string which will invoke a C preprocessor on
1452 * the standard input and produce to standard output. It needs to end
1453 * with CPPLAST, after all other preprocessor flags have been specified.
1454 * The main difference with CPPSTDIN is that this program will never be a
1455 * pointer to a shell wrapper, i.e. it will be empty if no preprocessor is
1456 * available directly to the user. Note that it may well be different from
1457 * the preprocessor used to compile the C program.
1458 */
104f9d64
GS
1459#define CPPSTDIN "gcc -E"
1460#define CPPMINUS "-"
c4d53692 1461#define CPPRUN "gcc -E"
104f9d64 1462
327c3667
GS
1463/* HAS_ACCESS:
1464 * This manifest constant lets the C program know that the access()
1465 * system call is available to check for accessibility using real UID/GID.
1466 * (always present on UNIX.)
1467 */
1468#define HAS_ACCESS /**/
1469
c4d53692
GS
1470/* HAS_CSH:
1471 * This symbol, if defined, indicates that the C-shell exists.
1472 */
924b3ec4 1473/* CSH:
0cd52aa3 1474 * This symbol, if defined, contains the full pathname of csh.
a835ef8a 1475 */
0cd52aa3
GS
1476/*#define HAS_CSH /**/
1477#ifdef HAS_CSH
1478#define CSH "" /**/
1479#endif
1480
327c3667
GS
1481/* HAS_ENDGRENT:
1482 * This symbol, if defined, indicates that the getgrent routine is
1483 * available for finalizing sequential access of the group database.
1484 */
1485/*#define HAS_ENDGRENT /**/
1486
0cd52aa3
GS
1487/* HAS_ENDHOSTENT:
1488 * This symbol, if defined, indicates that the endhostent() routine is
1489 * available to close whatever was being used for host queries.
1490 */
1491/*#define HAS_ENDHOSTENT /**/
1492
1493/* HAS_ENDNETENT:
1494 * This symbol, if defined, indicates that the endnetent() routine is
1495 * available to close whatever was being used for network queries.
1496 */
1497/*#define HAS_ENDNETENT /**/
1498
1499/* HAS_ENDPROTOENT:
1500 * This symbol, if defined, indicates that the endprotoent() routine is
1501 * available to close whatever was being used for protocol queries.
1502 */
1503/*#define HAS_ENDPROTOENT /**/
1504
327c3667
GS
1505/* HAS_ENDPWENT:
1506 * This symbol, if defined, indicates that the getgrent routine is
1507 * available for finalizing sequential access of the passwd database.
1508 */
1509/*#define HAS_ENDPWENT /**/
1510
0cd52aa3
GS
1511/* HAS_ENDSERVENT:
1512 * This symbol, if defined, indicates that the endservent() routine is
1513 * available to close whatever was being used for service queries.
1514 */
1515/*#define HAS_ENDSERVENT /**/
924b3ec4 1516
327c3667
GS
1517/* HAS_GETGRENT:
1518 * This symbol, if defined, indicates that the getgrent routine is
1519 * available for sequential access of the group database.
1520 */
1521/*#define HAS_GETGRENT /**/
1522
07ba5892
GS
1523/* HAS_GETHOSTBYADDR:
1524 * This symbol, if defined, indicates that the gethostbyaddr() routine is
1525 * available to look up hosts by their IP addresses.
1526 */
1527#define HAS_GETHOSTBYADDR /**/
1528
1529/* HAS_GETHOSTBYNAME:
1530 * This symbol, if defined, indicates that the gethostbyname() routine is
1531 * available to look up host names in some data base or other.
1532 */
1533#define HAS_GETHOSTBYNAME /**/
1534
1535/* HAS_GETHOSTENT:
1536 * This symbol, if defined, indicates that the gethostent() routine is
1537 * available to look up host names in some data base or another.
1538 */
1539/*#define HAS_GETHOSTENT /**/
1540
1541/* HAS_GETNETBYADDR:
1542 * This symbol, if defined, indicates that the getnetbyaddr() routine is
1543 * available to look up networks by their IP addresses.
1544 */
1545/*#define HAS_GETNETBYADDR /**/
1546
1547/* HAS_GETNETBYNAME:
1548 * This symbol, if defined, indicates that the getnetbyname() routine is
1549 * available to look up networks by their names.
1550 */
1551/*#define HAS_GETNETBYNAME /**/
1552
0cd52aa3
GS
1553/* HAS_GETNETENT:
1554 * This symbol, if defined, indicates that the getnetent() routine is
1555 * available to look up network names in some data base or another.
1556 */
1557/*#define HAS_GETNETENT /**/
1558
1559/* HAS_GETPROTOENT:
1560 * This symbol, if defined, indicates that the getprotoent() routine is
1561 * available to look up protocols in some data base or another.
1562 */
1563/*#define HAS_GETPROTOENT /**/
1564
07ba5892
GS
1565/* HAS_GETPROTOBYNAME:
1566 * This symbol, if defined, indicates that the getprotobyname()
1567 * routine is available to look up protocols by their name.
1568 */
1569/* HAS_GETPROTOBYNUMBER:
1570 * This symbol, if defined, indicates that the getprotobynumber()
1571 * routine is available to look up protocols by their number.
1572 */
1573#define HAS_GETPROTOBYNAME /**/
1574#define HAS_GETPROTOBYNUMBER /**/
1575
327c3667
GS
1576/* HAS_GETPWENT:
1577 * This symbol, if defined, indicates that the getpwent routine is
1578 * available for sequential access of the passwd database.
1579 * If this is not available, the older getpw() function may be available.
1580 */
1581/*#define HAS_GETPWENT /**/
1582
0cd52aa3
GS
1583/* HAS_GETSERVENT:
1584 * This symbol, if defined, indicates that the getservent() routine is
1585 * available to look up network services in some data base or another.
1586 */
1587/*#define HAS_GETSERVENT /**/
1588
07ba5892
GS
1589/* HAS_GETSERVBYNAME:
1590 * This symbol, if defined, indicates that the getservbyname()
1591 * routine is available to look up services by their name.
1592 */
1593/* HAS_GETSERVBYPORT:
1594 * This symbol, if defined, indicates that the getservbyport()
1595 * routine is available to look up services by their port.
1596 */
1597#define HAS_GETSERVBYNAME /**/
1598#define HAS_GETSERVBYPORT /**/
1599
327c3667
GS
1600/* HAS_HTONL:
1601 * This symbol, if defined, indicates that the htonl() routine (and
1602 * friends htons() ntohl() ntohs()) are available to do network
1603 * order byte swapping.
1604 */
1605/* HAS_HTONS:
1606 * This symbol, if defined, indicates that the htons() routine (and
1607 * friends htonl() ntohl() ntohs()) are available to do network
1608 * order byte swapping.
1609 */
1610/* HAS_NTOHL:
1611 * This symbol, if defined, indicates that the ntohl() routine (and
1612 * friends htonl() htons() ntohs()) are available to do network
1613 * order byte swapping.
1614 */
1615/* HAS_NTOHS:
1616 * This symbol, if defined, indicates that the ntohs() routine (and
1617 * friends htonl() htons() ntohl()) are available to do network
1618 * order byte swapping.
1619 */
1620#define HAS_HTONL /**/
1621#define HAS_HTONS /**/
1622#define HAS_NTOHL /**/
1623#define HAS_NTOHS /**/
1624
0cd52aa3
GS
1625/* HAS_LONG_DOUBLE:
1626 * This symbol will be defined if the C compiler supports long
1627 * doubles.
1628 */
1629/* LONG_DOUBLESIZE:
1630 * This symbol contains the size of a long double, so that the
1631 * C preprocessor can make decisions based on it. It is only
1632 * defined if the system supports long doubles.
1633 */
1634#define HAS_LONG_DOUBLE /**/
1635#ifdef HAS_LONG_DOUBLE
1636#define LONG_DOUBLESIZE 12 /**/
1637#endif
1638
bdaec6b3 1639/* HAS_LONG_LONG:
327c3667 1640 * This symbol will be defined if the C compiler supports long long.
bdaec6b3
GS
1641 */
1642/* LONGLONGSIZE:
1643 * This symbol contains the size of a long long, so that the
1644 * C preprocessor can make decisions based on it. It is only
1645 * defined if the system supports long long.
1646 */
1647/*#define HAS_LONG_LONG /**/
1648#ifdef HAS_LONG_LONG
1649#define LONGLONGSIZE 8 /**/
1650#endif
1651
c4d53692
GS
1652/* HAS_MMAP:
1653 * This symbol, if defined, indicates that the mmap system call is
1654 * available to map a file into memory.
1655 */
1656/* Mmap_t:
1657 * This symbol holds the return type of the mmap() system call
1658 * (and simultaneously the type of the first argument).
1659 * Usually set to 'void *' or 'cadd_t'.
1660 */
1661/*#define HAS_MMAP /**/
1662#define Mmap_t void * /**/
1663
327c3667
GS
1664/* HAS_MSG:
1665 * This symbol, if defined, indicates that the entire msg*(2) library is
1666 * supported (IPC mechanism based on message queues).
1667 */
1668/*#define HAS_MSG /**/
1669
1670/* HAS_SEM:
1671 * This symbol, if defined, indicates that the entire sem*(2) library is
1672 * supported.
1673 */
1674/*#define HAS_SEM /**/
1675
1676/* HAS_SETGRENT:
1677 * This symbol, if defined, indicates that the setgrent routine is
1678 * available for initializing sequential access of the group database.
1679 */
1680/*#define HAS_SETGRENT /**/
1681
924b3ec4
GS
1682/* HAS_SETGROUPS:
1683 * This symbol, if defined, indicates that the setgroups() routine is
1684 * available to set the list of process groups. If unavailable, multiple
1685 * groups are probably not supported.
a835ef8a 1686 */
924b3ec4
GS
1687/*#define HAS_SETGROUPS /**/
1688
07ba5892
GS
1689/* HAS_SETHOSTENT:
1690 * This symbol, if defined, indicates that the sethostent() routine is
1691 * available.
1692 */
1693/*#define HAS_SETHOSTENT /**/
1694
0cd52aa3
GS
1695/* HAS_SETNETENT:
1696 * This symbol, if defined, indicates that the setnetent() routine is
1697 * available.
1698 */
1699/*#define HAS_SETNETENT /**/
1700
1701/* HAS_SETPROTOENT:
1702 * This symbol, if defined, indicates that the setprotoent() routine is
1703 * available.
1704 */
1705/*#define HAS_SETPROTOENT /**/
1706
327c3667
GS
1707/* HAS_SETPWENT:
1708 * This symbol, if defined, indicates that the setpwent routine is
1709 * available for initializing sequential access of the passwd database.
1710 */
1711/*#define HAS_SETPWENT /**/
1712
0cd52aa3
GS
1713/* HAS_SETSERVENT:
1714 * This symbol, if defined, indicates that the setservent() routine is
1715 * available.
1716 */
1717/*#define HAS_SETSERVENT /**/
1718
1719/* HAS_SETVBUF:
1720 * This symbol, if defined, indicates that the setvbuf routine is
1721 * available to change buffering on an open stdio stream.
1722 * to a line-buffered mode.
1723 */
1724#define HAS_SETVBUF /**/
1725
327c3667
GS
1726/* HAS_SHM:
1727 * This symbol, if defined, indicates that the entire shm*(2) library is
1728 * supported.
1729 */
1730/*#define HAS_SHM /**/
1731
bdaec6b3
GS
1732/* HAS_SOCKET:
1733 * This symbol, if defined, indicates that the BSD socket interface is
1734 * supported.
1735 */
1736/* HAS_SOCKETPAIR:
1737 * This symbol, if defined, indicates that the BSD socketpair() call is
1738 * supported.
1739 */
c4d53692
GS
1740/* HAS_MSG_CTRUNC:
1741 * This symbol, if defined, indicates that the MSG_CTRUNC is supported.
1742 * Checking just with #ifdef might not be enough because this symbol
1743 * has been known to be an enum.
1744 */
1745/* HAS_MSG_DONTROUTE:
1746 * This symbol, if defined, indicates that the MSG_DONTROUTE is supported.
1747 * Checking just with #ifdef might not be enough because this symbol
1748 * has been known to be an enum.
1749 */
1750/* HAS_MSG_OOB:
1751 * This symbol, if defined, indicates that the MSG_OOB is supported.
1752 * Checking just with #ifdef might not be enough because this symbol
1753 * has been known to be an enum.
1754 */
1755/* HAS_MSG_PEEK:
1756 * This symbol, if defined, indicates that the MSG_PEEK is supported.
1757 * Checking just with #ifdef might not be enough because this symbol
1758 * has been known to be an enum.
1759 */
1760/* HAS_MSG_PROXY:
1761 * This symbol, if defined, indicates that the MSG_PROXY is supported.
1762 * Checking just with #ifdef might not be enough because this symbol
1763 * has been known to be an enum.
1764 */
1765/* HAS_SCM_RIGHTS:
1766 * This symbol, if defined, indicates that the SCM_RIGHTS is supported.
1767 * Checking just with #ifdef might not be enough because this symbol
1768 * has been known to be an enum.
1769 */
1770/* HAS_SENDMSG:
1771 * This symbol, if defined, indicates that the sendmsg is supported
1772 * to send messages between sockets. You will also need struct
1773 * iovec from <sys/uio.h>, HAS_STRUCT_IOVEC and I_SYSUIO.
1774 */
1775/* HAS_RECVMSG:
1776 * This symbol, if defined, indicates that the recvmsg is supported
1777 * to send messages between sockets. You will also need struct
1778 * iovec from <sys/uio.h>, HAS_STRUCT_IOVEC and I_SYSUIO.
1779 */
1780/* HAS_STRUCT_MSGHDR:
1781 * This symbol, if defined, indicates that the struct msghdr
1782 * (BSD 4.3 or 4.4) is supported. You will also need struct
1783 * iovec from <sys/uio.h>, HAS_STRUCT_IOVEC and I_SYSUIO.
1784 */
1785/* HAS_STRUCT_CMSGHDR:
1786 * This symbol, if defined, indicates that the struct cmsghdr
1787 * (BSD 4.4) is supported. You will also need struct
1788 * iovec from <sys/uio.h>, HAS_STRUCT_IOVEC and I_SYSUIO.
1789 */
1790#define HAS_SOCKET /**/
1791/*#define HAS_SOCKETPAIR /**/
1792/*#define HAS_MSG_CTRUNC /**/
1793/*#define HAS_MSG_DONTROUTE /**/
1794/*#define HAS_MSG_OOB /**/
1795/*#define HAS_MSG_PEEK /**/
1796/*#define HAS_MSG_PROXY /**/
1797/*#define HAS_SCM_RIGHTS /**/
1798/*#define HAS_SENDMSG /**/
1799/*#define HAS_RECVMSG /**/
1800/*#define HAS_STRUCT_MSGHDR /**/
1801/*#define HAS_STRUCT_CMSGHDR /**/
bdaec6b3 1802
327c3667
GS
1803/* USE_STAT_BLOCKS:
1804 * This symbol is defined if this system has a stat structure declaring
1805 * st_blksize and st_blocks.
1806 */
104f9d64 1807/*#define USE_STAT_BLOCKS /**/
327c3667
GS
1808
1809/* HAS_STRERROR:
1810 * This symbol, if defined, indicates that the strerror routine is
1811 * available to translate error numbers to strings. See the writeup
1812 * of Strerror() in this file before you try to define your own.
1813 */
1814/* HAS_SYS_ERRLIST:
1815 * This symbol, if defined, indicates that the sys_errlist array is
1816 * available to translate error numbers to strings. The extern int
1817 * sys_nerr gives the size of that table.
1818 */
1819/* Strerror:
1820 * This preprocessor symbol is defined as a macro if strerror() is
1821 * not available to translate error numbers to strings but sys_errlist[]
1822 * array is there.
1823 */
1824#define HAS_STRERROR /**/
1825#define HAS_SYS_ERRLIST /**/
1826#define Strerror(e) strerror(e)
1827
be44fb0e
GS
1828/* HAS_UNION_SEMUN:
1829 * This symbol, if defined, indicates that the union semun is
1830 * defined by including <sys/sem.h>. If not, the user code
1831 * probably needs to define it as:
1832 * union semun {
1833 * int val;
1834 * struct semid_ds *buf;
1835 * unsigned short *array;
1836 * }
1837 */
1838/* USE_SEMCTL_SEMUN:
1839 * This symbol, if defined, indicates that union semun is
1840 * used for semctl IPC_STAT.
1841 */
1842/* USE_SEMCTL_SEMID_DS:
1843 * This symbol, if defined, indicates that struct semid_ds * is
1844 * used for semctl IPC_STAT.
1845 */
1846#define HAS_UNION_SEMUN /**/
1847/*#define USE_SEMCTL_SEMUN /**/
1848/*#define USE_SEMCTL_SEMID_DS /**/
1849
924b3ec4
GS
1850/* Signal_t:
1851 * This symbol's value is either "void" or "int", corresponding to the
1852 * appropriate return type of a signal handler. Thus, you can declare
1853 * a signal handler using "Signal_t (*handler)()", and define the
1854 * handler using "Signal_t handler(sig)".
1855 */
1856#define Signal_t void /* Signal handler's return type */
1857
1858/* Groups_t:
1859 * This symbol holds the type used for the second argument to
1860 * getgroups() and setgropus(). Usually, this is the same as
1861 * gidtype (gid_t) , but sometimes it isn't.
1862 * It can be int, ushort, uid_t, etc...
1863 * It may be necessary to include <sys/types.h> to get any
1864 * typedef'ed information. This is only required if you have
1865 * getgroups() or setgropus()..
1866 */
1867#if defined(HAS_GETGROUPS) || defined(HAS_SETGROUPS)
1868#define Groups_t gid_t /* Type for 2nd arg to [sg]etgroups() */
1869#endif
1870
327c3667
GS
1871/* I_GRP:
1872 * This symbol, if defined, indicates to the C program that it should
1873 * include <grp.h>.
1874 */
1875/* GRPASSWD:
1876 * This symbol, if defined, indicates to the C program that struct group
1877 * in <grp.h> contains gr_passwd.
1878 */
1879/*#define I_GRP /**/
1880/*#define GRPASSWD /**/
1881
924b3ec4
GS
1882/* I_NETDB:
1883 * This symbol, if defined, indicates that <netdb.h> exists and
1884 * should be included.
1885 */
1886/*#define I_NETDB /**/
a835ef8a 1887
62520c91
GS
1888/* I_PWD:
1889 * This symbol, if defined, indicates to the C program that it should
1890 * include <pwd.h>.
1891 */
1892/* PWQUOTA:
1893 * This symbol, if defined, indicates to the C program that struct passwd
1894 * contains pw_quota.
1895 */
1896/* PWAGE:
1897 * This symbol, if defined, indicates to the C program that struct passwd
1898 * contains pw_age.
1899 */
1900/* PWCHANGE:
1901 * This symbol, if defined, indicates to the C program that struct passwd
1902 * contains pw_change.
1903 */
1904/* PWCLASS:
1905 * This symbol, if defined, indicates to the C program that struct passwd
1906 * contains pw_class.
1907 */
1908/* PWEXPIRE:
1909 * This symbol, if defined, indicates to the C program that struct passwd
1910 * contains pw_expire.
1911 */
1912/* PWCOMMENT:
1913 * This symbol, if defined, indicates to the C program that struct passwd
1914 * contains pw_comment.
1915 */
1916/* PWGECOS:
1917 * This symbol, if defined, indicates to the C program that struct passwd
1918 * contains pw_gecos.
1919 */
28e8609d
JH
1920/* PWPASSWD:
1921 * This symbol, if defined, indicates to the C program that struct passwd
1922 * contains pw_passwd.
1923 */
62520c91
GS
1924/*#define I_PWD /**/
1925/*#define PWQUOTA /**/
1926/*#define PWAGE /**/
1927/*#define PWCHANGE /**/
1928/*#define PWCLASS /**/
1929/*#define PWEXPIRE /**/
1930/*#define PWCOMMENT /**/
1931/*#define PWGECOS /**/
28e8609d 1932/*#define PWPASSWD /**/
62520c91 1933
c4d53692
GS
1934/* I_SYSUIO:
1935 * This symbol, if defined, indicates that <sys/uio.h> exists and
1936 * should be included.
1937 */
1938/*#define I_SYSUIO /**/
1939
9036c72f
GS
1940/* Free_t:
1941 * This variable contains the return type of free(). It is usually
1942 * void, but occasionally int.
a835ef8a 1943 */
9036c72f
GS
1944/* Malloc_t:
1945 * This symbol is the type of pointer returned by malloc and realloc.
1946 */
1947#define Malloc_t void * /**/
1948#define Free_t void /**/
1949
1950/* MYMALLOC:
1951 * This symbol, if defined, indicates that we're using our own malloc.
a835ef8a 1952 */
9036c72f 1953/*#define MYMALLOC /**/
a835ef8a 1954
62520c91
GS
1955/* SIG_NAME:
1956 * This symbol contains a list of signal names in order of
1957 * signal number. This is intended
1958 * to be used as a static array initialization, like this:
1959 * char *sig_name[] = { SIG_NAME };
1960 * The signals in the list are separated with commas, and each signal
1961 * is surrounded by double quotes. There is no leading SIG in the signal
1962 * name, i.e. SIGQUIT is known as "QUIT".
1963 * Gaps in the signal numbers (up to NSIG) are filled in with NUMnn,
1964 * etc., where nn is the actual signal number (e.g. NUM37).
1965 * The signal number for sig_name[i] is stored in sig_num[i].
1966 * The last element is 0 to terminate the list with a NULL. This
1967 * corresponds to the 0 at the end of the sig_num list.
1968 */
1969/* SIG_NUM:
1970 * This symbol contains a list of signal numbers, in the same order as the
1971 * SIG_NAME list. It is suitable for static array initialization, as in:
1972 * int sig_num[] = { SIG_NUM };
1973 * The signals in the list are separated with commas, and the indices
1974 * within that list and the SIG_NAME list match, so it's easy to compute
1975 * the signal name from a number or vice versa at the price of a small
1976 * dynamic linear lookup.
1977 * Duplicates are allowed, but are moved to the end of the list.
1978 * The signal number corresponding to sig_name[i] is sig_number[i].
1979 * if (i < NSIG) then sig_number[i] == i.
1980 * The last element is 0, corresponding to the 0 at the end of
1981 * the sig_name list.
1982 */
46124e9e 1983#define SIG_NAME "ZERO", "NUM01", "INT", "QUIT", "ILL", "NUM05", "NUM06", "NUM07", "FPE", "KILL", "NUM10", "SEGV", "NUM12", "PIPE", "ALRM", "TERM", "NUM16", "NUM17", "NUM18", "NUM19", "CHLD", "BREAK", "ABRT", "STOP", "NUM24", "CONT", "CLD", 0 /**/
22c35a8c 1984#define SIG_NUM 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 20, 0 /**/
62520c91 1985
9036c72f
GS
1986/* VOIDFLAGS:
1987 * This symbol indicates how much support of the void type is given by this
1988 * compiler. What various bits mean:
1989 *
1990 * 1 = supports declaration of void
1991 * 2 = supports arrays of pointers to functions returning void
1992 * 4 = supports comparisons between pointers to void functions and
1993 * addresses of void functions
1994 * 8 = suports declaration of generic void pointers
1995 *
1996 * The package designer should define VOIDUSED to indicate the requirements
1997 * of the package. This can be done either by #defining VOIDUSED before
1998 * including config.h, or by defining defvoidused in Myinit.U. If the
1999 * latter approach is taken, only those flags will be tested. If the
2000 * level of void support necessary is not present, defines void to int.
a835ef8a 2001 */
9036c72f
GS
2002#ifndef VOIDUSED
2003#define VOIDUSED 15
2004#endif
2005#define VOIDFLAGS 15
2006#if (VOIDFLAGS & VOIDUSED) != VOIDUSED
2007#define void int /* is void to be avoided? */
2008#define M_VOID /* Xenix strikes again */
2009#endif
a835ef8a 2010
9036c72f
GS
2011/* ARCHLIB:
2012 * This variable, if defined, holds the name of the directory in
2013 * which the user wants to put architecture-dependent public
2014 * library files for perl5. It is most often a local directory
2015 * such as /usr/local/lib. Programs using this variable must be
2016 * prepared to deal with filename expansion. If ARCHLIB is the
2017 * same as PRIVLIB, it is not defined, since presumably the
2018 * program already searches PRIVLIB.
a835ef8a 2019 */
9036c72f
GS
2020/* ARCHLIB_EXP:
2021 * This symbol contains the ~name expanded version of ARCHLIB, to be used
a835ef8a
NIS
2022 * in programs that are not prepared to deal with ~ expansion at run-time.
2023 */
642c2561 2024#define ARCHLIB "c:\\perl\\5.00556\\lib\\MSWin32-x86" /**/
9036c72f 2025/*#define ARCHLIB_EXP "" /**/
a835ef8a 2026
924b3ec4
GS
2027/* DLSYM_NEEDS_UNDERSCORE:
2028 * This symbol, if defined, indicates that we need to prepend an
2029 * underscore to the symbol name before calling dlsym(). This only
2030 * makes sense if you *have* dlsym, which we will presume is the
2031 * case if you're using dl_dlopen.xs.
2032 */
2033/*#define DLSYM_NEEDS_UNDERSCORE /**/
2034
327c3667
GS
2035/* HAS_FSEEKO:
2036 * This symbol, if defined, indicates that the fseeko routine is
2037 * available to fseek beyond 32 bits (useful for ILP32 hosts).
2038 */
2039/*#define HAS_FSEEKO /**/
2040
2041/* HAS_FTELLO:
2042 * This symbol, if defined, indicates that the ftello routine is
2043 * available to ftell from beyond 32 bits (useful for ILP32 hosts).
2044 */
2045/*#define HAS_FTELLO /**/
2046
c4d53692
GS
2047/* HAS_MADVISE:
2048 * This symbol, if defined, indicates that the madvise system call is
2049 * available to map a file into memory.
2050 */
2051/*#define HAS_MADVISE /**/
2052
2053/* HAS_MPROTECT:
2054 * This symbol, if defined, indicates that the mprotect system call is
2055 * available to modify the access protection of a memory mapped file.
2056 */
2057/*#define HAS_MPROTECT /**/
2058
d31f3823
JH
2059/* MULTIARCH:
2060 * This symbol, if defined, indicates that we have a multiarchitecture
2061 * build.
2062 */
2063/*#define MULTIARCH /**/
2064
2065/* CROSSCOMPILE:
2066 * This symbol, if defined, indicates that we have a cross-compile
2067 * build.
2068 */
2069/*#define MULTIARCH /**/
2070
c4d53692
GS
2071/* HAS_READV:
2072 * This symbol, if defined, indicates that the readv routine is
2073 * available to do gather reads. You will also need <sys/uio.h>
2074 * and there I_SYSUIO.
2075 */
2076/*#define HAS_READV /**/
2077
924b3ec4
GS
2078/* USE_SFIO:
2079 * This symbol, if defined, indicates that sfio should
2080 * be used.
2081 */
2082/*#define USE_SFIO /**/
2083
c4d53692
GS
2084/* HAS_FSTATFS:
2085 * This symbol, if defined, indicates that the fstatfs routine is
2086 * available to do stat filesystems of file descriptors.
2087 */
2088/* HAS_STRUCT_STATFS_FLAGS:
2089 * This symbol, if defined, indicates that the struct statfs
2090 * does have the f_flags member containing the mount flags of
2091 * the filesystem holding the file.
2092 * This kind of struct statfs is coming from sys/mount.h (BSD)
2093 * and not from sys/statfs.h (SYSV).
2094 */
2095/*#define HAS_FSTATFS /**/
2096/*#define HAS_STRUCT_STATFS_FLAGS /**/
2097
2098/* HAS_FSTATVFS:
2099 * This symbol, if defined, indicates that the fstatvfs routine is
2100 * available to do stat filesystems of file descriptors.
2101 */
2102/*#define HAS_FSTATVFS /**/
2103
2104/* HAS_TELLDIR_PROTO:
2105 * This symbol, if defined, indicates that the system provides
2106 * a prototype for the telldir() function. Otherwise, it is up
2107 * to the program to supply one. A good guess is
2108 * extern long telldir _((DIR*));
2109 */
2110#define HAS_TELLDIR_PROTO /**/
2111
2112/* HAS_WRITEV:
2113 * This symbol, if defined, indicates that the writev routine is
2114 * available to do scatter writes.
2115 */
2116/*#define HAS_WRITEV /**/
2117
327c3667
GS
2118/* HAS_DBMINIT64:
2119 * This symbol, if defined, indicates that the dbminit64 routine is
2120 * available to open dbm files larger than 2 gigabytes.
2121 */
2122/* HAS_DBMCLOSE64:
2123 * This symbol, if defined, indicates that the dbmclose64 routine is
2124 * available to close dbm files larger than 2 gigabytes.
2125 */
2126/* HAS_FETCH64:
2127 * This symbol, if defined, indicates that the fetch64 routine is
2128 * available to fetch from dbm files larger than 2 gigabytes.
2129 */
2130/* HAS_STORE64:
2131 * This symbol, if defined, indicates that the store64 routine is
2132 * available to store to dbm files larger than 2 gigabytes.
2133 */
2134/* HAS_DELETE64:
2135 * This symbol, if defined, indicates that the delete64 routine is
2136 * available to delete from dbm files larger than 2 gigabytes.
2137 */
2138/* HAS_FIRSTKEY64:
2139 * This symbol, if defined, indicates that the firstkey64 routine is
2140 * available to firstkey in dbm files larger than 2 gigabytes.
2141 */
2142/* HAS_NEXTKEY64:
2143 * This symbol, if defined, indicates that the nextkey64 routine is
2144 * available to nextkey in dbm files larger than 2 gigabytes.
2145 */
2146/*#define HAS_DBMINIT64 /**/
2147/*#define HAS_DBMCLOSE64 /**/
2148/*#define HAS_FETCH64 /**/
2149/*#define HAS_STORE64 /**/
2150/*#define HAS_DELETE64 /**/
2151/*#define HAS_FIRSTKEY64 /**/
2152/*#define HAS_NEXTKEY64 /**/
2153
924b3ec4
GS
2154/* USE_DYNAMIC_LOADING:
2155 * This symbol, if defined, indicates that dynamic loading of
2156 * some sort is available.
2157 */
2158#define USE_DYNAMIC_LOADING /**/
2159
2160/* DB_Prefix_t:
2161 * This symbol contains the type of the prefix structure element
2162 * in the <db.h> header file. In older versions of DB, it was
2163 * int, while in newer ones it is u_int32_t.
2164 */
2165/* DB_Hash_t:
2166 * This symbol contains the type of the prefix structure element
2167 * in the <db.h> header file. In older versions of DB, it was
2168 * int, while in newer ones it is size_t.
2169 */
2170#define DB_Hash_t int /**/
2171#define DB_Prefix_t int /**/
2172
327c3667
GS
2173/* I_INTTYPES:
2174 * This symbol, if defined, indicates to the C program that it should
2175 * include <inttypes.h>.
2176 */
2177/* HAS_INT64_T:
2178 * This symbol will defined if the C compiler supports int64_t.
2179 * Usually the <inttypes.h> needs to be included, but sometimes
2180 * <sys/types.h> is enough.
2181 */
2182/*#define I_INTTYPES /**/
2183/*#define HAS_INT64_T /**/
2184
c4d53692
GS
2185/* I_MNTENT:
2186 * This symbol, if defined, indicates that <mntent.h> exists and
2187 * should be included.
2188 */
2189/*#define I_MNTENT /**/
2190
2191/* I_POLL:
2192 * This symbol, if defined, indicates that <poll.h> exists and
2193 * should be included.
2194 */
2195/*#define I_POLL /**/
2196
2197/* I_SYS_MMAN:
2198 * This symbol, if defined, indicates that <sys/mman.h> exists and
2199 * should be included.
2200 */
2201/*#define I_SYS_MMAN /**/
2202
2203/* I_SYS_MOUNT:
2204 * This symbol, if defined, indicates that <sys/mount.h> exists and
2205 * should be included.
2206 */
2207/*#define I_SYS_MOUNT /**/
2208
2209/* I_SYS_STATVFS:
2210 * This symbol, if defined, indicates that <sys/statvfs.h> exists and
2211 * should be included.
2212 */
2213/*#define I_SYS_STATVFS /**/
2214
2215/* INSTALL_USR_BIN_PERL:
2216 * This symbol, if defined, indicates that Perl is to be installed
2217 * also as /usr/bin/perl.
2218 */
2219/*#define INSTALL_USR_BIN_PERL /**/
2220
327c3667
GS
2221/* HAS_FSTAT64:
2222 * This symbol, if defined, indicates that the fstat64 routine is
2223 * available to stat files (fds) larger than 2 gigabytes.
2224 */
2225/* HAS_FTRUNCATE64:
2226 * This symbol, if defined, indicates that the ftruncate64 routine is
2227 * available to tell files larger than 2 gigabytes.
2228 */
2229/* HAS_LSEEK64:
2230 * This symbol, if defined, indicates that the lseek64 routine is
2231 * available to seek files larger than 2 gigabytes.
2232 */
2233/* HAS_LSTAT64:
2234 * This symbol, if defined, indicates that the lstat64 routine is
2235 * available to stat files (symlinks) larger than 2 gigabytes.
2236 */
2237/* HAS_OPEN64:
2238 * This symbol, if defined, indicates that the open64 routine is
2239 * available to open files larger than 2 gigabytes.
2240 */
2241/* HAS_OPENDIR64:
2242 * This symbol, if defined, indicates that the opendir64 routine is
2243 * available to opendir files larger than 2 gigabytes.
2244 */
2245/* HAS_READDIR64:
2246 * This symbol, if defined, indicates that the readdir64 routine is
2247 * available to readdir files larger than 2 gigabytes.
2248 */
2249/* HAS_SEEKDIR64:
2250 * This symbol, if defined, indicates that the seekdir64 routine is
2251 * available to seekdir files larger than 2 gigabytes.
2252 */
2253/* HAS_STAT64:
104f9d64 2254 * This symbol, if defined, indicates that the stat64 routine is
327c3667
GS
2255 * available to stat files larger than 2 gigabytes.
2256 */
2257/* HAS_TELLDIR64:
2258 * This symbol, if defined, indicates that the telldir64 routine is
2259 * available to telldir files larger than 2 gigabytes.
2260 */
2261/* HAS_TRUNCATE64:
2262 * This symbol, if defined, indicates that the truncate64 routine is
2263 * available to truncate files larger than 2 gigabytes.
2264 */
2265/* HAS_OFF64_T:
2266 * This symbol will be defined if the C compiler supports off64_t.
2267 */
2268/* HAS_STRUCT_DIRENT64:
2269 * This symbol will be defined if the C compiler supports struct dirent64.
2270 */
2271/*#define HAS_FSTAT64 /**/
2272/*#define HAS_FTRUNCATE64 /**/
2273/*#define HAS_LSEEK64 /**/
2274/*#define HAS_LSTAT64 /**/
2275/*#define HAS_OPEN64 /**/
2276/*#define HAS_OPENDIR64 /**/
2277/*#define HAS_READDIR64 /**/
2278/*#define HAS_SEEKDIR64 /**/
2279/*#define HAS_STAT64 /**/
2280/*#define HAS_TELLDIR64 /**/
2281/*#define HAS_TRUNCATE64 /**/
2282/*#define HAS_OFF64_T /**/
2283/*#define HAS_STRUCT_DIRENT64 /**/
2284
9036c72f
GS
2285/* PRIVLIB:
2286 * This symbol contains the name of the private library for this package.
2287 * The library is private in the sense that it needn't be in anyone's
2288 * execution path, but it should be accessible by the world. The program
2289 * should be prepared to do ~ expansion.
2290 */
2291/* PRIVLIB_EXP:
2292 * This symbol contains the ~name expanded version of PRIVLIB, to be used
2293 * in programs that are not prepared to deal with ~ expansion at run-time.
2294 */
642c2561
GS
2295#define PRIVLIB "c:\\perl\\5.00556\\lib" /**/
2296#define PRIVLIB_EXP (win32_get_privlib("5.00556")) /**/
9036c72f 2297
327c3667
GS
2298/* SELECT_MIN_BITS:
2299 * This symbol holds the minimum number of bits operated by select.
2300 * That is, if you do select(n, ...), how many bits at least will be
2301 * cleared in the masks if some activity is detected. Usually this
2302 * is either n or 32*ceil(n/32), especially many little-endians do
2303 * the latter. This is only useful if you have select(), naturally.
2304 */
2305#define SELECT_MIN_BITS 32 /**/
2306
9036c72f
GS
2307/* SITEARCH:
2308 * This symbol contains the name of the private library for this package.
2309 * The library is private in the sense that it needn't be in anyone's
2310 * execution path, but it should be accessible by the world. The program
2311 * should be prepared to do ~ expansion.
2312 * The standard distribution will put nothing in this directory.
2313 * Individual sites may place their own extensions and modules in
2314 * this directory.
2315 */
2316/* SITEARCH_EXP:
2317 * This symbol contains the ~name expanded version of SITEARCH, to be used
2318 * in programs that are not prepared to deal with ~ expansion at run-time.
2319 */
642c2561 2320#define SITEARCH "c:\\perl\\site\\5.00556\\lib\\MSWin32-x86" /**/
9036c72f
GS
2321/*#define SITEARCH_EXP "" /**/
2322
2323/* SITELIB:
2324 * This symbol contains the name of the private library for this package.
2325 * The library is private in the sense that it needn't be in anyone's
2326 * execution path, but it should be accessible by the world. The program
2327 * should be prepared to do ~ expansion.
2328 * The standard distribution will put nothing in this directory.
2329 * Individual sites may place their own extensions and modules in
2330 * this directory.
2331 */
2332/* SITELIB_EXP:
2333 * This symbol contains the ~name expanded version of SITELIB, to be used
2334 * in programs that are not prepared to deal with ~ expansion at run-time.
2335 */
642c2561
GS
2336#define SITELIB "c:\\perl\\site\\5.00556\\lib" /**/
2337#define SITELIB_EXP (win32_get_sitelib("5.00556")) /**/
9036c72f 2338
a835ef8a
NIS
2339/* STARTPERL:
2340 * This variable contains the string to put in front of a perl
2341 * script to make sure (one hopes) that it runs with perl and not
2342 * some shell.
2343 */
2344#define STARTPERL "#!perl" /**/
2345
327c3667
GS
2346/* HAS_FGETPOS64:
2347 * This symbol, if defined, indicates that the fgetpos64 routine is
2348 * available to getpos files larger than 2 gigabytes.
2349 */
2350/* HAS_FOPEN64:
2351 * This symbol, if defined, indicates that the fopen64 routine is
2352 * available to open files larger than 2 gigabytes.
2353 */
2354/* HAS_FREOPEN64:
2355 * This symbol, if defined, indicates that the freopen64 routine is
2356 * available to reopen files larger than 2 gigabytes.
2357 */
2358/* HAS_FSEEK64:
2359 * This symbol, if defined, indicates that the fseek64 routine is
2360 * available to seek files larger than 2 gigabytes.
2361 */
2362/* HAS_FSEEKO64:
2363 * This symbol, if defined, indicates that the fseeko64 routine is
2364 * available to seek files larger than 2 gigabytes.
2365 */
2366/* HAS_FSETPOS64:
2367 * This symbol, if defined, indicates that the fsetpos64 routine is
2368 * available to setpos files larger than 2 gigabytes.
2369 */
2370/* HAS_FTELL64:
2371 * This symbol, if defined, indicates that the ftell64 routine is
2372 * available to tell files larger than 2 gigabytes.
2373 */
2374/* HAS_FTELLO64:
2375 * This symbol, if defined, indicates that the ftello64 routine is
2376 * available to tell files larger than 2 gigabytes.
2377 */
2378/* HAS_TMPFILE64:
2379 * This symbol, if defined, indicates that the tmpfile64 routine is
2380 * available to tmpfile files larger than 2 gigabytes.
2381 */
2382/*#define HAS_FGETPOS64 /**/
2383/*#define HAS_FOPEN64 /**/
2384/*#define HAS_FREOPEN64 /**/
2385/*#define HAS_FSEEK64 /**/
2386/*#define HAS_FSEEKO64 /**/
2387/*#define HAS_FSETPOS64 /**/
2388/*#define HAS_FTELL64 /**/
2389/*#define HAS_FTELLO64 /**/
2390/*#define HAS_TMPFILE64 /**/
2391
2392/* USE_64_BITS:
104f9d64
GS
2393 * This symbol, if defined, indicates that 64-bit interfaces should
2394 * be used when available. If not defined, the native default interfaces
327c3667
GS
2395 * will be used (be they 32 or 64 bits).
2396 */
2397/*#define USE_64_BITS /**/
2398
c4d53692
GS
2399/* MULTIPLICITY:
2400 * This symbol, if defined, indicates that Perl should
2401 * be built to use multiplicity.
2402 */
2403/*#define MULTIPLICITY /**/
2404
a835ef8a
NIS
2405/* USE_PERLIO:
2406 * This symbol, if defined, indicates that the PerlIO abstraction should
2407 * be used throughout. If not defined, stdio should be
2408 * used in a fully backward compatible manner.
2409 */
2410/*#define USE_PERLIO /**/
2411
104f9d64
GS
2412/* HAS_DRAND48_PROTO:
2413 * This symbol, if defined, indicates that the system provides
2414 * a prototype for the drand48() function. Otherwise, it is up
2415 * to the program to supply one. A good guess is
2416 * extern double drand48 _((void));
2417 */
2418/*#define HAS_DRAND48_PROTO /**/
2419
bdaec6b3
GS
2420/* HAS_GETHOST_PROTOS:
2421 * This symbol, if defined, indicates that <netdb.h> includes
2422 * prototypes for gethostent(), gethostbyname(), and
2423 * gethostbyaddr(). Otherwise, it is up to the program to guess
2424 * them. See netdbtype.U for probing for various Netdb_xxx_t types.
2425 */
2426#define HAS_GETHOST_PROTOS /**/
2427
2428/* HAS_GETNET_PROTOS:
2429 * This symbol, if defined, indicates that <netdb.h> includes
2430 * prototypes for getnetent(), getnetbyname(), and
2431 * getnetbyaddr(). Otherwise, it is up to the program to guess
2432 * them. See netdbtype.U for probing for various Netdb_xxx_t types.
2433 */
2434/*#define HAS_GETNET_PROTOS /**/
2435
2436/* HAS_GETPROTO_PROTOS:
2437 * This symbol, if defined, indicates that <netdb.h> includes
2438 * prototypes for getprotoent(), getprotobyname(), and
2439 * getprotobyaddr(). Otherwise, it is up to the program to guess
2440 * them. See netdbtype.U for probing for various Netdb_xxx_t types.
2441 */
2442#define HAS_GETPROTO_PROTOS /**/
2443
2444/* HAS_GETSERV_PROTOS:
2445 * This symbol, if defined, indicates that <netdb.h> includes
2446 * prototypes for getservent(), getservbyname(), and
2447 * getservbyaddr(). Otherwise, it is up to the program to guess
2448 * them. See netdbtype.U for probing for various Netdb_xxx_t types.
2449 */
2450#define HAS_GETSERV_PROTOS /**/
2451
924b3ec4
GS
2452/* Netdb_host_t:
2453 * This symbol holds the type used for the 1st argument
2454 * to gethostbyaddr().
a835ef8a 2455 */
924b3ec4
GS
2456/* Netdb_hlen_t:
2457 * This symbol holds the type used for the 2nd argument
2458 * to gethostbyaddr().
2459 */
2460/* Netdb_name_t:
2461 * This symbol holds the type used for the argument to
2462 * gethostbyname().
2463 */
2464/* Netdb_net_t:
2465 * This symbol holds the type used for the 1st argument to
2466 * getnetbyaddr().
2467 */
2468#define Netdb_host_t char * /**/
2469#define Netdb_hlen_t int /**/
2470#define Netdb_name_t char * /**/
2471#define Netdb_net_t long /**/
2472
2473/* Select_fd_set_t:
2474 * This symbol holds the type used for the 2nd, 3rd, and 4th
2475 * arguments to select. Usually, this is 'fd_set *', if HAS_FD_SET
2476 * is defined, and 'int *' otherwise. This is only useful if you
2477 * have select(), of course.
2478 */
2479#define Select_fd_set_t Perl_fd_set * /**/
2480
2481/* ARCHNAME:
2482 * This symbol holds a string representing the architecture name.
2483 * It may be used to construct an architecture-dependant pathname
2484 * where library files may be held under a private library, for
2485 * instance.
2486 */
2487#define ARCHNAME "MSWin32-x86" /**/
2488
c4d53692
GS
2489/* OLD_PTHREAD_CREATE_JOINABLE:
2490 * This symbol, if defined, indicates how to create pthread
2491 * in joinable (aka undetached) state. NOTE: not defined
2492 * if pthread.h already has defined PTHREAD_CREATE_JOINABLE
2493 * (the new version of the constant).
2494 * If defined, known values are PTHREAD_CREATE_UNDETACHED
2495 * and __UNDETACHED.
2496 */
2497/*#define OLD_PTHREAD_CREATE_JOINABLE /**/
2498
924b3ec4
GS
2499/* HAS_PTHREAD_YIELD:
2500 * This symbol, if defined, indicates that the pthread_yield
2501 * routine is available to yield the execution of the current
104f9d64
GS
2502 * thread. sched_yield is preferable to pthread_yield.
2503 */
2504/* SCHED_YIELD:
2505 * This symbol defines the way to yield the execution of
2506 * the current thread. Known ways are sched_yield,
2507 * pthread_yield, and pthread_yield with NULL.
924b3ec4 2508 */
62520c91
GS
2509/* HAS_SCHED_YIELD:
2510 * This symbol, if defined, indicates that the sched_yield
2511 * routine is available to yield the execution of the current
104f9d64 2512 * thread. sched_yield is preferable to pthread_yield.
62520c91 2513 */
924b3ec4 2514/*#define HAS_PTHREAD_YIELD /**/
104f9d64 2515#define SCHED_YIELD /**/
62520c91 2516/*#define HAS_SCHED_YIELD /**/
924b3ec4 2517
22c35a8c
GS
2518/* I_MACH_CTHREADS:
2519 * This symbol, if defined, indicates to the C program that it should
2520 * include <mach/cthreads.h>.
924b3ec4 2521 */
22c35a8c 2522/*#define I_MACH_CTHREADS /**/
924b3ec4
GS
2523
2524/* USE_THREADS:
2525 * This symbol, if defined, indicates that Perl should
2526 * be built to use threads.
2527 */
07ba5892
GS
2528/* OLD_PTHREADS_API:
2529 * This symbol, if defined, indicates that Perl should
2530 * be built to use the old draft POSIX threads API.
2531 */
924b3ec4 2532/*#define USE_THREADS /**/
07ba5892 2533/*#define OLD_PTHREADS_API /**/
a835ef8a 2534
bdaec6b3
GS
2535/* Time_t:
2536 * This symbol holds the type returned by time(). It can be long,
2537 * or time_t on BSD sites (in which case <sys/types.h> should be
2538 * included).
2539 */
2540#define Time_t time_t /* Time type */
2541
2542/* HAS_TIMES:
2543 * This symbol, if defined, indicates that the times() routine exists.
2544 * Note that this became obsolete on some systems (SUNOS), which now
2545 * use getrusage(). It may be necessary to include <sys/times.h>.
2546 */
2547#define HAS_TIMES /**/
2548
2549/* Fpos_t:
2550 * This symbol holds the type used to declare file positions in libc.
2551 * It can be fpos_t, long, uint, etc... It may be necessary to include
2552 * <sys/types.h> to get any typedef'ed information.
2553 */
2554#define Fpos_t fpos_t /* File position type */
2555
2556/* Gid_t:
2557 * This symbol holds the return type of getgid() and the type of
2558 * argument to setrgid() and related functions. Typically,
2559 * it is the type of group ids in the kernel. It can be int, ushort,
2560 * uid_t, etc... It may be necessary to include <sys/types.h> to get
2561 * any typedef'ed information.
2562 */
2563#define Gid_t gid_t /* Type for getgid(), etc... */
2564
2565/* Off_t:
2566 * This symbol holds the type used to declare offsets in the kernel.
2567 * It can be int, long, off_t, etc... It may be necessary to include
2568 * <sys/types.h> to get any typedef'ed information.
2569 */
104f9d64
GS
2570/* LSEEKSIZE:
2571 * This symbol holds the number of bytes used by the Off_t.
2572 */
bdaec6b3 2573#define Off_t off_t /* <offset> type */
104f9d64 2574#define LSEEKSIZE 4 /* <offset> size */
bdaec6b3
GS
2575
2576/* Mode_t:
2577 * This symbol holds the type used to declare file modes
2578 * for systems calls. It is usually mode_t, but may be
2579 * int or unsigned short. It may be necessary to include <sys/types.h>
2580 * to get any typedef'ed information.
2581 */
2582#define Mode_t mode_t /* file mode parameter for system calls */
2583
2584/* Pid_t:
2585 * This symbol holds the type used to declare process ids in the kernel.
2586 * It can be int, uint, pid_t, etc... It may be necessary to include
2587 * <sys/types.h> to get any typedef'ed information.
2588 */
2589#define Pid_t int /* PID type */
2590
2591/* Size_t:
2592 * This symbol holds the type used to declare length parameters
2593 * for string functions. It is usually size_t, but may be
2594 * unsigned long, int, etc. It may be necessary to include
2595 * <sys/types.h> to get any typedef'ed information.
2596 */
2597#define Size_t size_t /* length paramater for string functions */
2598
2599/* Uid_t:
2600 * This symbol holds the type used to declare user ids in the kernel.
2601 * It can be int, ushort, uid_t, etc... It may be necessary to include
2602 * <sys/types.h> to get any typedef'ed information.
2603 */
2604#define Uid_t uid_t /* UID type */
2605
a835ef8a
NIS
2606#endif
2607#include <win32.h>