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