This is my patch patch.1l for perl5.001.
[p5sagit/p5-mst-13.2.git] / config_H
CommitLineData
16d20bd9 1/* This file (config_H) is a sample config.h file. If you are unable
a0d0e21e 2 to successfully run Configure, copy this file to config.h and
3 edit it to suit your system.
85e6fe83 4*/
5/*
6 * This file was produced by running the config_h.SH script, which
8d063cd8 7 * gets its values from config.sh, which is generally produced by
8 * running Configure.
9 *
10 * Feel free to modify any of this as the need arises. Note, however,
1aef975c 11 * that running config_h.SH again will wipe out any changes you've made.
12 * For a more permanent change edit config.sh and rerun config_h.SH.
85e6fe83 13 *
1aef975c 14 * $Id: Config_h.U,v 3.0.1.3 1995/01/30 14:25:39 ram Exp $
8d063cd8 15 */
a687059c 16
4aa0a1f7 17/* Configuration time: Tue Jun 6 12:34:26 EDT 1995
a0d0e21e 18 * Configured by: andy
19 * Target system: crystal crystal 3.2 2 i386
68decaef 20 */
68decaef 21
85e6fe83 22#ifndef _config_h_
23#define _config_h_
fe14fcc3 24
a0d0e21e 25/* MEM_ALIGNBYTES:
26 * This symbol contains the number of bytes required to align a
27 * double. Usual values are 2, 4 and 8.
28 */
29#define MEM_ALIGNBYTES 4 /**/
30
40000a8c 31/* ARCHLIB_EXP:
32 * This symbol contains the ~name expanded version of ARCHLIB, to be used
33 * in programs that are not prepared to deal with ~ expansion at run-time.
34 */
35#define ARCHLIB_EXP "/usr/local/lib/perl5/i386-isc" /**/
36
85e6fe83 37/* BIN:
38 * This symbol holds the path of the bin directory where the package will
39 * be installed. Program must be prepared to deal with ~name substitution.
a687059c 40 */
85e6fe83 41#define BIN "/usr/local/bin" /**/
a687059c 42
85e6fe83 43/* BYTEORDER:
44 * This symbol hold the hexadecimal constant defined in byteorder,
45 * i.e. 0x1234 or 0x4321, etc...
a687059c 46 */
a0d0e21e 47#define BYTEORDER 0x1234 /* large digits for MSB */
a687059c 48
ecfc5424 49/* CAT2:
50 * This macro catenates 2 tokens together.
51 */
52/* STRINGIFY:
53 * This macro surrounds its token with double quotes.
54 */
55#if 1 == 1
56#define CAT2(a,b)a/**/b
57#define CAT3(a,b,c)a/**/b/**/c
58#define CAT4(a,b,c,d)a/**/b/**/c/**/d
59#define CAT5(a,b,c,d,e)a/**/b/**/c/**/d/**/e
60#define STRINGIFY(a)"a"
61 /* If you can get stringification with catify, tell me how! */
62#endif
63#if 1 == 42
64#define CAT2(a,b)a ## b
65#define CAT3(a,b,c)a ## b ## c
66#define CAT4(a,b,c,d)a ## b ## c ## d
67#define CAT5(a,b,c,d,e)a ## b ## c ## d ## e
68#define StGiFy(a)# a
69#define STRINGIFY(a)StGiFy(a)
70#define SCAT2(a,b)StGiFy(a) StGiFy(b)
71#define SCAT3(a,b,c)StGiFy(a) StGiFy(b) StGiFy(c)
72#define SCAT4(a,b,c,d)StGiFy(a) StGiFy(b) StGiFy(c) StGiFy(d)
73#define SCAT5(a,b,c,d,e)StGiFy(a) StGiFy(b) StGiFy(c) StGiFy(d) StGiFy(e)
74#endif
75#ifndef CAT2
76#include "Bletch: How does this C preprocessor catenate tokens?"
77#endif
78
85e6fe83 79/* CPPSTDIN:
a687059c 80 * This symbol contains the first part of the string which will invoke
81 * the C preprocessor on the standard input and produce to standard
85e6fe83 82 * output. Typical value of "cc -E" or "/lib/cpp", but it can also
83 * call a wrapper. See CPPRUN.
a687059c 84 */
85e6fe83 85/* CPPMINUS:
a687059c 86 * This symbol contains the second part of the string which will invoke
87 * the C preprocessor on the standard input and produce to standard
88 * output. This symbol will have the value "-" if CPPSTDIN needs a minus
89 * to specify standard input, otherwise the value is "".
90 */
ecfc5424 91#define CPPSTDIN "cc -E"
a0d0e21e 92#define CPPMINUS "-"
93
94/* HAS_ALARM:
95 * This symbol, if defined, indicates that the alarm routine is
96 * available.
97 */
98#define HAS_ALARM /**/
a687059c 99
ecfc5424 100/* HASATTRIBUTE:
101 * This symbol indicates the C compiler can check for function attributes,
102 * such as printf formats. This is normally only supported by GNU cc.
103 */
104/*#define HASATTRIBUTE /**/
105#ifndef HASATTRIBUTE
106#define __attribute__(_arg_)
107#endif
108
85e6fe83 109/* HAS_BCMP:
110 * This symbol is defined if the bcmp() routine is available to
111 * compare blocks of memory.
a687059c 112 */
85e6fe83 113#define HAS_BCMP /**/
a687059c 114
85e6fe83 115/* HAS_BCOPY:
116 * This symbol is defined if the bcopy() routine is available to
117 * copy blocks of memory.
a687059c 118 */
85e6fe83 119#define HAS_BCOPY /**/
fe14fcc3 120
85e6fe83 121/* HAS_BZERO:
122 * This symbol is defined if the bzero() routine is available to
123 * set a memory block to 0.
fe14fcc3 124 */
85e6fe83 125#define HAS_BZERO /**/
8d063cd8 126
a0d0e21e 127/* CASTI32:
128 * This symbol is defined if the C compiler can cast negative
129 * or large floating point numbers to 32-bit ints.
130 */
131/*#define CASTI32 /**/
132
85e6fe83 133/* CASTNEGFLOAT:
134 * This symbol is defined if the C compiler can cast negative
135 * numbers to unsigned longs, ints and shorts.
fe14fcc3 136 */
85e6fe83 137/* CASTFLAGS:
fe14fcc3 138 * This symbol contains flags that say what difficulties the compiler
139 * has casting odd floating values to unsigned long:
85e6fe83 140 * 0 = ok
fe14fcc3 141 * 1 = couldn't cast < 0
142 * 2 = couldn't cast >= 0x80000000
232e078e 143 * 4 = couldn't cast in argument expression list
fe14fcc3 144 */
ecfc5424 145/*#define CASTNEGFLOAT /**/
232e078e 146#define CASTFLAGS 7 /**/
a0d0e21e 147
148/* HAS_CHOWN:
149 * This symbol, if defined, indicates that the chown routine is
150 * available.
151 */
152#define HAS_CHOWN /**/
153
154/* HAS_CHROOT:
155 * This symbol, if defined, indicates that the chroot routine is
156 * available.
157 */
158#define HAS_CHROOT /**/
8d063cd8 159
85e6fe83 160/* HAS_CHSIZE:
fe14fcc3 161 * This symbol, if defined, indicates that the chsize routine is available
162 * to truncate files. You might need a -lx to get this routine.
163 */
16d20bd9 164/*#define HAS_CHSIZE /**/
ecfc5424 165
166/* VOID_CLOSEDIR:
167 * This symbol, if defined, indicates that the closedir() routine
168 * does not return a value.
169 */
170/*#define VOID_CLOSEDIR /**/
85e6fe83 171
172/* HASCONST:
173 * This symbol, if defined, indicates that this C compiler knows about
174 * the const type. There is no need to actually test for that symbol
175 * within your programs. The mere use of the "const" keyword will
176 * trigger the necessary tests.
177 */
ecfc5424 178/*#define HASCONST /**/
85e6fe83 179#ifndef HASCONST
180#define const
181#endif
fe14fcc3 182
85e6fe83 183/* HAS_CRYPT:
a687059c 184 * This symbol, if defined, indicates that the crypt routine is available
185 * to encrypt passwords and the like.
186 */
85e6fe83 187#define HAS_CRYPT /**/
fe14fcc3 188
a0d0e21e 189/* HAS_CUSERID:
190 * This symbol, if defined, indicates that the cuserid routine is
191 * available to get character login names.
a687059c 192 */
a0d0e21e 193#define HAS_CUSERID /**/
194
195/* HAS_DBL_DIG:
196 * This symbol, if defined, indicates that this system's <float.h>
197 * or <limits.h> defines the symbol DBL_DIG, which is the number
198 * of significant digits in a double precision number. If this
199 * symbol is not defined, a guess of 15 is usually pretty good.
200 */
201#define HAS_DBL_DIG /* */
202
203/* HAS_DIFFTIME:
204 * This symbol, if defined, indicates that the difftime routine is
205 * available.
206 */
207#define HAS_DIFFTIME /**/
a687059c 208
ecfc5424 209/* HAS_DLERROR:
210 * This symbol, if defined, indicates that the dlerror routine is
211 * available to return a string describing the last error that
212 * occurred from a call to dlopen(), dlclose() or dlsym().
213 */
214/*#define HAS_DLERROR /**/
215
216/* SETUID_SCRIPTS_ARE_SECURE_NOW:
217 * This symbol, if defined, indicates that the bug that prevents
218 * setuid scripts from being secure is not present in this kernel.
219 */
220/* DOSUID:
221 * This symbol, if defined, indicates that the C program should
222 * check the script that it is executing for setuid/setgid bits, and
223 * attempt to emulate setuid/setgid on systems that have disabled
224 * setuid #! scripts because the kernel can't do it securely.
225 * It is up to the package designer to make sure that this emulation
226 * is done securely. Among other things, it should do an fstat on
227 * the script it just opened to make sure it really is a setuid/setgid
228 * script, it should make sure the arguments passed correspond exactly
229 * to the argument on the #! line, and it should not trust any
230 * subprocesses to which it must pass the filename rather than the
231 * file descriptor of the script to be executed.
232 */
233/*#define SETUID_SCRIPTS_ARE_SECURE_NOW /**/
234/*#define DOSUID /**/
235
85e6fe83 236/* HAS_DUP2:
237 * This symbol, if defined, indicates that the dup2 routine is
238 * available to duplicate file descriptors.
a687059c 239 */
85e6fe83 240#define HAS_DUP2 /**/
a687059c 241
85e6fe83 242/* HAS_FCHMOD:
a687059c 243 * This symbol, if defined, indicates that the fchmod routine is available
244 * to change mode of opened files. If unavailable, use chmod().
245 */
a0d0e21e 246/*#define HAS_FCHMOD /**/
a687059c 247
85e6fe83 248/* HAS_FCHOWN:
a687059c 249 * This symbol, if defined, indicates that the fchown routine is available
250 * to change ownership of opened files. If unavailable, use chown().
251 */
a0d0e21e 252/*#define HAS_FCHOWN /**/
a687059c 253
85e6fe83 254/* HAS_FCNTL:
fe14fcc3 255 * This symbol, if defined, indicates to the C program that
256 * the fcntl() function exists.
a687059c 257 */
85e6fe83 258#define HAS_FCNTL /**/
a687059c 259
a0d0e21e 260/* HAS_FGETPOS:
261 * This symbol, if defined, indicates that the fgetpos routine is
262 * available to get the file position indicator, similar to ftell().
263 */
264/*#define HAS_FGETPOS /**/
265
85e6fe83 266/* FLEXFILENAMES:
fe14fcc3 267 * This symbol, if defined, indicates that the system supports filenames
268 * longer than 14 characters.
269 */
a0d0e21e 270/*#define FLEXFILENAMES /**/
fe14fcc3 271
85e6fe83 272/* HAS_FLOCK:
273 * This symbol, if defined, indicates that the flock routine is
a687059c 274 * available to do file locking.
275 */
a0d0e21e 276/*#define HAS_FLOCK /**/
277
278/* HAS_FORK:
279 * This symbol, if defined, indicates that the fork routine is
280 * available.
281 */
282#define HAS_FORK /**/
283
284/* HAS_FSETPOS:
285 * This symbol, if defined, indicates that the fsetpos routine is
286 * available to set the file position indicator, similar to fseek().
287 */
288/*#define HAS_FSETPOS /**/
a687059c 289
ecfc5424 290/* Gconvert:
291 * This preprocessor macro is defined to convert a floating point
292 * number to a string without a trailing decimal point. This
293 * emulates the behavior of sprintf("%g"), but is sometimes much more
294 * efficient. If gconvert() is not available, but gcvt() drops the
295 * trailing decimal point, then gcvt() is used. If all else fails,
296 * a macro using sprintf("%g") is used. Arguments for the Gconvert
297 * macro are: value, number of digits, whether trailing zeros should
298 * be retained, and the output buffer.
16d20bd9 299 * Possible values are:
300 * d_Gconvert='gconvert((x),(n),(t),(b))'
301 * d_Gconvert='gcvt((x),(n),(b))'
302 * d_Gconvert='sprintf((b),"%.*g",(n),(x))'
303 * The last two assume trailing zeros should not be kept.
ecfc5424 304 */
305#define Gconvert(x,n,t,b) sprintf((b),"%.*g",(n),(x))
306
85e6fe83 307/* HAS_GETGROUPS:
a687059c 308 * This symbol, if defined, indicates that the getgroups() routine is
309 * available to get the list of process groups. If unavailable, multiple
310 * groups are probably not supported.
311 */
85e6fe83 312#define HAS_GETGROUPS /**/
a687059c 313
85e6fe83 314/* HAS_GETHOSTENT:
315 * This symbol, if defined, indicates that the gethostent routine is
a687059c 316 * available to lookup host names in some data base or other.
317 */
a0d0e21e 318/*#define HAS_GETHOSTENT /**/
85e6fe83 319
320/* HAS_UNAME:
321 * This symbol, if defined, indicates that the C program may use the
322 * uname() routine to derive the host name. See also HAS_GETHOSTNAME
323 * and PHOSTNAME.
324 */
325#define HAS_UNAME /**/
a687059c 326
a0d0e21e 327/* HAS_GETLOGIN:
328 * This symbol, if defined, indicates that the getlogin routine is
329 * available to get the login name.
330 */
331#define HAS_GETLOGIN /**/
332
85e6fe83 333/* HAS_GETPGRP:
334 * This symbol, if defined, indicates that the getpgrp routine is
a687059c 335 * available to get the current process group.
336 */
85e6fe83 337#define HAS_GETPGRP /**/
fe14fcc3 338
85e6fe83 339/* HAS_GETPGRP2:
fe14fcc3 340 * This symbol, if defined, indicates that the getpgrp2() (as in DG/UX)
341 * routine is available to get the current process group.
342 */
85e6fe83 343/*#define HAS_GETPGRP2 /**/
a687059c 344
a0d0e21e 345/* HAS_GETPPID:
346 * This symbol, if defined, indicates that the getppid routine is
347 * available to get the parent process ID.
348 */
349#define HAS_GETPPID /**/
350
85e6fe83 351/* HAS_GETPRIORITY:
352 * This symbol, if defined, indicates that the getpriority routine is
a687059c 353 * available to get a process's priority.
354 */
a0d0e21e 355/*#define HAS_GETPRIORITY /**/
356
a0d0e21e 357/* HAS_HTONL:
358 * This symbol, if defined, indicates that the htonl() routine (and
359 * friends htons() ntohl() ntohs()) are available to do network
360 * order byte swapping.
361 */
362/* HAS_HTONS:
363 * This symbol, if defined, indicates that the htons() routine (and
364 * friends htonl() ntohl() ntohs()) are available to do network
365 * order byte swapping.
366 */
367/* HAS_NTOHL:
368 * This symbol, if defined, indicates that the ntohl() routine (and
369 * friends htonl() htons() ntohs()) are available to do network
370 * order byte swapping.
371 */
372/* HAS_NTOHS:
373 * This symbol, if defined, indicates that the ntohs() routine (and
374 * friends htonl() htons() ntohl()) are available to do network
375 * order byte swapping.
376 */
377#define HAS_HTONL /**/
378#define HAS_HTONS /**/
379#define HAS_NTOHL /**/
380#define HAS_NTOHS /**/
a687059c 381
ecfc5424 382/* HAS_ISASCII:
383 * This manifest constant lets the C program know that isascii
384 * is available.
385 */
386#define HAS_ISASCII /**/
387
85e6fe83 388/* HAS_KILLPG:
a687059c 389 * This symbol, if defined, indicates that the killpg routine is available
390 * to kill process groups. If unavailable, you probably should use kill
391 * with a negative process number.
392 */
a0d0e21e 393/*#define HAS_KILLPG /**/
a687059c 394
85e6fe83 395/* HAS_LINK:
396 * This symbol, if defined, indicates that the link routine is
397 * available to create hard links.
fe14fcc3 398 */
85e6fe83 399#define HAS_LINK /**/
fe14fcc3 400
ecfc5424 401/* HAS_LOCALECONV:
402 * This symbol, if defined, indicates that the localeconv routine is
403 * available for numeric and monetary formatting conventions.
404 */
405#define HAS_LOCALECONV /**/
406
a0d0e21e 407/* HAS_LOCKF:
408 * This symbol, if defined, indicates that the lockf routine is
409 * available to do file locking.
410 */
411#define HAS_LOCKF /**/
412
85e6fe83 413/* HAS_LSTAT:
414 * This symbol, if defined, indicates that the lstat routine is
415 * available to do file stats on symbolic links.
a687059c 416 */
85e6fe83 417#define HAS_LSTAT /**/
a687059c 418
a0d0e21e 419/* HAS_MBLEN:
420 * This symbol, if defined, indicates that the mblen routine is available
421 * to find the number of bytes in a multibye character.
422 */
423/*#define HAS_MBLEN /**/
424
425/* HAS_MBSTOWCS:
426 * This symbol, if defined, indicates that the mbstowcs routine is
427 * available to covert a multibyte string into a wide character string.
428 */
429/*#define HAS_MBSTOWCS /**/
430
431/* HAS_MBTOWC:
432 * This symbol, if defined, indicates that the mbtowc routine is available
433 * to covert a multibyte to a wide character.
434 */
435/*#define HAS_MBTOWC /**/
436
85e6fe83 437/* HAS_MEMCMP:
438 * This symbol, if defined, indicates that the memcmp routine is available
439 * to compare blocks of memory.
a687059c 440 */
85e6fe83 441#define HAS_MEMCMP /**/
442
443/* HAS_MEMCPY:
68decaef 444 * This symbol, if defined, indicates that the memcpy routine is available
85e6fe83 445 * to copy blocks of memory.
68decaef 446 */
85e6fe83 447#define HAS_MEMCPY /**/
68decaef 448
85e6fe83 449/* HAS_MEMMOVE:
68decaef 450 * This symbol, if defined, indicates that the memmove routine is available
85e6fe83 451 * to copy potentially overlapping blocks of memory. This should be used
452 * only when HAS_SAFE_BCOPY is not defined. If neither is there, roll your
453 * own version.
68decaef 454 */
85e6fe83 455/*#define HAS_MEMMOVE /**/
68decaef 456
85e6fe83 457/* HAS_MEMSET:
68decaef 458 * This symbol, if defined, indicates that the memset routine is available
85e6fe83 459 * to set blocks of memory.
68decaef 460 */
85e6fe83 461#define HAS_MEMSET /**/
a687059c 462
85e6fe83 463/* HAS_MKDIR:
a687059c 464 * This symbol, if defined, indicates that the mkdir routine is available
465 * to create directories. Otherwise you should fork off a new process to
466 * exec /bin/mkdir.
467 */
85e6fe83 468#define HAS_MKDIR /**/
fe14fcc3 469
ecfc5424 470/* HAS_MKFIFO:
471 * This symbol, if defined, indicates that the mkfifo routine is
472 * available to create FIFOs. Otherwise, mknod should be able to
473 * do it for you. However, if mkfifo is there, mknod might require
474 * super-user privileges which mkfifo will not.
475 */
476#define HAS_MKFIFO /**/
477
a0d0e21e 478/* HAS_MKTIME:
479 * This symbol, if defined, indicates that the mktime routine is
480 * available.
481 */
482#define HAS_MKTIME /**/
483
85e6fe83 484/* HAS_MSG:
fe14fcc3 485 * This symbol, if defined, indicates that the entire msg*(2) library is
85e6fe83 486 * supported (IPC mechanism based on message queues).
fe14fcc3 487 */
85e6fe83 488#define HAS_MSG /**/
fe14fcc3 489
a0d0e21e 490/* HAS_NICE:
491 * This symbol, if defined, indicates that the nice routine is
492 * available.
fe14fcc3 493 */
a0d0e21e 494#define HAS_NICE /**/
fe14fcc3 495
a0d0e21e 496/* HAS_OPEN3:
497 * This manifest constant lets the C program know that the three
498 * argument form of open(2) is available.
fe14fcc3 499 */
a0d0e21e 500#define HAS_OPEN3 /**/
fe14fcc3 501
ecfc5424 502/* HAS_PATHCONF:
503 * This symbol, if defined, indicates that pathconf() is available
504 * to determine file-system related limits and options associated
505 * with a given filename.
506 */
507/* HAS_FPATHCONF:
508 * This symbol, if defined, indicates that pathconf() is available
509 * to determine file-system related limits and options associated
510 * with a given open file descriptor.
511 */
512#define HAS_PATHCONF /**/
513#define HAS_FPATHCONF /**/
514
a0d0e21e 515/* HAS_PAUSE:
516 * This symbol, if defined, indicates that the pause routine is
517 * available to suspend a process until a signal is received.
a687059c 518 */
a0d0e21e 519#define HAS_PAUSE /**/
fe14fcc3 520
a0d0e21e 521/* HAS_PIPE:
522 * This symbol, if defined, indicates that the pipe routine is
523 * available to create an inter-process channel.
fe14fcc3 524 */
a0d0e21e 525#define HAS_PIPE /**/
526
527/* HAS_READDIR:
528 * This symbol, if defined, indicates that the readdir routine is
529 * available to read directory entries. You may have to include
530 * <dirent.h>. See I_DIRENT.
531 */
532#define HAS_READDIR /**/
533
534/* HAS_SEEKDIR:
535 * This symbol, if defined, indicates that the seekdir routine is
536 * available. You may have to include <dirent.h>. See I_DIRENT.
537 */
538#define HAS_SEEKDIR /**/
539
540/* HAS_TELLDIR:
541 * This symbol, if defined, indicates that the telldir routine is
542 * available. You may have to include <dirent.h>. See I_DIRENT.
543 */
544#define HAS_TELLDIR /**/
545
546/* HAS_REWINDDIR:
547 * This symbol, if defined, indicates that the rewinddir routine is
548 * available. You may have to include <dirent.h>. See I_DIRENT.
549 */
550#define HAS_REWINDDIR /**/
551
552/* HAS_READLINK:
553 * This symbol, if defined, indicates that the readlink routine is
554 * available to read the value of a symbolic link.
555 */
556#define HAS_READLINK /**/
a687059c 557
85e6fe83 558/* HAS_RENAME:
a687059c 559 * This symbol, if defined, indicates that the rename routine is available
560 * to rename files. Otherwise you should do the unlink(), link(), unlink()
561 * trick.
562 */
85e6fe83 563#define HAS_RENAME /**/
a687059c 564
85e6fe83 565/* HAS_RMDIR:
566 * This symbol, if defined, indicates that the rmdir routine is
567 * available to remove directories. Otherwise you should fork off a
568 * new process to exec /bin/rmdir.
68decaef 569 */
85e6fe83 570#define HAS_RMDIR /**/
68decaef 571
ecfc5424 572/* HAS_SAFE_BCOPY:
573 * This symbol, if defined, indicates that the bcopy routine is available
574 * to copy potentially overlapping memory blocks. Otherwise you should
575 * probably use memmove() or memcpy(). If neither is defined, roll your
576 * own version.
577 */
578#define HAS_SAFE_BCOPY /**/
579
580/* HAS_SAFE_MEMCPY:
581 * This symbol, if defined, indicates that the memcpy routine is available
582 * to copy potentially overlapping memory blocks. Otherwise you should
583 * probably use memmove() or memcpy(). If neither is defined, roll your
584 * own version.
585 */
232e078e 586/*#define HAS_SAFE_MEMCPY /**/
ecfc5424 587
85e6fe83 588/* HAS_SELECT:
589 * This symbol, if defined, indicates that the select routine is
590 * available to select active file descriptors. If the timeout field
591 * is used, <sys/time.h> may need to be included.
68decaef 592 */
85e6fe83 593#define HAS_SELECT /**/
68decaef 594
85e6fe83 595/* HAS_SEM:
fe14fcc3 596 * This symbol, if defined, indicates that the entire sem*(2) library is
597 * supported.
598 */
85e6fe83 599#define HAS_SEM /**/
fe14fcc3 600
85e6fe83 601/* HAS_SETEGID:
a687059c 602 * This symbol, if defined, indicates that the setegid routine is available
603 * to change the effective gid of the current program.
604 */
85e6fe83 605#define HAS_SETEGID /**/
a687059c 606
85e6fe83 607/* HAS_SETEUID:
a687059c 608 * This symbol, if defined, indicates that the seteuid routine is available
609 * to change the effective uid of the current program.
610 */
85e6fe83 611#define HAS_SETEUID /**/
612
a0d0e21e 613/* HAS_SETLINEBUF:
614 * This symbol, if defined, indicates that the setlinebuf routine is
615 * available to change stderr or stdout from block-buffered or unbuffered
616 * to a line-buffered mode.
617 */
618/*#define HAS_SETLINEBUF /**/
619
620/* HAS_SETLOCALE:
621 * This symbol, if defined, indicates that the setlocale routine is
622 * available to handle locale-specific ctype implementations.
623 */
624#define HAS_SETLOCALE /**/
625
85e6fe83 626/* HAS_SETPGID:
627 * This symbol, if defined, indicates that the setpgid routine is
628 * available to set process group ID.
629 */
630#define HAS_SETPGID /**/
a687059c 631
85e6fe83 632/* HAS_SETPGRP:
633 * This symbol, if defined, indicates that the setpgrp routine is
a687059c 634 * available to set the current process group.
635 */
ecfc5424 636/* USE_BSDPGRP:
637 * This symbol, if defined, indicates that the BSD notion of process
638 * group is to be used. For instance, you have to say setpgrp(pid, pgrp)
639 * instead of the USG setpgrp().
640 */
85e6fe83 641#define HAS_SETPGRP /**/
ecfc5424 642/*#define USE_BSDPGRP /**/
a687059c 643
85e6fe83 644/* HAS_SETPGRP2:
fe14fcc3 645 * This symbol, if defined, indicates that the setpgrp2() (as in DG/UX)
646 * routine is available to set the current process group.
647 */
85e6fe83 648/*#define HAS_SETPGRP2 /**/
fe14fcc3 649
85e6fe83 650/* HAS_SETPRIORITY:
651 * This symbol, if defined, indicates that the setpriority routine is
a687059c 652 * available to set a process's priority.
653 */
a0d0e21e 654/*#define HAS_SETPRIORITY /**/
a687059c 655
85e6fe83 656/* HAS_SETREGID:
fe14fcc3 657 * This symbol, if defined, indicates that the setregid routine is
85e6fe83 658 * available to change the real and effective gid of the current
659 * process.
a687059c 660 */
85e6fe83 661/* HAS_SETRESGID:
fe14fcc3 662 * This symbol, if defined, indicates that the setresgid routine is
663 * available to change the real, effective and saved gid of the current
85e6fe83 664 * process.
fe14fcc3 665 */
85e6fe83 666#define HAS_SETREGID /**/
667/*#define HAS_SETRESGID /**/
a687059c 668
85e6fe83 669/* HAS_SETREUID:
fe14fcc3 670 * This symbol, if defined, indicates that the setreuid routine is
85e6fe83 671 * available to change the real and effective uid of the current
672 * process.
fe14fcc3 673 */
85e6fe83 674/* HAS_SETRESUID:
fe14fcc3 675 * This symbol, if defined, indicates that the setresuid routine is
676 * available to change the real, effective and saved uid of the current
85e6fe83 677 * process.
a687059c 678 */
85e6fe83 679#define HAS_SETREUID /**/
680/*#define HAS_SETRESUID /**/
a687059c 681
85e6fe83 682/* HAS_SETRGID:
a687059c 683 * This symbol, if defined, indicates that the setrgid routine is available
684 * to change the real gid of the current program.
685 */
a0d0e21e 686/*#define HAS_SETRGID /**/
a687059c 687
85e6fe83 688/* HAS_SETRUID:
a687059c 689 * This symbol, if defined, indicates that the setruid routine is available
690 * to change the real uid of the current program.
691 */
a0d0e21e 692/*#define HAS_SETRUID /**/
fe14fcc3 693
85e6fe83 694/* HAS_SETSID:
695 * This symbol, if defined, indicates that the setsid routine is
696 * available to set the process group ID.
fe14fcc3 697 */
85e6fe83 698#define HAS_SETSID /**/
fe14fcc3 699
85e6fe83 700/* HAS_SHM:
701 * This symbol, if defined, indicates that the entire shm*(2) library is
702 * supported.
2b317908 703 */
85e6fe83 704#define HAS_SHM /**/
fe14fcc3 705
a0d0e21e 706/* Shmat_t:
707 * This symbol holds the return type of the shmat() system call.
708 * Usually set to 'void *' or 'char *'.
fe14fcc3 709 */
a0d0e21e 710/* HAS_SHMAT_PROTOTYPE:
711 * This symbol, if defined, indicates that the sys/shm.h includes
712 * a prototype for shmat(). Otherwise, it is up to the program to
713 * guess one. Shmat_t shmat _((int, Shmat_t, int)) is a good guess,
714 * but not always right so it should be emitted by the program only
715 * when HAS_SHMAT_PROTOTYPE is not defined to avoid conflicting defs.
fe14fcc3 716 */
a0d0e21e 717#define Shmat_t char * /**/
718/*#define HAS_SHMAT_PROTOTYPE /**/
a687059c 719
85e6fe83 720/* HAS_SOCKET:
a687059c 721 * This symbol, if defined, indicates that the BSD socket interface is
722 * supported.
723 */
85e6fe83 724/* HAS_SOCKETPAIR:
725 * This symbol, if defined, indicates that the BSD socketpair() call is
a687059c 726 * supported.
727 */
85e6fe83 728#define HAS_SOCKET /**/
a0d0e21e 729/*#define HAS_SOCKETPAIR /**/
a687059c 730
85e6fe83 731/* USE_STAT_BLOCKS:
a687059c 732 * This symbol is defined if this system has a stat structure declaring
733 * st_blksize and st_blocks.
734 */
a0d0e21e 735/*#define USE_STAT_BLOCKS /**/
a687059c 736
16d20bd9 737/* USE_STDIO_PTR:
738 * This symbol is defined if the _ptr and _cnt fields (or similar)
739 * of the stdio FILE structure can be used to access the stdio buffer
740 * for a file handle. If this is defined, then the FILE_ptr(fp)
741 * and FILE_cnt(fp) macros will also be defined and should be used
742 * to access these fields.
743 */
744/* USE_STDIO_BASE:
745 * This symbol is defined if the _base field (or similar) of the
746 * stdio FILE structure can be used to access the stdio buffer for
747 * a file handle. If this is defined, then the FILE_base(fp) macro
748 * will also be defined and should be used to access this field.
749 * Also, the FILE_bufsiz(fp) macro will be defined and should be used
750 * to determine the number of bytes in the buffer. USE_STDIO_BASE
751 * will never be defined unless USE_STDIO_PTR is.
752 */
753#define USE_STDIO_PTR /**/
754#define USE_STDIO_BASE /**/
755
756/* FILE_ptr:
757 * This macro is used to access the _ptr field (or equivalent) of the
758 * FILE structure pointed to by its argument. This macro will always be
759 * defined if USE_STDIO_PTR is defined.
760 */
c2960299 761/* STDIO_PTR_LVALUE:
762 * This symbol is defined if the FILE_ptr macro can be used as an
763 * lvalue.
764 */
16d20bd9 765/* FILE_cnt:
766 * This macro is used to access the _cnt field (or equivalent) of the
767 * FILE structure pointed to by its argument. This macro will always be
768 * defined if USE_STDIO_PTR is defined.
769 */
c2960299 770/* STDIO_CNT_LVALUE:
771 * This symbol is defined if the FILE_cnt macro can be used as an
772 * lvalue.
773 */
16d20bd9 774#ifdef USE_STDIO_PTR
775#define FILE_ptr(fp) ((fp)->_ptr)
4aa0a1f7 776#define STDIO_PTR_LVALUE /**/
16d20bd9 777#define FILE_cnt(fp) ((fp)->_cnt)
4aa0a1f7 778#define STDIO_CNT_LVALUE /**/
16d20bd9 779#endif
780
781/* FILE_base:
782 * This macro is used to access the _base field (or equivalent) of the
783 * FILE structure pointed to by its argument. This macro will always be
784 * defined if USE_STDIO_BASE is defined.
785 */
786/* FILE_bufsiz:
787 * This macro is used to determine the number of bytes in the I/O
788 * buffer pointed to by _base field (or equivalent) of the FILE
789 * structure pointed to its argument. This macro will always be defined
790 * if USE_STDIO_BASE is defined.
a687059c 791 */
16d20bd9 792#ifdef USE_STDIO_BASE
793#define FILE_base(fp) ((fp)->_base)
794#define FILE_bufsiz(fp) ((fp)->_cnt + (fp)->_ptr - (fp)->_base)
795#endif
8d063cd8 796
a0d0e21e 797/* HAS_STRCHR:
798 * This symbol is defined to indicate that the strchr()/strrchr()
799 * functions are available for string searching. If not, try the
800 * index()/rindex() pair.
801 */
802/* HAS_INDEX:
803 * This symbol is defined to indicate that the index()/rindex()
804 * functions are available for string searching.
805 */
806#define HAS_STRCHR /**/
807/*#define HAS_INDEX /**/
808
809/* HAS_STRCOLL:
810 * This symbol, if defined, indicates that the strcoll routine is
811 * available to compare strings using collating information.
812 */
813#define HAS_STRCOLL /**/
814
85e6fe83 815/* USE_STRUCT_COPY:
8d063cd8 816 * This symbol, if defined, indicates that this C compiler knows how
817 * to copy structures. If undefined, you'll need to use a block copy
818 * routine of some sort instead.
819 */
85e6fe83 820#define USE_STRUCT_COPY /**/
fe14fcc3 821
a0d0e21e 822/* HAS_STRERROR:
823 * This symbol, if defined, indicates that the strerror routine is
824 * available to translate error numbers to strings. See the writeup
825 * of Strerror() in this file before you try to define your own.
826 */
827/* HAS_SYS_ERRLIST:
828 * This symbol, if defined, indicates that the sys_errlist array is
829 * available to translate error numbers to strings. The extern int
830 * sys_nerr gives the size of that table.
831 */
832/* Strerror:
833 * This preprocessor symbol is defined as a macro if strerror() is
834 * not available to translate error numbers to strings but sys_errlist[]
835 * array is there.
836 */
837#define HAS_STRERROR /**/
838#define HAS_SYS_ERRLIST /**/
839#define Strerror(e) strerror(e)
840
841/* HAS_STRXFRM:
842 * This symbol, if defined, indicates that the strxfrm() routine is
843 * available to transform strings.
844 */
845#define HAS_STRXFRM /**/
846
85e6fe83 847/* HAS_SYMLINK:
a687059c 848 * This symbol, if defined, indicates that the symlink routine is available
849 * to create symbolic links.
850 */
85e6fe83 851#define HAS_SYMLINK /**/
a687059c 852
85e6fe83 853/* HAS_SYSCALL:
854 * This symbol, if defined, indicates that the syscall routine is
855 * available to call arbitrary system calls. If undefined, that's tough.
a687059c 856 */
85e6fe83 857#define HAS_SYSCALL /**/
a687059c 858
ecfc5424 859/* HAS_SYSCONF:
860 * This symbol, if defined, indicates that sysconf() is available
861 * to determine system related limits and options.
862 */
863#define HAS_SYSCONF /**/
864
85e6fe83 865/* HAS_SYSTEM:
866 * This symbol, if defined, indicates that the system routine is
867 * available to issue a shell command.
68decaef 868 */
85e6fe83 869#define HAS_SYSTEM /**/
68decaef 870
a0d0e21e 871/* HAS_TCGETPGRP:
872 * This symbol, if defined, indicates that the tcgetpgrp routine is
873 * available to get foreground process group ID.
874 */
875#define HAS_TCGETPGRP /**/
876
877/* HAS_TCSETPGRP:
878 * This symbol, if defined, indicates that the tcsetpgrp routine is
879 * available to set foreground process group ID.
85e6fe83 880 */
a0d0e21e 881#define HAS_TCSETPGRP /**/
85e6fe83 882
ecfc5424 883/* Time_t:
884 * This symbol holds the type returned by time(). It can be long,
885 * or time_t on BSD sites (in which case <sys/types.h> should be
886 * included).
887 */
888#define Time_t time_t /* Time type */
889
85e6fe83 890/* HAS_TIMES:
891 * This symbol, if defined, indicates that the times() routine exists.
892 * Note that this became obsolete on some systems (SUNOS), which now
893 * use getrusage(). It may be necessary to include <sys/times.h>.
894 */
895#define HAS_TIMES /**/
896
897/* HAS_TRUNCATE:
fe14fcc3 898 * This symbol, if defined, indicates that the truncate routine is
899 * available to truncate files.
a687059c 900 */
a0d0e21e 901/*#define HAS_TRUNCATE /**/
902
903/* HAS_TZNAME:
904 * This symbol, if defined, indicates that the tzname[] array is
905 * available to access timezone names.
906 */
907#define HAS_TZNAME /**/
908
909/* HAS_UMASK:
910 * This symbol, if defined, indicates that the umask routine is
911 * available to set and get the value of the file creation mask.
912 */
913#define HAS_UMASK /**/
a687059c 914
a0d0e21e 915/* HAS_VFORK:
916 * This symbol, if defined, indicates that vfork() exists.
8d063cd8 917 */
a0d0e21e 918/*#define HAS_VFORK /**/
a687059c 919
ecfc5424 920/* Signal_t:
921 * This symbol's value is either "void" or "int", corresponding to the
922 * appropriate return type of a signal handler. Thus, you can declare
923 * a signal handler using "Signal_t (*handler)()", and define the
924 * handler using "Signal_t handler(sig)".
925 */
ecfc5424 926#define Signal_t void /* Signal handler's return type */
a687059c 927
85e6fe83 928/* HASVOLATILE:
fe14fcc3 929 * This symbol, if defined, indicates that this C compiler knows about
930 * the volatile declaration.
931 */
ecfc5424 932/*#define HASVOLATILE /**/
85e6fe83 933#ifndef HASVOLATILE
934#define volatile
935#endif
fe14fcc3 936
85e6fe83 937/* HAS_VPRINTF:
a687059c 938 * This symbol, if defined, indicates that the vprintf routine is available
939 * to printf with a pointer to an argument list. If unavailable, you
940 * may need to write your own, probably in terms of _doprnt().
941 */
85e6fe83 942/* USE_CHAR_VSPRINTF:
a687059c 943 * This symbol is defined if this system has vsprintf() returning type
944 * (char*). The trend seems to be to declare it as "int vsprintf()". It
945 * is up to the package author to declare vsprintf correctly based on the
946 * symbol.
947 */
85e6fe83 948#define HAS_VPRINTF /**/
a0d0e21e 949/*#define USE_CHAR_VSPRINTF /**/
a687059c 950
85e6fe83 951/* HAS_WAIT4:
fe14fcc3 952 * This symbol, if defined, indicates that wait4() exists.
953 */
a0d0e21e 954/*#define HAS_WAIT4 /**/
fe14fcc3 955
85e6fe83 956/* HAS_WAITPID:
957 * This symbol, if defined, indicates that the waitpid routine is
958 * available to wait for child process.
fe14fcc3 959 */
85e6fe83 960#define HAS_WAITPID /**/
fe14fcc3 961
a0d0e21e 962/* HAS_WCSTOMBS:
963 * This symbol, if defined, indicates that the wcstombs routine is
964 * available to convert wide character strings to multibyte strings.
965 */
966/*#define HAS_WCSTOMBS /**/
967
968/* HAS_WCTOMB:
969 * This symbol, if defined, indicates that the wctomb routine is available
970 * to covert a wide character to a multibyte.
971 */
972/*#define HAS_WCTOMB /**/
973
974/* Fpos_t:
975 * This symbol holds the type used to declare file positions in libc.
976 * It can be fpos_t, long, uint, etc... It may be necessary to include
977 * <sys/types.h> to get any typedef'ed information.
978 */
979#define Fpos_t fpos_t /* File position type */
980
981/* Gid_t:
982 * This symbol holds the return type of getgid() and the type of
983 * argument to setrgid() and related functions. Typically,
984 * it is the type of group ids in the kernel. It can be int, ushort,
985 * uid_t, etc... It may be necessary to include <sys/types.h> to get
986 * any typedef'ed information.
a687059c 987 */
a0d0e21e 988#define Gid_t gid_t /* Type for getgid(), etc... */
2b317908 989
ecfc5424 990/* Groups_t:
991 * This symbol holds the type used for the second argument to
992 * getgroups(). Usually, this is the same of gidtype, but
993 * sometimes it isn't. It can be int, ushort, uid_t, etc...
994 * It may be necessary to include <sys/types.h> to get any
995 * typedef'ed information. This is only required if you have
996 * getgroups().
997 */
998#ifdef HAS_GETGROUPS
999#define Groups_t gid_t /* Type for 2nd arg to getgroups() */
1000#endif
1001
232e078e 1002/* DB_Prefix_t:
1003 * This symbol contains the type of the prefix structure element
1004 * in the <db.h> header file. In older versions of DB, it was
1005 * int, while in newer ones it is u_int32_t.
1006 */
1007/* DB_Hash_t:
1008 * This symbol contains the type of the prefix structure element
1009 * in the <db.h> header file. In older versions of DB, it was
1010 * int, while in newer ones it is size_t.
1011 */
1012#define DB_Hash_t int /**/
1013#define DB_Prefix_t int /**/
1014
85e6fe83 1015/* I_DIRENT:
1016 * This symbol, if defined, indicates to the C program that it should
1017 * include <dirent.h>. Using this symbol also triggers the definition
1018 * of the Direntry_t define which ends up being 'struct dirent' or
1019 * 'struct direct' depending on the availability of <dirent.h>.
1020 */
1021/* DIRNAMLEN:
1022 * This symbol, if defined, indicates to the C program that the length
1023 * of directory entry names is provided by a d_namlen field. Otherwise
1024 * you need to do strlen() on the d_name field.
2b317908 1025 */
a0d0e21e 1026/* Direntry_t:
1027 * This symbol is set to 'struct direct' or 'struct dirent' depending on
1028 * whether dirent is available or not. You should use this pseudo type to
1029 * portably declare your directory entries.
1030 */
85e6fe83 1031#define I_DIRENT /**/
1032/*#define DIRNAMLEN /**/
85e6fe83 1033#define Direntry_t struct dirent
a0d0e21e 1034
1035/* I_DLFCN:
1036 * This symbol, if defined, indicates that <dlfcn.h> exists and should
1037 * be included.
1038 */
1039/*#define I_DLFCN /**/
a687059c 1040
85e6fe83 1041/* I_FCNTL:
fe14fcc3 1042 * This manifest constant tells the C program to include <fcntl.h>.
a687059c 1043 */
a0d0e21e 1044#define I_FCNTL /**/
a687059c 1045
a0d0e21e 1046/* I_FLOAT:
1047 * This symbol, if defined, indicates to the C program that it should
1048 * include <float.h> to get definition of symbols like DBL_MAX or
1049 * DBL_MIN, i.e. machine dependent floating point values.
a687059c 1050 */
a0d0e21e 1051#define I_FLOAT /**/
a687059c 1052
85e6fe83 1053/* I_GRP:
a687059c 1054 * This symbol, if defined, indicates to the C program that it should
85e6fe83 1055 * include <grp.h>.
a687059c 1056 */
85e6fe83 1057#define I_GRP /**/
a687059c 1058
a0d0e21e 1059/* I_LIMITS:
1060 * This symbol, if defined, indicates to the C program that it should
1061 * include <limits.h> to get definition of symbols like WORD_BIT or
1062 * LONG_MAX, i.e. machine dependant limitations.
1063 */
1064#define I_LIMITS /**/
1065
1066/* I_MATH:
1067 * This symbol, if defined, indicates to the C program that it should
1068 * include <math.h>.
1069 */
1070#define I_MATH /**/
1071
1072/* I_MEMORY:
1073 * This symbol, if defined, indicates to the C program that it should
1074 * include <memory.h>.
1075 */
1076/*#define I_MEMORY /**/
1077
232e078e 1078/* I_NDBM:
16d20bd9 1079 * This symbol, if defined, indicates that <ndbm.h> exists and should
232e078e 1080 * be included.
1081 */
1082#define I_NDBM /**/
1083
ecfc5424 1084/* I_NET_ERRNO:
1085 * This symbol, if defined, indicates that <net/errno.h> exists and
1086 * should be included.
fe14fcc3 1087 */
ecfc5424 1088#define I_NET_ERRNO /**/
fe14fcc3 1089
85e6fe83 1090/* I_NETINET_IN:
a687059c 1091 * This symbol, if defined, indicates to the C program that it should
85e6fe83 1092 * include <netinet/in.h>. Otherwise, you may try <sys/in.h>.
a687059c 1093 */
85e6fe83 1094#define I_NETINET_IN /**/
85e6fe83 1095
a0d0e21e 1096/* I_PWD:
1097 * This symbol, if defined, indicates to the C program that it should
1098 * include <pwd.h>.
1099 */
1100/* PWQUOTA:
1101 * This symbol, if defined, indicates to the C program that struct passwd
1102 * contains pw_quota.
1103 */
1104/* PWAGE:
1105 * This symbol, if defined, indicates to the C program that struct passwd
1106 * contains pw_age.
1107 */
1108/* PWCHANGE:
1109 * This symbol, if defined, indicates to the C program that struct passwd
1110 * contains pw_change.
fe14fcc3 1111 */
a0d0e21e 1112/* PWCLASS:
1113 * This symbol, if defined, indicates to the C program that struct passwd
1114 * contains pw_class.
1115 */
1116/* PWEXPIRE:
1117 * This symbol, if defined, indicates to the C program that struct passwd
1118 * contains pw_expire.
1119 */
1120/* PWCOMMENT:
1121 * This symbol, if defined, indicates to the C program that struct passwd
1122 * contains pw_comment.
1123 */
1124#define I_PWD /**/
1125/*#define PWQUOTA /**/
1126#define PWAGE /**/
1127/*#define PWCHANGE /**/
1128/*#define PWCLASS /**/
1129/*#define PWEXPIRE /**/
1130#define PWCOMMENT /**/
85e6fe83 1131
1132/* I_STDDEF:
1133 * This symbol, if defined, indicates that <stddef.h> exists and should
1134 * be included.
fe14fcc3 1135 */
85e6fe83 1136#define I_STDDEF /**/
1137
a0d0e21e 1138/* I_STDLIB:
1139 * This symbol, if defined, indicates that <stdlib.h> exists and should
1140 * be included.
1141 */
1142#define I_STDLIB /**/
1143
85e6fe83 1144/* I_STRING:
1145 * This symbol, if defined, indicates to the C program that it should
1146 * include <string.h> (USG systems) instead of <strings.h> (BSD systems).
fe14fcc3 1147 */
85e6fe83 1148#define I_STRING /**/
1149
1150/* I_SYS_DIR:
1151 * This symbol, if defined, indicates to the C program that it should
1152 * include <sys/dir.h>.
fe14fcc3 1153 */
85e6fe83 1154#define I_SYS_DIR /**/
a687059c 1155
85e6fe83 1156/* I_SYS_FILE:
1157 * This symbol, if defined, indicates to the C program that it should
1158 * include <sys/file.h> to get definition of R_OK and friends.
a687059c 1159 */
a0d0e21e 1160/*#define I_SYS_FILE /**/
a687059c 1161
85e6fe83 1162/* I_SYS_IOCTL:
1163 * This symbol, if defined, indicates that <sys/ioctl.h> exists and should
1164 * be included. Otherwise, include <sgtty.h> or <termio.h>.
a687059c 1165 */
85e6fe83 1166#define I_SYS_IOCTL /**/
a687059c 1167
85e6fe83 1168/* I_SYS_NDIR:
1169 * This symbol, if defined, indicates to the C program that it should
1170 * include <sys/ndir.h>.
fe14fcc3 1171 */
85e6fe83 1172/*#define I_SYS_NDIR /**/
1173
a0d0e21e 1174/* I_SYS_PARAM:
1175 * This symbol, if defined, indicates to the C program that it should
1176 * include <sys/param.h>.
1177 */
1178#define I_SYS_PARAM /**/
1179
85e6fe83 1180/* I_SYS_SELECT:
1181 * This symbol, if defined, indicates to the C program that it should
1182 * include <sys/select.h> in order to get definition of struct timeval.
fe14fcc3 1183 */
85e6fe83 1184/*#define I_SYS_SELECT /**/
1185
a0d0e21e 1186/* I_SYS_TIMES:
85e6fe83 1187 * This symbol, if defined, indicates to the C program that it should
a0d0e21e 1188 * include <sys/times.h>.
fe14fcc3 1189 */
a0d0e21e 1190#define I_SYS_TIMES /**/
1191
fed7345c 1192/* I_SYS_TYPES:
1193 * This symbol, if defined, indicates to the C program that it should
1194 * include <sys/types.h>.
1195 */
1196#define I_SYS_TYPES /**/
1197
a0d0e21e 1198/* I_TERMIO:
1199 * This symbol, if defined, indicates that the program should include
1200 * <termio.h> rather than <sgtty.h>. There are also differences in
1201 * the ioctl() calls that depend on the value of this symbol.
1202 */
1203/* I_TERMIOS:
1204 * This symbol, if defined, indicates that the program should include
1205 * the POSIX termios.h rather than sgtty.h or termio.h.
1206 * There are also differences in the ioctl() calls that depend on the
1207 * value of this symbol.
1208 */
1209/* I_SGTTY:
1210 * This symbol, if defined, indicates that the program should include
1211 * <sgtty.h> rather than <termio.h>. There are also differences in
1212 * the ioctl() calls that depend on the value of this symbol.
1213 */
1214/*#define I_TERMIO /**/
1215#define I_TERMIOS /**/
1216/*#define I_SGTTY /**/
1217
1218/* I_TIME:
1219 * This symbol, if defined, indicates to the C program that it should
1220 * include <time.h>.
1221 */
1222/* I_SYS_TIME:
1223 * This symbol, if defined, indicates to the C program that it should
1224 * include <sys/time.h>.
1225 */
1226/* I_SYS_TIME_KERNEL:
fe14fcc3 1227 * This symbol, if defined, indicates to the C program that it should
85e6fe83 1228 * include <sys/time.h> with KERNEL defined.
fe14fcc3 1229 */
85e6fe83 1230/*#define I_TIME /**/
1231#define I_SYS_TIME /**/
1232/*#define I_SYS_TIME_KERNEL /**/
fe14fcc3 1233
a0d0e21e 1234/* I_UNISTD:
1235 * This symbol, if defined, indicates to the C program that it should
1236 * include <unistd.h>.
1237 */
1238#define I_UNISTD /**/
1239
85e6fe83 1240/* I_UTIME:
a687059c 1241 * This symbol, if defined, indicates to the C program that it should
85e6fe83 1242 * include <utime.h>.
a687059c 1243 */
85e6fe83 1244#define I_UTIME /**/
a687059c 1245
a0d0e21e 1246/* I_STDARG:
1247 * This symbol, if defined, indicates that <stdarg.h> exists and should
1248 * be included.
1249 */
85e6fe83 1250/* I_VARARGS:
fe14fcc3 1251 * This symbol, if defined, indicates to the C program that it should
85e6fe83 1252 * include <varargs.h>.
fe14fcc3 1253 */
ecfc5424 1254/*#define I_STDARG /**/
1255#define I_VARARGS /**/
a0d0e21e 1256
1257/* I_VFORK:
1258 * This symbol, if defined, indicates to the C program that it should
1259 * include vfork.h.
1260 */
1261/*#define I_VFORK /**/
fe14fcc3 1262
85e6fe83 1263/* INTSIZE:
a687059c 1264 * This symbol contains the size of an int, so that the C preprocessor
1265 * can make decisions based on it.
1266 */
1267#define INTSIZE 4 /**/
1268
85e6fe83 1269/* Off_t:
1270 * This symbol holds the type used to declare offsets in the kernel.
1271 * It can be int, long, off_t, etc... It may be necessary to include
1272 * <sys/types.h> to get any typedef'ed information.
fe14fcc3 1273 */
85e6fe83 1274#define Off_t off_t /* <offset> type */
1275
ecfc5424 1276/* Mode_t:
1277 * This symbol holds the type used to declare file modes
1278 * for systems calls. It is usually mode_t, but may be
1279 * int or unsigned short. It may be necessary to include <sys/types.h>
1280 * to get any typedef'ed information.
1281 */
1282#define Mode_t mode_t /* file mode parameter for system calls */
1283
fed7345c 1284/* PRIVLIB_EXP:
1285 * This symbol contains the ~name expanded version of PRIVLIB, to be used
1286 * in programs that are not prepared to deal with ~ expansion at run-time.
fe14fcc3 1287 */
fed7345c 1288#define PRIVLIB_EXP "/usr/local/lib/perl5" /**/
a0d0e21e 1289
1290/* CAN_PROTOTYPE:
1291 * If defined, this macro indicates that the C compiler can handle
1292 * function prototypes.
1293 */
1294/* _:
1295 * This macro is used to declare function parameters for folks who want
1296 * to make declarations with prototypes using a different style than
1297 * the above macros. Use double parentheses. For example:
1298 *
1299 * int main _((int argc, char *argv[]));
1300 */
ecfc5424 1301/*#define CAN_PROTOTYPE /**/
a0d0e21e 1302#ifdef CAN_PROTOTYPE
1303#define _(args) args
1304#else
1305#define _(args) ()
1306#endif
85e6fe83 1307
1308/* RANDBITS:
1309 * This symbol contains the number of bits of random number the rand()
1310 * function produces. Usual values are 15, 16, and 31.
fe14fcc3 1311 */
a0d0e21e 1312#define RANDBITS 15 /**/
85e6fe83 1313
1314/* SCRIPTDIR:
1315 * This symbol holds the name of the directory in which the user wants
1316 * to put publicly executable scripts for the package in question. It
1317 * is often a directory that is mounted across diverse architectures.
1318 * Programs must be prepared to deal with ~name expansion.
fe14fcc3 1319 */
85e6fe83 1320#define SCRIPTDIR "/usr/local/bin" /**/
1321
a0d0e21e 1322/* Select_fd_set_t:
1323 * This symbol holds the type used for the 2nd, 3rd, and 4th
1324 * arguments to select. Usually, this is 'fd_set *', if HAS_FD_SET
1325 * is defined, and 'int *' otherwise. This is only useful if you
1326 * have select(), of course.
1327 */
1328#define Select_fd_set_t fd_set * /**/
1329
1330/* SIG_NAME:
1331 * This symbol contains a list of signal names in order. This is intended
1332 * to be used as a static array initialization, like this:
1333 * char *sig_name[] = { SIG_NAME };
1334 * The signals in the list are separated with commas, and each signal
1335 * is surrounded by double quotes. There is no leading SIG in the signal
1336 * name, i.e. SIGQUIT is known as "QUIT".
1337 */
1338#define SIG_NAME "ZERO","HUP","INT","QUIT","ILL","TRAP","ABRT","EMT","FPE","KILL","BUS","SEGV","SYS","PIPE","ALRM","TERM","USR1","USR2","CLD","PWR","WINCH","21","POLL","CONT","STOP","TSTP","TTIN","TTOU" /**/
1339
1340/* Size_t:
1341 * This symbol holds the type used to declare length parameters
1342 * for string functions. It is usually size_t, but may be
1343 * unsigned long, int, etc. It may be necessary to include
1344 * <sys/types.h> to get any typedef'ed information.
1345 */
1346#define Size_t size_t /* length paramater for string functions */
1347
ecfc5424 1348/* SSize_t:
1349 * This symbol holds the type used by functions that return
1350 * a count of bytes or an error condition. It must be a signed type.
1351 * It is usually ssize_t, but may be long or int, etc.
1352 * It may be necessary to include <sys/types.h> or <unistd.h>
1353 * to get any typedef'ed information.
1354 * We will pick a type such that sizeof(SSize_t) == sizeof(Size_t).
1355 */
1356#define SSize_t int /* signed count of bytes */
1357
85e6fe83 1358/* STDCHAR:
1359 * This symbol is defined to be the type of char used in stdio.h.
1360 * It has the values "unsigned char" or "char".
fe14fcc3 1361 */
85e6fe83 1362#define STDCHAR unsigned char /**/
1363
1364/* Uid_t:
1365 * This symbol holds the type used to declare user ids in the kernel.
1366 * It can be int, ushort, uid_t, etc... It may be necessary to include
1367 * <sys/types.h> to get any typedef'ed information.
fe14fcc3 1368 */
85e6fe83 1369#define Uid_t uid_t /* UID type */
fe14fcc3 1370
a0d0e21e 1371/* VOIDFLAGS:
1372 * This symbol indicates how much support of the void type is given by this
1373 * compiler. What various bits mean:
1374 *
1375 * 1 = supports declaration of void
1376 * 2 = supports arrays of pointers to functions returning void
1377 * 4 = supports comparisons between pointers to void functions and
1378 * addresses of void functions
1379 * 8 = suports declaration of generic void pointers
1380 *
1381 * The package designer should define VOIDUSED to indicate the requirements
1382 * of the package. This can be done either by #defining VOIDUSED before
1383 * including config.h, or by defining defvoidused in Myinit.U. If the
1384 * latter approach is taken, only those flags will be tested. If the
1385 * level of void support necessary is not present, defines void to int.
1386 */
1387#ifndef VOIDUSED
1388#define VOIDUSED 15
1389#endif
1390#define VOIDFLAGS 15
1391#if (VOIDFLAGS & VOIDUSED) != VOIDUSED
1392#define void int /* is void to be avoided? */
1393#define M_VOID /* Xenix strikes again */
1394#endif
1395
85e6fe83 1396/* VMS:
1397 * This symbol, if defined, indicates that the program is running under
1398 * VMS. It is currently only set in conjunction with the EUNICE symbol.
2b317908 1399 */
85e6fe83 1400/*#define VMS /**/
68decaef 1401
a0d0e21e 1402/* LOC_SED:
1403 * This symbol holds the complete pathname to the sed program.
85e6fe83 1404 */
a0d0e21e 1405#define LOC_SED "/bin/sed" /**/
1406
1aef975c 1407/* CSH:
1408 * This symbol, if defined, indicates that the C-shell exists.
1409 * If defined, contains the full pathname of csh.
1410 */
1411#define CSH "/bin/csh" /**/
1412
a0d0e21e 1413/* DLSYM_NEEDS_UNDERSCORE:
1414 * This symbol, if defined, indicates that we need to prepend an
1415 * underscore to the symbol name before calling dlsym(). This only
1416 * makes sense if you *have* dlsym, which we will presume is the
1417 * case if you're using dl_dlopen.xs.
85e6fe83 1418 */
a0d0e21e 1419/*#define DLSYM_NEEDS_UNDERSCORE /* */
1420
85e6fe83 1421/* USE_DYNAMIC_LOADING:
1422 * This symbol, if defined, indicates that dynamic loading of
1423 * some sort is available.
1424 */
a0d0e21e 1425/*#define USE_DYNAMIC_LOADING /**/
85e6fe83 1426
1aef975c 1427/* I_SYS_STAT:
1428 * This symbol, if defined, indicates to the C program that it should
1429 * include <sys/stat.h>.
1430 */
1431#define I_SYS_STAT /**/
1432
94b6baf5 1433/* Free_t:
1434 * This variable contains the return type of free(). It is usually
1435 * void, but occasionally int.
1436 */
85e6fe83 1437/* Malloc_t:
1438 * This symbol is the type of pointer returned by malloc and realloc.
1439 */
ecfc5424 1440#define Malloc_t char * /**/
94b6baf5 1441#define Free_t void /**/
85e6fe83 1442
1443/* MYMALLOC:
1444 * This symbol, if defined, indicates that we're using our own malloc.
1445 */
1446#define MYMALLOC /**/
1447
16d20bd9 1448/* SITELIB_EXP:
1449 * This symbol contains the ~name expanded version of SITELIB, to be used
1450 * in programs that are not prepared to deal with ~ expansion at run-time.
1451 */
1452/*#define SITELIB_EXP "" /**/
1453
fe14fcc3 1454#endif