perl 4.0.00: (no release announcement available)
[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
46 * to put publicly executable images for the package in question. It
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
fe14fcc3 593/* I_FCNTL
594 * This manifest constant tells the C program to include <fcntl.h>.
21d892ea 595 */
fe14fcc3 596#define I_FCNTL /**/
21d892ea 597
fe14fcc3 598/* I_GRP
21d892ea 599 * This symbol, if defined, indicates to the C program that it should
fe14fcc3 600 * include grp.h.
21d892ea 601 */
fe14fcc3 602/*#undef I_GRP /**/
21d892ea 603
fe14fcc3 604/* I_NETINET_IN
21d892ea 605 * This symbol, if defined, indicates to the C program that it should
fe14fcc3 606 * include netinet/in.h.
21d892ea 607 */
fe14fcc3 608/* I_SYS_IN
609 * This symbol, if defined, indicates to the C program that it should
610 * include sys/in.h.
611 */
612/*#undef I_NETINET_IN /**/
613/*#undef I_SYS_IN /**/
21d892ea 614
fe14fcc3 615/* I_PWD
21d892ea 616 * This symbol, if defined, indicates to the C program that it should
617 * include pwd.h.
618 */
fe14fcc3 619/* PWQUOTA
21d892ea 620 * This symbol, if defined, indicates to the C program that struct passwd
621 * contains pw_quota.
622 */
fe14fcc3 623/* PWAGE
21d892ea 624 * This symbol, if defined, indicates to the C program that struct passwd
625 * contains pw_age.
626 */
fe14fcc3 627/* PWCHANGE
628 * This symbol, if defined, indicates to the C program that struct passwd
629 * contains pw_change.
630 */
631/* PWCLASS
632 * This symbol, if defined, indicates to the C program that struct passwd
633 * contains pw_class.
634 */
635/* PWEXPIRE
636 * This symbol, if defined, indicates to the C program that struct passwd
637 * contains pw_expire.
638 */
639/* PWCOMMENT
640 * This symbol, if defined, indicates to the C program that struct passwd
641 * contains pw_comment.
642 */
643/*#undef I_PWD /**/
644/*#undef PWQUOTA /**/
21d892ea 645/*#undef PWAGE /**/
fe14fcc3 646/*#undef PWCHANGE /**/
647/*#undef PWCLASS /**/
648/*#undef PWEXPIRE /**/
649/*#undef PWCOMMENT /**/
21d892ea 650
fe14fcc3 651/* I_SYS_FILE
652 * This manifest constant tells the C program to include <sys/file.h>.
21d892ea 653 */
fe14fcc3 654/*#undef I_SYS_FILE /**/
21d892ea 655
fe14fcc3 656/* I_SYSIOCTL
21d892ea 657 * This symbol, if defined, indicates that sys/ioctl.h exists and should
658 * be included.
659 */
fe14fcc3 660/*#undef I_SYSIOCTL /**/
661
662/* I_TIME
663 * This symbol is defined if the program should include <time.h>.
664 */
665/* I_SYS_TIME
666 * This symbol is defined if the program should include <sys/time.h>.
667 */
668/* SYSTIMEKERNEL
669 * This symbol is defined if the program should include <sys/time.h>
670 * with KERNEL defined.
671 */
672/* I_SYS_SELECT
673 * This symbol is defined if the program should include <sys/select.h>.
674 */
675#define I_TIME /**/
676/*#undef I_SYS_TIME /**/
677/*#undef SYSTIMEKERNEL /**/
678/*#undef I_SYS_SELECT /**/
21d892ea 679
fe14fcc3 680/* I_UTIME
681 * This symbol, if defined, indicates to the C program that it should
682 * include utime.h.
683 */
684/*#undef I_UTIME /**/
685
686/* I_VARARGS
21d892ea 687 * This symbol, if defined, indicates to the C program that it should
688 * include varargs.h.
689 */
690#define I_VARARGS /**/
691
fe14fcc3 692/* I_VFORK
693 * This symbol, if defined, indicates to the C program that it should
694 * include vfork.h.
695 */
696/*#undef I_VFORK /**/
697
698/* INTSIZE
21d892ea 699 * This symbol contains the size of an int, so that the C preprocessor
700 * can make decisions based on it.
701 */
702#define INTSIZE 2 /**/
703
fe14fcc3 704/* I_DIRENT
705 * This symbol, if defined, indicates that the program should use the
706 * P1003-style directory routines, and include <dirent.h>.
707 */
708/* I_SYS_DIR
709 * This symbol, if defined, indicates that the program should use the
710 * directory functions by including <sys/dir.h>.
711 */
712/* I_NDIR
713 * This symbol, if defined, indicates that the program should include the
714 * system's version of ndir.h, rather than the one with this package.
715 */
716/* I_SYS_NDIR
717 * This symbol, if defined, indicates that the program should include the
718 * system's version of sys/ndir.h, rather than the one with this package.
719 */
720/* I_MY_DIR
721 * This symbol, if defined, indicates that the program should compile
722 * the ndir.c code provided with the package.
723 */
724/* DIRNAMLEN
725 * This symbol, if defined, indicates to the C program that the length
726 * of directory entry names is provided by a d_namlen field. Otherwise
727 * you need to do strlen() on the d_name field.
728 */
729/*#undef I_DIRENT /**/
730#define I_SYS_DIR /**/
731/*#undef I_NDIR /**/
732/*#undef I_SYS_NDIR /**/
733/*#undef I_MY_DIR /**/
734/*#undef DIRNAMLEN /**/
735
736
737/* RANDBITS
21d892ea 738 * This symbol contains the number of bits of random number the rand()
739 * function produces. Usual values are 15, 16, and 31.
740 */
741#define RANDBITS 31 /**/
742
fe14fcc3 743/* SCRIPTDIR
744 * This symbol holds the name of the directory in which the user wants
745 * to put publicly executable scripts for the package in question. It
746 * is often a directory that is mounted across diverse architectures.
747 */
748#define SCRIPTDIR "C:/bin/perl" /**/
749
750/* SIG_NAME
21d892ea 751 * This symbol contains an list of signal names in order.
fe14fcc3 752 *
753 * Note: This list is specific for Microsoft C 5.1 and 6.0, which only
754 * support SIGINT, SIGFPE, SIGILL, SIGSEGV, and SIGABRT on
755 * DOS 3.x, but in addition defines SIGTERM, SIGBREAK, SIGUSR1,
756 * SIGUSR2, and SIGUSR3.
21d892ea 757 */
fe14fcc3 758#define SIG_NAME \
759 "ZERO","HUP","INT","QUIT","ILL","TRAP","IOT","EMT","FPE","KILL",\
760 "BUS","SEGV","SYS","PIPE","ALRM","TERM","USR1","USR2","TSTP","CONT",\
761 "USR3","BREAK","ABRT" /**/
21d892ea 762
fe14fcc3 763/* STDCHAR
21d892ea 764 * This symbol is defined to be the type of char used in stdio.h.
765 * It has the values "unsigned char" or "char".
766 */
767#define STDCHAR char /**/
768
fe14fcc3 769/* UIDTYPE
21d892ea 770 * This symbol has a value like uid_t, int, ushort, or whatever type is
771 * used to declare user ids in the kernel.
772 */
773#define UIDTYPE int /**/
774
fe14fcc3 775/* VOIDHAVE
21d892ea 776 * This symbol indicates how much support of the void type is given by this
777 * compiler. What various bits mean:
778 *
779 * 1 = supports declaration of void
780 * 2 = supports arrays of pointers to functions returning void
781 * 4 = supports comparisons between pointers to void functions and
782 * addresses of void functions
783 *
fe14fcc3 784 * The package designer should define VOIDWANT to indicate the requirements
785 * of the package. This can be done either by #defining VOIDWANT before
786 * including config.h, or by defining voidwant in Myinit.U. If the level
787 * of void support necessary is not present, config.h defines void to "int",
788 * VOID to the empty string, and VOIDP to "char *".
789 */
790/* void
791 * This symbol is used for void casts. On implementations which support
792 * void appropriately, its value is "void". Otherwise, its value maps
793 * to "int".
794 */
795/* VOID
796 * This symbol's value is "void" if the implementation supports void
797 * appropriately. Otherwise, its value is the empty string. The primary
798 * use of this symbol is in specifying void parameter lists for function
799 * prototypes.
800 */
801/* VOIDP
802 * This symbol is used for casting generic pointers. On implementations
803 * which support void appropriately, its value is "void *". Otherwise,
804 * its value is "char *".
805 */
806#ifndef VOIDWANT
807#define VOIDWANT 1
21d892ea 808#endif
fe14fcc3 809#define VOIDHAVE 1
810#if (VOIDHAVE & VOIDWANT) != VOIDWANT
21d892ea 811#define void int /* is void to be avoided? */
fe14fcc3 812#define VOID
813#define VOIDP (char *)
21d892ea 814#define M_VOID /* Xenix strikes again */
fe14fcc3 815#else
816#define VOID void
817#define VOIDP (void *)
21d892ea 818#endif
819
fe14fcc3 820/* PRIVLIB
21d892ea 821 * This symbol contains the name of the private library for this package.
822 * The library is private in the sense that it needn't be in anyone's
823 * execution path, but it should be accessible by the world. The program
fe14fcc3 824 * should be prepared to do ~ expansion.
21d892ea 825 */
826#define PRIVLIB "/usr/local/lib/perl" /**/
827
828/*
21d892ea 829 * BINARY:
830 * This symbol is defined if you run under an operating system that
831 * distinguishes between binary and text files. If so the function
832 * setmode will be used to set the file into binary mode.
833 */
834#define BINARY
835
836#define S_ISUID 0
837#define S_ISGID 0
fe14fcc3 838
839/* For MSC5.1, toke.c "runs out of heap space" unless CRIPPLED_CC is
840 * defined.
841 */
842#if defined(BUGGY_MSC5) || defined(BUGGY_MSC6)
843#define CRIPPLED_CC /**/
844#endif
845
846/* MSC (5.1 and 6.0) doesn't know about S_IFBLK or S_IFIFO -- these are
847 * normally found in sys/stat.h
848 */
849#define S_IFBLK (S_IFDIR | S_IFCHR)
850#define S_IFIFO 0010000
851
852/* Define SUFFIX to get special DOS suffix-replacement code */
853#define SUFFIX /**/
854
855/* Add this for the DOS-specific chdir() function */
856#define chdir perl_chdir
857
858#endif