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