perl 4.0 patch 25: patch #20, continued
[p5sagit/p5-mst-13.2.git] / atarist / config.h
1 #ifndef config_h
2 #define config_h
3 /* config.h
4  * This file was produced by running the config.h.SH script, which
5  * gets its values from config.sh, which is generally produced by
6  * running Configure.
7  *
8  * Feel free to modify any of this as the need arises.  Note, however,
9  * that running config.h.SH again will wipe out any changes you've made.
10  * For a more permanent change edit config.sh and rerun config.h.SH.
11  */
12  /*SUPPRESS 460*/
13
14
15 /* EUNICE
16  *      This symbol, if defined, indicates that the program is being compiled
17  *      under the EUNICE package under VMS.  The program will need to handle
18  *      things like files that don't go away the first time you unlink them,
19  *      due to version numbering.  It will also need to compensate for lack
20  *      of a respectable link() command.
21  */
22 /* VMS
23  *      This symbol, if defined, indicates that the program is running under
24  *      VMS.  It is currently only set in conjunction with the EUNICE symbol.
25  */
26 /*#undef        EUNICE          /**/
27 /*#undef        VMS             /**/
28
29 /* ALIGNBYTES
30  *      This symbol contains the number of bytes required to align a double.
31  *      Usual values are 2, 4, and 8.
32  */
33 #define ALIGNBYTES 2            /**/
34
35 /* BIN
36  *      This symbol holds the name of the directory in which the user wants
37  *      to keep publicly executable images for the package in question.  It
38  *      is most often a local directory such as /usr/local/bin.
39  */
40 #define BIN "/bin"             /**/
41
42 /* BYTEORDER
43  *      This symbol contains an encoding of the order of bytes in a long.
44  *      Usual values (in hex) are 0x1234, 0x4321, 0x2143, 0x3412...
45  */
46 #define BYTEORDER 0x4321                /**/
47
48 /* CPPSTDIN
49  *      This symbol contains the first part of the string which will invoke
50  *      the C preprocessor on the standard input and produce to standard
51  *      output.  Typical value of "cc -E" or "/lib/cpp".
52  */
53 /* CPPMINUS
54  *      This symbol contains the second part of the string which will invoke
55  *      the C preprocessor on the standard input and produce to standard
56  *      output.  This symbol will have the value "-" if CPPSTDIN needs a minus
57  *      to specify standard input, otherwise the value is "".
58  */
59 #define CPPSTDIN "gcc -E"
60 #define CPPMINUS ""
61
62 /* HAS_BCMP
63  *      This symbol, if defined, indicates that the bcmp routine is available
64  *      to compare blocks of memory.  If undefined, use memcmp.  If that's
65  *      not available, roll your own.
66  */
67 #define HAS_BCMP                /**/
68
69 /* HAS_BCOPY
70  *      This symbol, if defined, indicates that the bcopy routine is available
71  *      to copy blocks of memory.  Otherwise you should probably use memcpy().
72  *      If neither is defined, roll your own.
73  */
74 /* SAFE_BCOPY
75  *      This symbol, if defined, indicates that the bcopy routine is available
76  *      to copy potentially overlapping copy blocks of bcopy.  Otherwise you
77  *      should probably use memmove() or memcpy().  If neither is defined,
78  *      roll your own.
79  */
80 #define HAS_BCOPY               /**/
81 #define SAFE_BCOPY              /**/
82
83 /* HAS_BZERO
84  *      This symbol, if defined, indicates that the bzero routine is available
85  *      to zero blocks of memory.  Otherwise you should probably use memset()
86  *      or roll your own.
87  */
88 #define HAS_BZERO               /**/
89
90 /* CASTNEGFLOAT
91  *      This symbol, if defined, indicates that this C compiler knows how to
92  *      cast negative or large floating point numbers to unsigned longs, ints
93  *      and shorts.
94  */
95 /* CASTFLAGS
96  *      This symbol contains flags that say what difficulties the compiler
97  *      has casting odd floating values to unsigned long:
98  *              1 = couldn't cast < 0
99  *              2 = couldn't cast >= 0x80000000
100  */
101 #define CASTNEGFLOAT    /**/
102 #define CASTFLAGS 0     /**/
103
104 /* CHARSPRINTF
105  *      This symbol is defined if this system declares "char *sprintf()" in
106  *      stdio.h.  The trend seems to be to declare it as "int sprintf()".  It
107  *      is up to the package author to declare sprintf correctly based on the
108  *      symbol.
109  */
110 /* #define      CHARSPRINTF     /**/
111
112 /* HAS_CHSIZE
113  *      This symbol, if defined, indicates that the chsize routine is available
114  *      to truncate files.  You might need a -lx to get this routine.
115  */
116 /*#undef        HAS_CHSIZE              /**/
117
118 /* HAS_CRYPT
119  *      This symbol, if defined, indicates that the crypt routine is available
120  *      to encrypt passwords and the like.
121  */
122 /* #define      HAS_CRYPT               /**/
123
124 /* CSH
125  *      This symbol, if defined, indicates that the C-shell exists.
126  *      If defined, contains the full pathname of csh.
127  */
128 /* #define CSH "/bin/csh"               /**/
129
130 /* DOSUID
131  *      This symbol, if defined, indicates that the C program should
132  *      check the script that it is executing for setuid/setgid bits, and
133  *      attempt to emulate setuid/setgid on systems that have disabled
134  *      setuid #! scripts because the kernel can't do it securely.
135  *      It is up to the package designer to make sure that this emulation
136  *      is done securely.  Among other things, it should do an fstat on
137  *      the script it just opened to make sure it really is a setuid/setgid
138  *      script, it should make sure the arguments passed correspond exactly
139  *      to the argument on the #! line, and it should not trust any
140  *      subprocesses to which it must pass the filename rather than the
141  *      file descriptor of the script to be executed.
142  */
143 /*#undef DOSUID         /**/
144
145 /* HAS_DUP2
146  *      This symbol, if defined, indicates that the dup2 routine is available
147  *      to dup file descriptors.  Otherwise you should use dup().
148  */
149 #define HAS_DUP2                /**/
150
151 /* HAS_FCHMOD
152  *      This symbol, if defined, indicates that the fchmod routine is available
153  *      to change mode of opened files.  If unavailable, use chmod().
154  */
155 /* #define      HAS_FCHMOD              /**/
156
157 /* HAS_FCHOWN
158  *      This symbol, if defined, indicates that the fchown routine is available
159  *      to change ownership of opened files.  If unavailable, use chown().
160  */
161 /* #define      HAS_FCHOWN              /**/
162
163 /* HAS_FCNTL
164  *      This symbol, if defined, indicates to the C program that
165  *      the fcntl() function exists.
166  */
167 /* #define      HAS_FCNTL               /**/
168
169 /* FLEXFILENAMES
170  *      This symbol, if defined, indicates that the system supports filenames
171  *      longer than 14 characters.
172  */
173 /* #define      FLEXFILENAMES           /**/
174
175 /* HAS_FLOCK
176  *      This symbol, if defined, indicates that the flock() routine is
177  *      available to do file locking.
178  */
179 /* #define      HAS_FLOCK               /**/
180
181 /* HAS_GETGROUPS
182  *      This symbol, if defined, indicates that the getgroups() routine is
183  *      available to get the list of process groups.  If unavailable, multiple
184  *      groups are probably not supported.
185  */
186 /* #define      HAS_GETGROUPS           /**/
187
188 /* HAS_GETHOSTENT
189  *      This symbol, if defined, indicates that the gethostent() routine is
190  *      available to lookup host names in some data base or other.
191  */
192 /* #define      HAS_GETHOSTENT          /**/
193
194 /* HAS_GETPGRP
195  *      This symbol, if defined, indicates that the getpgrp() routine is
196  *      available to get the current process group.
197  */
198 #define HAS_GETPGRP             /**/
199
200 /* HAS_GETPGRP2
201  *      This symbol, if defined, indicates that the getpgrp2() (as in DG/UX)
202  *      routine is available to get the current process group.
203  */
204 /*#undef        HAS_GETPGRP2            /**/
205
206 /* HAS_GETPRIORITY
207  *      This symbol, if defined, indicates that the getpriority() routine is
208  *      available to get a process's priority.
209  */
210 /* #define      HAS_GETPRIORITY         /**/
211
212 /* HAS_HTONS
213  *      This symbol, if defined, indicates that the htons routine (and friends)
214  *      are available to do network order byte swapping.
215  */
216 /* HAS_HTONL
217  *      This symbol, if defined, indicates that the htonl routine (and friends)
218  *      are available to do network order byte swapping.
219  */
220 /* HAS_NTOHS
221  *      This symbol, if defined, indicates that the ntohs routine (and friends)
222  *      are available to do network order byte swapping.
223  */
224 /* HAS_NTOHL
225  *      This symbol, if defined, indicates that the ntohl routine (and friends)
226  *      are available to do network order byte swapping.
227  */
228 /* #define      HAS_HTONS       /**/
229 /* #define      HAS_HTONL       /**/
230 /* #define      HAS_NTOHS       /**/
231 /* #define      HAS_NTOHL       /**/
232
233 /* index
234  *      This preprocessor symbol is defined, along with rindex, if the system
235  *      uses the strchr and strrchr routines instead.
236  */
237 /* rindex
238  *      This preprocessor symbol is defined, along with index, if the system
239  *      uses the strchr and strrchr routines instead.
240  */
241 /* #define      index strchr    /* cultural */
242 /* #define      rindex strrchr  /*  differences? */
243 #include <string.h>
244
245 /* HAS_ISASCII
246  *      This symbol, if defined, indicates that the isascii routine is available
247  *      to test characters for asciiness.
248  */
249 #define HAS_ISASCII             /**/
250
251 /* HAS_KILLPG
252  *      This symbol, if defined, indicates that the killpg routine is available
253  *      to kill process groups.  If unavailable, you probably should use kill
254  *      with a negative process number.
255  */
256 /* #define      HAS_KILLPG              /**/
257
258 /* HAS_LSTAT
259  *      This symbol, if defined, indicates that the lstat() routine is
260  *      available to stat symbolic links.
261  */
262 #define HAS_LSTAT               /**/
263
264 /* HAS_MEMCMP
265  *      This symbol, if defined, indicates that the memcmp routine is available
266  *      to compare blocks of memory.  If undefined, roll your own.
267  */
268 #define HAS_MEMCMP              /**/
269
270 /* HAS_MEMCPY
271  *      This symbol, if defined, indicates that the memcpy routine is available
272  *      to copy blocks of memory.  Otherwise you should probably use bcopy().
273  *      If neither is defined, roll your own.
274  */
275 /* SAFE_MEMCPY
276  *      This symbol, if defined, indicates that the memcpy routine is available
277  *      to copy potentially overlapping copy blocks of memory.  Otherwise you
278  *      should probably use memmove() or bcopy().  If neither is defined,
279  *      roll your own.
280  */
281 #define HAS_MEMCPY              /**/
282 /*#undef        SAFE_MEMCPY             /**/
283
284 /* HAS_MEMMOVE
285  *      This symbol, if defined, indicates that the memmove routine is available
286  *      to move potentially overlapping blocks of memory.  Otherwise you
287  *      should use bcopy() or roll your own.
288  */
289 /*#undef        HAS_MEMMOVE             /**/
290
291 /* HAS_MEMSET
292  *      This symbol, if defined, indicates that the memset routine is available
293  *      to set a block of memory to a character.  If undefined, roll your own.
294  */
295 #define HAS_MEMSET              /**/
296
297 /* HAS_MKDIR
298  *      This symbol, if defined, indicates that the mkdir routine is available
299  *      to create directories.  Otherwise you should fork off a new process to
300  *      exec /bin/mkdir.
301  */
302 #define HAS_MKDIR               /**/
303
304 /* HAS_MSG
305  *      This symbol, if defined, indicates that the entire msg*(2) library is
306  *      supported.
307  */
308 /* #define      HAS_MSG         /**/
309
310 /* HAS_MSGCTL
311  *      This symbol, if defined, indicates that the msgctl() routine is
312  *      available to control message passing.
313  */
314 /* #define      HAS_MSGCTL              /**/
315
316 /* HAS_MSGGET
317  *      This symbol, if defined, indicates that the msgget() routine is
318  *      available to get messages.
319  */
320 /* #define      HAS_MSGGET              /**/
321
322 /* HAS_MSGRCV
323  *      This symbol, if defined, indicates that the msgrcv() routine is
324  *      available to receive messages.
325  */
326 /* #define      HAS_MSGRCV              /**/
327
328 /* HAS_MSGSND
329  *      This symbol, if defined, indicates that the msgsnd() routine is
330  *      available to send messages.
331  */
332 /* #define      HAS_MSGSND              /**/
333
334 /* HAS_NDBM
335  *      This symbol, if defined, indicates that ndbm.h exists and should
336  *      be included.
337  */
338 /* #define      HAS_NDBM                /**/
339
340 /* HAS_ODBM
341  *      This symbol, if defined, indicates that dbm.h exists and should
342  *      be included.
343  */
344 /* #define      HAS_ODBM                /**/
345
346 /* HAS_OPEN3
347  *      This manifest constant lets the C program know that the three
348  *      argument form of open(2) is available.
349  */
350 #define HAS_OPEN3               /**/
351
352 /* HAS_READDIR
353  *      This symbol, if defined, indicates that the readdir routine is available
354  *      from the C library to read directories.
355  */
356 #define HAS_READDIR             /**/
357
358 /* HAS_RENAME
359  *      This symbol, if defined, indicates that the rename routine is available
360  *      to rename files.  Otherwise you should do the unlink(), link(), unlink()
361  *      trick.
362  */
363 #define HAS_RENAME              /**/
364
365 /* HAS_REWINDDIR
366  *      This symbol, if defined, indicates that the rewindir routine is
367  *      available to rewind directories.
368  */
369 #define HAS_REWINDDIR           /**/
370
371 /* HAS_RMDIR
372  *      This symbol, if defined, indicates that the rmdir routine is available
373  *      to remove directories.  Otherwise you should fork off a new process to
374  *      exec /bin/rmdir.
375  */
376 #define HAS_RMDIR               /**/
377
378 /* HAS_SEEKDIR
379  *      This symbol, if defined, indicates that the seekdir routine is
380  *      available to seek into directories.
381  */
382 #define HAS_SEEKDIR             /**/
383
384 /* HAS_SELECT
385  *      This symbol, if defined, indicates that the select() subroutine
386  *      exists.
387  */
388 /* #define      HAS_SELECT      /**/
389
390 /* HAS_SEM
391  *      This symbol, if defined, indicates that the entire sem*(2) library is
392  *      supported.
393  */
394 /* #define      HAS_SEM         /**/
395
396 /* HAS_SEMCTL
397  *      This symbol, if defined, indicates that the semctl() routine is
398  *      available to control semaphores.
399  */
400 /* #define      HAS_SEMCTL              /**/
401
402 /* HAS_SEMGET
403  *      This symbol, if defined, indicates that the semget() routine is
404  *      available to get semaphores ids.
405  */
406 /* #define      HAS_SEMGET              /**/
407
408 /* HAS_SEMOP
409  *      This symbol, if defined, indicates that the semop() routine is
410  *      available to perform semaphore operations.
411  */
412 /* #define      HAS_SEMOP               /**/
413
414 /* HAS_SETEGID
415  *      This symbol, if defined, indicates that the setegid routine is available
416  *      to change the effective gid of the current program.
417  */
418 #define HAS_SETEGID             /**/
419
420 /* HAS_SETEUID
421  *      This symbol, if defined, indicates that the seteuid routine is available
422  *      to change the effective uid of the current program.
423  */
424 #define HAS_SETEUID             /**/
425
426 /* HAS_SETPGRP
427  *      This symbol, if defined, indicates that the setpgrp() routine is
428  *      available to set the current process group.
429  */
430 #define HAS_SETPGRP             /**/
431
432 /* HAS_SETPGRP2
433  *      This symbol, if defined, indicates that the setpgrp2() (as in DG/UX)
434  *      routine is available to set the current process group.
435  */
436 /*#undef        HAS_SETPGRP2            /**/
437
438 /* HAS_SETPRIORITY
439  *      This symbol, if defined, indicates that the setpriority() routine is
440  *      available to set a process's priority.
441  */
442 /* #define      HAS_SETPRIORITY         /**/
443
444 /* HAS_SETREGID
445  *      This symbol, if defined, indicates that the setregid routine is
446  *      available to change the real and effective gid of the current program.
447  */
448 /* HAS_SETRESGID
449  *      This symbol, if defined, indicates that the setresgid routine is
450  *      available to change the real, effective and saved gid of the current
451  *      program.
452  */
453 /* #define      HAS_SETREGID            /**/
454 /*#undef        HAS_SETRESGID           /**/
455
456 /* HAS_SETREUID
457  *      This symbol, if defined, indicates that the setreuid routine is
458  *      available to change the real and effective uid of the current program.
459  */
460 /* HAS_SETRESUID
461  *      This symbol, if defined, indicates that the setresuid routine is
462  *      available to change the real, effective and saved uid of the current
463  *      program.
464  */
465 /* #define      HAS_SETREUID            /**/
466 /*#undef        HAS_SETRESUID           /**/
467
468 /* HAS_SETRGID
469  *      This symbol, if defined, indicates that the setrgid routine is available
470  *      to change the real gid of the current program.
471  */
472 /* #define      HAS_SETRGID             /**/
473
474 /* HAS_SETRUID
475  *      This symbol, if defined, indicates that the setruid routine is available
476  *      to change the real uid of the current program.
477  */
478 /* #define      HAS_SETRUID             /**/
479
480 /* HAS_SHM
481  *      This symbol, if defined, indicates that the entire shm*(2) library is
482  *      supported.
483  */
484 /* #define      HAS_SHM         /**/
485
486 /* HAS_SHMAT
487  *      This symbol, if defined, indicates that the shmat() routine is
488  *      available to attach a shared memory segment.
489  */
490 /* VOID_SHMAT
491  *      This symbol, if defined, indicates that the shmat() routine
492  *      returns a pointer of type void*.
493  */
494 /* #define      HAS_SHMAT               /**/
495
496 /*#undef        VOIDSHMAT               /**/
497
498 /* HAS_SHMCTL
499  *      This symbol, if defined, indicates that the shmctl() routine is
500  *      available to control a shared memory segment.
501  */
502 /* #define      HAS_SHMCTL              /**/
503
504 /* HAS_SHMDT
505  *      This symbol, if defined, indicates that the shmdt() routine is
506  *      available to detach a shared memory segment.
507  */
508 /* #define      HAS_SHMDT               /**/
509
510 /* HAS_SHMGET
511  *      This symbol, if defined, indicates that the shmget() routine is
512  *      available to get a shared memory segment id.
513  */
514 /* #define      HAS_SHMGET              /**/
515
516 /* HAS_SOCKET
517  *      This symbol, if defined, indicates that the BSD socket interface is
518  *      supported.
519  */
520 /* HAS_SOCKETPAIR
521  *      This symbol, if defined, indicates that the BSD socketpair call is
522  *      supported.
523  */
524 /* OLDSOCKET
525  *      This symbol, if defined, indicates that the 4.1c BSD socket interface
526  *      is supported instead of the 4.2/4.3 BSD socket interface.
527  */
528 /* #define      HAS_SOCKET              /**/
529
530 /* #define      HAS_SOCKETPAIR  /**/
531
532 /*#undef        OLDSOCKET       /**/
533
534 /* STATBLOCKS
535  *      This symbol is defined if this system has a stat structure declaring
536  *      st_blksize and st_blocks.
537  */
538 #define STATBLOCKS      /**/
539
540 /* STDSTDIO
541  *      This symbol is defined if this system has a FILE structure declaring
542  *      _ptr and _cnt in stdio.h.
543  */
544 /* #define      STDSTDIO        /**/ /* we do, but semantics are different */
545
546 /* STRUCTCOPY
547  *      This symbol, if defined, indicates that this C compiler knows how
548  *      to copy structures.  If undefined, you'll need to use a block copy
549  *      routine of some sort instead.
550  */
551 #define STRUCTCOPY      /**/
552
553 /* HAS_STRERROR
554  *      This symbol, if defined, indicates that the strerror() routine is
555  *      available to translate error numbers to strings.
556  */
557 #define HAS_STRERROR            /**/
558
559 /* HAS_SYMLINK
560  *      This symbol, if defined, indicates that the symlink routine is available
561  *      to create symbolic links.
562  */
563 #define HAS_SYMLINK             /**/
564
565 /* HAS_SYSCALL
566  *      This symbol, if defined, indicates that the syscall routine is available
567  *      to call arbitrary system calls.  If undefined, that's tough.
568  */
569 #define HAS_SYSCALL             /**/
570
571 /* HAS_TELLDIR
572  *      This symbol, if defined, indicates that the telldir routine is
573  *      available to tell your location in directories.
574  */
575 #define HAS_TELLDIR             /**/
576
577 /* HAS_TRUNCATE
578  *      This symbol, if defined, indicates that the truncate routine is
579  *      available to truncate files.
580  */
581 /* #define      HAS_TRUNCATE            /**/
582
583 /* HAS_VFORK
584  *      This symbol, if defined, indicates that vfork() exists.
585  */
586 #ifdef __MINT__
587 #define HAS_VFORK       /**/
588 #endif
589
590 /* VOIDSIG
591  *      This symbol is defined if this system declares "void (*signal())()" in
592  *      signal.h.  The old way was to declare it as "int (*signal())()".  It
593  *      is up to the package author to declare things correctly based on the
594  *      symbol.
595  */
596 /* TO_SIGNAL
597  *      This symbol's value is either "void" or "int", corresponding to the
598  *      appropriate return "type" of a signal handler.  Thus, one can declare
599  *      a signal handler using "TO_SIGNAL (*handler())()", and define the
600  *      handler using "TO_SIGNAL handler(sig)".
601  */
602 #define VOIDSIG         /**/
603 #define TO_SIGNAL       void    /**/
604
605 /* HASVOLATILE
606  *      This symbol, if defined, indicates that this C compiler knows about
607  *      the volatile declaration.
608  */
609 #define HASVOLATILE     /**/
610
611 /* HAS_VPRINTF
612  *      This symbol, if defined, indicates that the vprintf routine is available
613  *      to printf with a pointer to an argument list.  If unavailable, you
614  *      may need to write your own, probably in terms of _doprnt().
615  */
616 /* CHARVSPRINTF
617  *      This symbol is defined if this system has vsprintf() returning type
618  *      (char*).  The trend seems to be to declare it as "int vsprintf()".  It
619  *      is up to the package author to declare vsprintf correctly based on the
620  *      symbol.
621  */
622 #define HAS_VPRINTF     /**/
623 /* #define      CHARVSPRINTF    /**/
624
625 /* HAS_WAIT4
626  *      This symbol, if defined, indicates that wait4() exists.
627  */
628 /* #define      HAS_WAIT4       /**/
629
630 /* HAS_WAITPID
631  *      This symbol, if defined, indicates that waitpid() exists.
632  */
633 /*#undef        HAS_WAITPID     /**/
634
635 /* GIDTYPE
636  *      This symbol has a value like gid_t, int, ushort, or whatever type is
637  *      used to declare group ids in the kernel.
638  */
639 #define GIDTYPE gid_t           /**/
640
641 /* GROUPSTYPE
642  *      This symbol has a value like gid_t, int, ushort, or whatever type is
643  *      used in the return value of getgroups().
644  */
645 /* #define GROUPSTYPE unsigned short            /**/
646
647 /* I_FCNTL
648  *      This manifest constant tells the C program to include <fcntl.h>.
649  */
650 #define I_FCNTL /**/
651
652 /* I_GDBM
653  *      This symbol, if defined, indicates that gdbm.h exists and should
654  *      be included.
655  */
656 #define I_GDBM          /**/
657 #define HAS_GDBM
658
659 /* I_GRP
660  *      This symbol, if defined, indicates to the C program that it should
661  *      include grp.h.
662  */
663 /* #define      I_GRP           /**/
664
665 /* I_NETINET_IN
666  *      This symbol, if defined, indicates to the C program that it should
667  *      include netinet/in.h.
668  */
669 /* I_SYS_IN
670  *      This symbol, if defined, indicates to the C program that it should
671  *      include sys/in.h.
672  */
673 /* #define      I_NETINET_IN            /**/
674 /*#undef        I_SYS_IN                /**/
675
676 /* I_PWD
677  *      This symbol, if defined, indicates to the C program that it should
678  *      include pwd.h.
679  */
680 /* PWQUOTA
681  *      This symbol, if defined, indicates to the C program that struct passwd
682  *      contains pw_quota.
683  */
684 /* PWAGE
685  *      This symbol, if defined, indicates to the C program that struct passwd
686  *      contains pw_age.
687  */
688 /* PWCHANGE
689  *      This symbol, if defined, indicates to the C program that struct passwd
690  *      contains pw_change.
691  */
692 /* PWCLASS
693  *      This symbol, if defined, indicates to the C program that struct passwd
694  *      contains pw_class.
695  */
696 /* PWEXPIRE
697  *      This symbol, if defined, indicates to the C program that struct passwd
698  *      contains pw_expire.
699  */
700 /* PWCOMMENT
701  *      This symbol, if defined, indicates to the C program that struct passwd
702  *      contains pw_comment.
703  */
704 #define I_PWD           /**/
705 /* #define      PWQUOTA         /**/
706 /*#undef        PWAGE           /**/
707 /*#undef        PWCHANGE        /**/
708 /*#undef        PWCLASS         /**/
709 /*#undef        PWEXPIRE        /**/
710 /* #define      PWCOMMENT       /**/
711
712 /* I_SYS_FILE
713  *      This manifest constant tells the C program to include <sys/file.h>.
714  */
715 /* #define      I_SYS_FILE      /**/
716
717 /* I_SYSIOCTL
718  *      This symbol, if defined, indicates that sys/ioctl.h exists and should
719  *      be included.
720  */
721 #define I_SYSIOCTL              /**/
722
723 /* I_TIME
724  *      This symbol is defined if the program should include <time.h>.
725  */
726 /* I_SYS_TIME
727  *      This symbol is defined if the program should include <sys/time.h>.
728  */
729 /* SYSTIMEKERNEL
730  *      This symbol is defined if the program should include <sys/time.h>
731  *      with KERNEL defined.
732  */
733 /* I_SYS_SELECT
734  *      This symbol is defined if the program should include <sys/select.h>.
735  */
736 #define I_TIME          /**/
737 /* #define      I_SYS_TIME      /**/
738 /*#undef        SYSTIMEKERNEL   /**/
739 /*#undef        I_SYS_SELECT    /**/
740
741 /* I_UTIME
742  *      This symbol, if defined, indicates to the C program that it should
743  *      include utime.h.
744  */
745 /*#undef        I_UTIME         /**/
746
747 /* I_VARARGS
748  *      This symbol, if defined, indicates to the C program that it should
749  *      include varargs.h.
750  */
751 #define I_VARARGS               /**/
752
753 /* I_VFORK
754  *      This symbol, if defined, indicates to the C program that it should
755  *      include vfork.h.
756  */
757 /* #define      I_VFORK         /**/
758
759 /* INTSIZE
760  *      This symbol contains the size of an int, so that the C preprocessor
761  *      can make decisions based on it.
762  */
763 #ifdef __MSHORT__
764 #define INTSIZE 2               /**/
765 #else
766 #define INTSIZE 4               /**/
767 #endif
768
769 /* I_DIRENT
770  *      This symbol, if defined, indicates that the program should use the
771  *      P1003-style directory routines, and include <dirent.h>.
772  */
773 /* I_SYS_DIR
774  *      This symbol, if defined, indicates that the program should use the
775  *      directory functions by including <sys/dir.h>.
776  */
777 /* I_NDIR
778  *      This symbol, if defined, indicates that the program should include the
779  *      system's version of ndir.h, rather than the one with this package.
780  */
781 /* I_SYS_NDIR
782  *      This symbol, if defined, indicates that the program should include the
783  *      system's version of sys/ndir.h, rather than the one with this package.
784  */
785 /* I_MY_DIR
786  *      This symbol, if defined, indicates that the program should compile
787  *      the ndir.c code provided with the package.
788  */
789 /* DIRNAMLEN
790  *      This symbol, if defined, indicates to the C program that the length
791  *      of directory entry names is provided by a d_namlen field.  Otherwise
792  *      you need to do strlen() on the d_name field.
793  */
794 #define I_DIRENT        /**/
795 /*#undef        I_SYS_DIR       /**/
796 /*#undef        I_NDIR          /**/
797 /*#undef        I_SYS_NDIR      /**/
798 /*#undef        I_MY_DIR        /**/
799 /*#undef        DIRNAMLEN       /**/
800
801 /* MYMALLOC
802  *      This symbol, if defined, indicates that we're using our own malloc.
803  */
804 /* MALLOCPTRTYPE
805  *      This symbol defines the kind of ptr returned by malloc and realloc.
806  */
807 /*  #define MYMALLOC                    /**/
808 #define MALLOCPTRTYPE void         /**/
809
810
811
812 /* RANDBITS
813  *      This symbol contains the number of bits of random number the rand()
814  *      function produces.  Usual values are 15, 16, and 31.
815  */
816 #ifdef __MSHORT__
817 #define RANDBITS 15             /**/
818 #else
819 #define RANDBITS 31             /**/
820 #endif
821
822 /* SCRIPTDIR
823  *      This symbol holds the name of the directory in which the user wants
824  *      to keep publicly executable scripts for the package in question.  It
825  *      is often a directory that is mounted across diverse architectures.
826  */
827 #define SCRIPTDIR "/bin"             /**/
828
829 /* SIG_NAME
830  *      This symbol contains an list of signal names in order.
831  */
832 #define SIG_NAME "NULL","HUP","INT","QUIT","ILL","TRAP","ABRT","PRIV","FPE","KILL","BUS","SEGV","SYS","PIPE","ALRM","TERM","URG","STOP","TSTP","CONT","CHLD","TTIN","TTOU","IO","XCPU","XFSZ","VTALRM","PROF","WINCH","USR1","USR2"
833
834 /* STDCHAR
835  *      This symbol is defined to be the type of char used in stdio.h.
836  *      It has the values "unsigned char" or "char".
837  */
838 #define STDCHAR unsigned char   /**/
839
840 /* UIDTYPE
841  *      This symbol has a value like uid_t, int, ushort, or whatever type is
842  *      used to declare user ids in the kernel.
843  */
844 #define UIDTYPE uid_t           /**/
845
846 /* VOIDHAVE
847  *      This symbol indicates how much support of the void type is given by this
848  *      compiler.  What various bits mean:
849  *
850  *          1 = supports declaration of void
851  *          2 = supports arrays of pointers to functions returning void
852  *          4 = supports comparisons between pointers to void functions and
853  *                  addresses of void functions
854  *
855  *      The package designer should define VOIDWANT to indicate the requirements
856  *      of the package.  This can be done either by #defining VOIDWANT before
857  *      including config.h, or by defining voidwant in Myinit.U.  If the level
858  *      of void support necessary is not present, config.h defines void to "int",
859  *      VOID to the empty string, and VOIDP to "char *".
860  */
861 /* void
862  *      This symbol is used for void casts.  On implementations which support
863  *      void appropriately, its value is "void".  Otherwise, its value maps
864  *      to "int".
865  */
866 /* VOID
867  *      This symbol's value is "void" if the implementation supports void
868  *      appropriately.  Otherwise, its value is the empty string.  The primary
869  *      use of this symbol is in specifying void parameter lists for function
870  *      prototypes.
871  */
872 /* VOIDP
873  *      This symbol is used for casting generic pointers.  On implementations
874  *      which support void appropriately, its value is "void *".  Otherwise,
875  *      its value is "char *".
876  */
877 #ifndef VOIDWANT
878 #define VOIDWANT 7
879 #endif
880 #define VOIDHAVE 7
881 #if (VOIDHAVE & VOIDWANT) != VOIDWANT
882 #define void int                /* is void to be avoided? */
883 #define VOID
884 #define VOIDP (char *)
885 #define M_VOID          /* Xenix strikes again */
886 #else
887 #define VOID void
888 #define VOIDP (void *)
889 #endif
890
891 /* PRIVLIB
892  *      This symbol contains the name of the private library for this package.
893  *      The library is private in the sense that it needn't be in anyone's
894  *      execution path, but it should be accessible by the world.  The program
895  *      should be prepared to do ~ expansion.
896  */
897 /* #define PRIVLIB "/usr/lib/perl"              /**/
898 extern char *PRIVLIB;   /* $PERLIB or /lib */
899
900 /* param.h does'nt really need types, but is #define'ed to make sure types.h
901  * is included
902  */
903 #define PARAM_NEEDS_TYPES
904
905 /* These are selective unix services in the gcc-st lib
906  */
907 #define HAS_GETLOGIN
908 #define HAS_GETPPID
909 #define HAS_KILL
910 #define HAS_UMASK
911 #define HAS_PASSWD
912 #endif