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