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