slurping an empty file should return '' rather than undef, with
[p5sagit/p5-mst-13.2.git] / Porting / config_H
CommitLineData
921b2963 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.
4*/
85e6fe83 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 *
dfe9444c 14 * $Id: Config_h.U,v 3.0.1.5 1997/02/28 14:57:43 ram Exp $
8d063cd8 15 */
a687059c 16
dfe9444c 17/*
18 * Package name : perl5
19 * Source directory : .
ff49bff8 20 * Configuration time: Mon Feb 8 01:11:15 EET 1999
921b2963 21 * Configured by : jhi
22 * Target system : osf1 alpha.hut.fi v4.0 878 alpha
68decaef 23 */
68decaef 24
85e6fe83 25#ifndef _config_h_
26#define _config_h_
fe14fcc3 27
dfe9444c 28/* LOC_SED:
29 * This symbol holds the complete pathname to the sed program.
774d564b 30 */
327c3667 31#define LOC_SED "/usr/bin/sed" /**/
774d564b 32
85e6fe83 33/* BIN:
34 * This symbol holds the path of the bin directory where the package will
35 * be installed. Program must be prepared to deal with ~name substitution.
a687059c 36 */
2ae324a7 37/* BIN_EXP:
38 * This symbol is the filename expanded version of the BIN symbol, for
39 * programs that do not want to deal with that at run-time.
40 */
921b2963 41#define BIN "/opt/perl/bin" /**/
42#define BIN_EXP "/opt/perl/bin" /**/
a0d0e21e 43
44/* HAS_ALARM:
45 * This symbol, if defined, indicates that the alarm routine is
46 * available.
47 */
48#define HAS_ALARM /**/
a687059c 49
ecfc5424 50/* HASATTRIBUTE:
51 * This symbol indicates the C compiler can check for function attributes,
52 * such as printf formats. This is normally only supported by GNU cc.
53 */
921b2963 54/*#define HASATTRIBUTE / **/
ecfc5424 55#ifndef HASATTRIBUTE
56#define __attribute__(_arg_)
57#endif
58
85e6fe83 59/* HAS_BCMP:
60 * This symbol is defined if the bcmp() routine is available to
61 * compare blocks of memory.
a687059c 62 */
9003a523 63#define HAS_BCMP /**/
a687059c 64
85e6fe83 65/* HAS_BCOPY:
66 * This symbol is defined if the bcopy() routine is available to
67 * copy blocks of memory.
a687059c 68 */
9003a523 69#define HAS_BCOPY /**/
fe14fcc3 70
85e6fe83 71/* HAS_BZERO:
72 * This symbol is defined if the bzero() routine is available to
73 * set a memory block to 0.
fe14fcc3 74 */
9003a523 75#define HAS_BZERO /**/
8d063cd8 76
a0d0e21e 77/* HAS_CHOWN:
78 * This symbol, if defined, indicates that the chown routine is
79 * available.
80 */
81#define HAS_CHOWN /**/
82
83/* HAS_CHROOT:
84 * This symbol, if defined, indicates that the chroot routine is
85 * available.
86 */
87#define HAS_CHROOT /**/
8d063cd8 88
85e6fe83 89/* HAS_CHSIZE:
fe14fcc3 90 * This symbol, if defined, indicates that the chsize routine is available
91 * to truncate files. You might need a -lx to get this routine.
92 */
20e68413 93/*#define HAS_CHSIZE / **/
ecfc5424 94
85e6fe83 95/* HASCONST:
96 * This symbol, if defined, indicates that this C compiler knows about
97 * the const type. There is no need to actually test for that symbol
98 * within your programs. The mere use of the "const" keyword will
99 * trigger the necessary tests.
100 */
4633a7c4 101#define HASCONST /**/
85e6fe83 102#ifndef HASCONST
103#define const
104#endif
fe14fcc3 105
85e6fe83 106/* HAS_CRYPT:
a687059c 107 * This symbol, if defined, indicates that the crypt routine is available
108 * to encrypt passwords and the like.
109 */
85e6fe83 110#define HAS_CRYPT /**/
fe14fcc3 111
a0d0e21e 112/* HAS_CUSERID:
113 * This symbol, if defined, indicates that the cuserid routine is
114 * available to get character login names.
a687059c 115 */
a0d0e21e 116#define HAS_CUSERID /**/
117
118/* HAS_DBL_DIG:
119 * This symbol, if defined, indicates that this system's <float.h>
120 * or <limits.h> defines the symbol DBL_DIG, which is the number
121 * of significant digits in a double precision number. If this
122 * symbol is not defined, a guess of 15 is usually pretty good.
123 */
124#define HAS_DBL_DIG /* */
125
126/* HAS_DIFFTIME:
127 * This symbol, if defined, indicates that the difftime routine is
128 * available.
129 */
130#define HAS_DIFFTIME /**/
a687059c 131
ecfc5424 132/* HAS_DLERROR:
133 * This symbol, if defined, indicates that the dlerror routine is
134 * available to return a string describing the last error that
135 * occurred from a call to dlopen(), dlclose() or dlsym().
136 */
4633a7c4 137#define HAS_DLERROR /**/
ecfc5424 138
dfe9444c 139/* SETUID_SCRIPTS_ARE_SECURE_NOW:
140 * This symbol, if defined, indicates that the bug that prevents
141 * setuid scripts from being secure is not present in this kernel.
142 */
143/* DOSUID:
144 * This symbol, if defined, indicates that the C program should
145 * check the script that it is executing for setuid/setgid bits, and
146 * attempt to emulate setuid/setgid on systems that have disabled
147 * setuid #! scripts because the kernel can't do it securely.
148 * It is up to the package designer to make sure that this emulation
149 * is done securely. Among other things, it should do an fstat on
150 * the script it just opened to make sure it really is a setuid/setgid
151 * script, it should make sure the arguments passed correspond exactly
152 * to the argument on the #! line, and it should not trust any
153 * subprocesses to which it must pass the filename rather than the
154 * file descriptor of the script to be executed.
155 */
921b2963 156/*#define SETUID_SCRIPTS_ARE_SECURE_NOW / **/
dfe9444c 157/*#define DOSUID / **/
158
85e6fe83 159/* HAS_DUP2:
160 * This symbol, if defined, indicates that the dup2 routine is
161 * available to duplicate file descriptors.
a687059c 162 */
85e6fe83 163#define HAS_DUP2 /**/
a687059c 164
85e6fe83 165/* HAS_FCHMOD:
a687059c 166 * This symbol, if defined, indicates that the fchmod routine is available
167 * to change mode of opened files. If unavailable, use chmod().
168 */
4633a7c4 169#define HAS_FCHMOD /**/
a687059c 170
85e6fe83 171/* HAS_FCHOWN:
a687059c 172 * This symbol, if defined, indicates that the fchown routine is available
173 * to change ownership of opened files. If unavailable, use chown().
174 */
4633a7c4 175#define HAS_FCHOWN /**/
a687059c 176
85e6fe83 177/* HAS_FCNTL:
fe14fcc3 178 * This symbol, if defined, indicates to the C program that
179 * the fcntl() function exists.
a687059c 180 */
85e6fe83 181#define HAS_FCNTL /**/
a687059c 182
a0d0e21e 183/* HAS_FGETPOS:
184 * This symbol, if defined, indicates that the fgetpos routine is
185 * available to get the file position indicator, similar to ftell().
186 */
4633a7c4 187#define HAS_FGETPOS /**/
a0d0e21e 188
85e6fe83 189/* FLEXFILENAMES:
fe14fcc3 190 * This symbol, if defined, indicates that the system supports filenames
191 * longer than 14 characters.
192 */
4633a7c4 193#define FLEXFILENAMES /**/
fe14fcc3 194
85e6fe83 195/* HAS_FLOCK:
196 * This symbol, if defined, indicates that the flock routine is
a687059c 197 * available to do file locking.
198 */
921b2963 199#define HAS_FLOCK /**/
a0d0e21e 200
201/* HAS_FORK:
202 * This symbol, if defined, indicates that the fork routine is
203 * available.
204 */
205#define HAS_FORK /**/
206
207/* HAS_FSETPOS:
208 * This symbol, if defined, indicates that the fsetpos routine is
209 * available to set the file position indicator, similar to fseek().
210 */
4633a7c4 211#define HAS_FSETPOS /**/
ecfc5424 212
5f05dabc 213/* HAS_GETTIMEOFDAY:
214 * This symbol, if defined, indicates that the gettimeofday() system
215 * call is available for a sub-second accuracy clock. Usually, the file
216 * <sys/resource.h> needs to be included (see I_SYS_RESOURCE).
217 * The type "Timeval" should be used to refer to "struct timeval".
218 */
dfe9444c 219#define HAS_GETTIMEOFDAY /**/
5f05dabc 220#ifdef HAS_GETTIMEOFDAY
221#define Timeval struct timeval /* Structure used by gettimeofday() */
222#endif
223
85e6fe83 224/* HAS_GETGROUPS:
a687059c 225 * This symbol, if defined, indicates that the getgroups() routine is
226 * available to get the list of process groups. If unavailable, multiple
227 * groups are probably not supported.
228 */
85e6fe83 229#define HAS_GETGROUPS /**/
a687059c 230
921b2963 231/* HAS_GETHOSTNAME:
232 * This symbol, if defined, indicates that the C program may use the
233 * gethostname() routine to derive the host name. See also HAS_UNAME
234 * and PHOSTNAME.
235 */
85e6fe83 236/* HAS_UNAME:
237 * This symbol, if defined, indicates that the C program may use the
238 * uname() routine to derive the host name. See also HAS_GETHOSTNAME
239 * and PHOSTNAME.
240 */
921b2963 241/* PHOSTNAME:
242 * This symbol, if defined, indicates that the C program may use the
243 * contents of PHOSTNAME as a command to feed to the popen() routine
244 * to derive the host name. See also HAS_GETHOSTNAME and HAS_UNAME.
245 * Note that the command uses a fully qualified path, so that it is safe
246 * even if used by a process with super-user privileges.
247 */
248#define HAS_GETHOSTNAME /**/
249/*#define HAS_UNAME / **/
250/*#define PHOSTNAME "" / * How to get the host name */
a687059c 251
a0d0e21e 252/* HAS_GETLOGIN:
253 * This symbol, if defined, indicates that the getlogin routine is
254 * available to get the login name.
255 */
256#define HAS_GETLOGIN /**/
257
dfe9444c 258/* HAS_GETPGID:
259 * This symbol, if defined, indicates to the C program that
260 * the getpgid(pid) function is available to get the
261 * process group id.
262 */
263#define HAS_GETPGID /**/
264
265/* HAS_GETPGRP:
266 * This symbol, if defined, indicates that the getpgrp routine is
267 * available to get the current process group.
268 */
269/* USE_BSD_GETPGRP:
270 * This symbol, if defined, indicates that getpgrp needs one
271 * arguments whereas USG one needs none.
272 */
273#define HAS_GETPGRP /**/
274/*#define USE_BSD_GETPGRP / **/
275
85e6fe83 276/* HAS_GETPGRP2:
fe14fcc3 277 * This symbol, if defined, indicates that the getpgrp2() (as in DG/UX)
278 * routine is available to get the current process group.
279 */
20e68413 280/*#define HAS_GETPGRP2 / **/
a687059c 281
a0d0e21e 282/* HAS_GETPPID:
283 * This symbol, if defined, indicates that the getppid routine is
284 * available to get the parent process ID.
285 */
286#define HAS_GETPPID /**/
287
85e6fe83 288/* HAS_GETPRIORITY:
289 * This symbol, if defined, indicates that the getpriority routine is
a687059c 290 * available to get a process's priority.
291 */
9003a523 292#define HAS_GETPRIORITY /**/
a0d0e21e 293
dfe9444c 294/* HAS_INET_ATON:
295 * This symbol, if defined, indicates to the C program that the
296 * inet_aton() function is available to parse IP address "dotted-quad"
297 * strings.
ecfc5424 298 */
921b2963 299#define HAS_INET_ATON /**/
ecfc5424 300
85e6fe83 301/* HAS_KILLPG:
a687059c 302 * This symbol, if defined, indicates that the killpg routine is available
303 * to kill process groups. If unavailable, you probably should use kill
304 * with a negative process number.
305 */
9003a523 306#define HAS_KILLPG /**/
a687059c 307
85e6fe83 308/* HAS_LINK:
309 * This symbol, if defined, indicates that the link routine is
310 * available to create hard links.
fe14fcc3 311 */
85e6fe83 312#define HAS_LINK /**/
fe14fcc3 313
ecfc5424 314/* HAS_LOCALECONV:
315 * This symbol, if defined, indicates that the localeconv routine is
316 * available for numeric and monetary formatting conventions.
317 */
318#define HAS_LOCALECONV /**/
319
a0d0e21e 320/* HAS_LOCKF:
321 * This symbol, if defined, indicates that the lockf routine is
322 * available to do file locking.
323 */
324#define HAS_LOCKF /**/
325
85e6fe83 326/* HAS_LSTAT:
327 * This symbol, if defined, indicates that the lstat routine is
328 * available to do file stats on symbolic links.
a687059c 329 */
85e6fe83 330#define HAS_LSTAT /**/
a687059c 331
a0d0e21e 332/* HAS_MBLEN:
333 * This symbol, if defined, indicates that the mblen routine is available
334 * to find the number of bytes in a multibye character.
335 */
4633a7c4 336#define HAS_MBLEN /**/
a0d0e21e 337
338/* HAS_MBSTOWCS:
339 * This symbol, if defined, indicates that the mbstowcs routine is
340 * available to covert a multibyte string into a wide character string.
341 */
4633a7c4 342#define HAS_MBSTOWCS /**/
a0d0e21e 343
344/* HAS_MBTOWC:
345 * This symbol, if defined, indicates that the mbtowc routine is available
346 * to covert a multibyte to a wide character.
347 */
4633a7c4 348#define HAS_MBTOWC /**/
a0d0e21e 349
85e6fe83 350/* HAS_MEMCMP:
351 * This symbol, if defined, indicates that the memcmp routine is available
352 * to compare blocks of memory.
a687059c 353 */
85e6fe83 354#define HAS_MEMCMP /**/
355
356/* HAS_MEMCPY:
68decaef 357 * This symbol, if defined, indicates that the memcpy routine is available
85e6fe83 358 * to copy blocks of memory.
68decaef 359 */
85e6fe83 360#define HAS_MEMCPY /**/
68decaef 361
85e6fe83 362/* HAS_MEMMOVE:
68decaef 363 * This symbol, if defined, indicates that the memmove routine is available
85e6fe83 364 * to copy potentially overlapping blocks of memory. This should be used
365 * only when HAS_SAFE_BCOPY is not defined. If neither is there, roll your
366 * own version.
68decaef 367 */
4633a7c4 368#define HAS_MEMMOVE /**/
68decaef 369
85e6fe83 370/* HAS_MEMSET:
68decaef 371 * This symbol, if defined, indicates that the memset routine is available
85e6fe83 372 * to set blocks of memory.
68decaef 373 */
85e6fe83 374#define HAS_MEMSET /**/
a687059c 375
85e6fe83 376/* HAS_MKDIR:
a687059c 377 * This symbol, if defined, indicates that the mkdir routine is available
378 * to create directories. Otherwise you should fork off a new process to
379 * exec /bin/mkdir.
380 */
85e6fe83 381#define HAS_MKDIR /**/
fe14fcc3 382
ecfc5424 383/* HAS_MKFIFO:
384 * This symbol, if defined, indicates that the mkfifo routine is
385 * available to create FIFOs. Otherwise, mknod should be able to
386 * do it for you. However, if mkfifo is there, mknod might require
387 * super-user privileges which mkfifo will not.
388 */
389#define HAS_MKFIFO /**/
390
a0d0e21e 391/* HAS_MKTIME:
392 * This symbol, if defined, indicates that the mktime routine is
393 * available.
394 */
395#define HAS_MKTIME /**/
396
ff49bff8 397/* HAS_MSYNC:
398 * This symbol, if defined, indicates that the msync system call is
399 * available to synchronize a mapped file.
400 */
401#define HAS_MSYNC /**/
402
403/* HAS_MUNMAP:
404 * This symbol, if defined, indicates that the munmap system call is
405 * available to unmap a region, usually mapped by mmap().
406 */
407#define HAS_MUNMAP /**/
408
a0d0e21e 409/* HAS_NICE:
410 * This symbol, if defined, indicates that the nice routine is
411 * available.
fe14fcc3 412 */
a0d0e21e 413#define HAS_NICE /**/
fe14fcc3 414
ecfc5424 415/* HAS_PATHCONF:
416 * This symbol, if defined, indicates that pathconf() is available
417 * to determine file-system related limits and options associated
418 * with a given filename.
419 */
420/* HAS_FPATHCONF:
421 * This symbol, if defined, indicates that pathconf() is available
422 * to determine file-system related limits and options associated
423 * with a given open file descriptor.
424 */
425#define HAS_PATHCONF /**/
426#define HAS_FPATHCONF /**/
427
a0d0e21e 428/* HAS_PAUSE:
429 * This symbol, if defined, indicates that the pause routine is
430 * available to suspend a process until a signal is received.
a687059c 431 */
a0d0e21e 432#define HAS_PAUSE /**/
fe14fcc3 433
a0d0e21e 434/* HAS_PIPE:
435 * This symbol, if defined, indicates that the pipe routine is
436 * available to create an inter-process channel.
fe14fcc3 437 */
a0d0e21e 438#define HAS_PIPE /**/
439
4633a7c4 440/* HAS_POLL:
441 * This symbol, if defined, indicates that the poll routine is
dfe9444c 442 * available to poll active file descriptors. You may safely
443 * include <poll.h> when this symbol is defined.
4633a7c4 444 */
445#define HAS_POLL /**/
446
a0d0e21e 447/* HAS_READDIR:
448 * This symbol, if defined, indicates that the readdir routine is
449 * available to read directory entries. You may have to include
450 * <dirent.h>. See I_DIRENT.
451 */
452#define HAS_READDIR /**/
453
454/* HAS_SEEKDIR:
455 * This symbol, if defined, indicates that the seekdir routine is
456 * available. You may have to include <dirent.h>. See I_DIRENT.
457 */
458#define HAS_SEEKDIR /**/
459
460/* HAS_TELLDIR:
461 * This symbol, if defined, indicates that the telldir routine is
462 * available. You may have to include <dirent.h>. See I_DIRENT.
463 */
464#define HAS_TELLDIR /**/
465
466/* HAS_REWINDDIR:
467 * This symbol, if defined, indicates that the rewinddir routine is
468 * available. You may have to include <dirent.h>. See I_DIRENT.
469 */
470#define HAS_REWINDDIR /**/
471
472/* HAS_READLINK:
473 * This symbol, if defined, indicates that the readlink routine is
474 * available to read the value of a symbolic link.
475 */
476#define HAS_READLINK /**/
a687059c 477
85e6fe83 478/* HAS_RENAME:
a687059c 479 * This symbol, if defined, indicates that the rename routine is available
480 * to rename files. Otherwise you should do the unlink(), link(), unlink()
481 * trick.
482 */
85e6fe83 483#define HAS_RENAME /**/
a687059c 484
85e6fe83 485/* HAS_RMDIR:
486 * This symbol, if defined, indicates that the rmdir routine is
487 * available to remove directories. Otherwise you should fork off a
488 * new process to exec /bin/rmdir.
68decaef 489 */
85e6fe83 490#define HAS_RMDIR /**/
68decaef 491
85e6fe83 492/* HAS_SELECT:
493 * This symbol, if defined, indicates that the select routine is
494 * available to select active file descriptors. If the timeout field
495 * is used, <sys/time.h> may need to be included.
68decaef 496 */
85e6fe83 497#define HAS_SELECT /**/
68decaef 498
85e6fe83 499/* HAS_SETEGID:
a687059c 500 * This symbol, if defined, indicates that the setegid routine is available
501 * to change the effective gid of the current program.
502 */
85e6fe83 503#define HAS_SETEGID /**/
a687059c 504
85e6fe83 505/* HAS_SETEUID:
a687059c 506 * This symbol, if defined, indicates that the seteuid routine is available
507 * to change the effective uid of the current program.
508 */
85e6fe83 509#define HAS_SETEUID /**/
510
a0d0e21e 511/* HAS_SETLINEBUF:
512 * This symbol, if defined, indicates that the setlinebuf routine is
513 * available to change stderr or stdout from block-buffered or unbuffered
514 * to a line-buffered mode.
515 */
9003a523 516#define HAS_SETLINEBUF /**/
a0d0e21e 517
518/* HAS_SETLOCALE:
519 * This symbol, if defined, indicates that the setlocale routine is
520 * available to handle locale-specific ctype implementations.
521 */
522#define HAS_SETLOCALE /**/
523
dfe9444c 524/* HAS_SETPGID:
525 * This symbol, if defined, indicates that the setpgid(pid, gpid)
526 * routine is available to set process group ID.
527 */
528#define HAS_SETPGID /**/
529
530/* HAS_SETPGRP:
531 * This symbol, if defined, indicates that the setpgrp routine is
532 * available to set the current process group.
533 */
534/* USE_BSD_SETPGRP:
535 * This symbol, if defined, indicates that setpgrp needs two
536 * arguments whereas USG one needs none. See also HAS_SETPGID
537 * for a POSIX interface.
538 */
539#define HAS_SETPGRP /**/
921b2963 540#define USE_BSD_SETPGRP /**/
dfe9444c 541
85e6fe83 542/* HAS_SETPGRP2:
fe14fcc3 543 * This symbol, if defined, indicates that the setpgrp2() (as in DG/UX)
544 * routine is available to set the current process group.
545 */
20e68413 546/*#define HAS_SETPGRP2 / **/
fe14fcc3 547
85e6fe83 548/* HAS_SETPRIORITY:
549 * This symbol, if defined, indicates that the setpriority routine is
a687059c 550 * available to set a process's priority.
551 */
9003a523 552#define HAS_SETPRIORITY /**/
a687059c 553
85e6fe83 554/* HAS_SETREGID:
fe14fcc3 555 * This symbol, if defined, indicates that the setregid routine is
85e6fe83 556 * available to change the real and effective gid of the current
557 * process.
a687059c 558 */
85e6fe83 559/* HAS_SETRESGID:
fe14fcc3 560 * This symbol, if defined, indicates that the setresgid routine is
561 * available to change the real, effective and saved gid of the current
85e6fe83 562 * process.
fe14fcc3 563 */
9003a523 564#define HAS_SETREGID /**/
20e68413 565/*#define HAS_SETRESGID / **/
a687059c 566
85e6fe83 567/* HAS_SETREUID:
fe14fcc3 568 * This symbol, if defined, indicates that the setreuid routine is
85e6fe83 569 * available to change the real and effective uid of the current
570 * process.
fe14fcc3 571 */
85e6fe83 572/* HAS_SETRESUID:
fe14fcc3 573 * This symbol, if defined, indicates that the setresuid routine is
574 * available to change the real, effective and saved uid of the current
85e6fe83 575 * process.
a687059c 576 */
9003a523 577#define HAS_SETREUID /**/
20e68413 578/*#define HAS_SETRESUID / **/
a687059c 579
85e6fe83 580/* HAS_SETRGID:
a687059c 581 * This symbol, if defined, indicates that the setrgid routine is available
582 * to change the real gid of the current program.
583 */
921b2963 584#define HAS_SETRGID /**/
a687059c 585
85e6fe83 586/* HAS_SETRUID:
a687059c 587 * This symbol, if defined, indicates that the setruid routine is available
588 * to change the real uid of the current program.
589 */
921b2963 590#define HAS_SETRUID /**/
fe14fcc3 591
85e6fe83 592/* HAS_SETSID:
593 * This symbol, if defined, indicates that the setsid routine is
594 * available to set the process group ID.
fe14fcc3 595 */
85e6fe83 596#define HAS_SETSID /**/
fe14fcc3 597
a0d0e21e 598/* Shmat_t:
599 * This symbol holds the return type of the shmat() system call.
600 * Usually set to 'void *' or 'char *'.
fe14fcc3 601 */
a0d0e21e 602/* HAS_SHMAT_PROTOTYPE:
603 * This symbol, if defined, indicates that the sys/shm.h includes
604 * a prototype for shmat(). Otherwise, it is up to the program to
605 * guess one. Shmat_t shmat _((int, Shmat_t, int)) is a good guess,
606 * but not always right so it should be emitted by the program only
607 * when HAS_SHMAT_PROTOTYPE is not defined to avoid conflicting defs.
fe14fcc3 608 */
4633a7c4 609#define Shmat_t void * /**/
610#define HAS_SHMAT_PROTOTYPE /**/
a687059c 611
a0d0e21e 612/* HAS_STRCHR:
613 * This symbol is defined to indicate that the strchr()/strrchr()
614 * functions are available for string searching. If not, try the
615 * index()/rindex() pair.
616 */
617/* HAS_INDEX:
618 * This symbol is defined to indicate that the index()/rindex()
619 * functions are available for string searching.
620 */
621#define HAS_STRCHR /**/
20e68413 622/*#define HAS_INDEX / **/
a0d0e21e 623
624/* HAS_STRCOLL:
625 * This symbol, if defined, indicates that the strcoll routine is
626 * available to compare strings using collating information.
627 */
628#define HAS_STRCOLL /**/
629
85e6fe83 630/* USE_STRUCT_COPY:
8d063cd8 631 * This symbol, if defined, indicates that this C compiler knows how
632 * to copy structures. If undefined, you'll need to use a block copy
633 * routine of some sort instead.
634 */
85e6fe83 635#define USE_STRUCT_COPY /**/
fe14fcc3 636
55497cff 637/* HAS_STRTOD:
638 * This symbol, if defined, indicates that the strtod routine is
774d564b 639 * available to provide better numeric string conversion than atof().
55497cff 640 */
641#define HAS_STRTOD /**/
642
643/* HAS_STRTOL:
774d564b 644 * This symbol, if defined, indicates that the strtol routine is available
645 * to provide better numeric string conversion than atoi() and friends.
55497cff 646 */
647#define HAS_STRTOL /**/
648
649/* HAS_STRTOUL:
650 * This symbol, if defined, indicates that the strtoul routine is
774d564b 651 * available to provide conversion of strings to unsigned long.
55497cff 652 */
653#define HAS_STRTOUL /**/
654
a0d0e21e 655/* HAS_STRXFRM:
656 * This symbol, if defined, indicates that the strxfrm() routine is
657 * available to transform strings.
658 */
659#define HAS_STRXFRM /**/
660
85e6fe83 661/* HAS_SYMLINK:
a687059c 662 * This symbol, if defined, indicates that the symlink routine is available
663 * to create symbolic links.
664 */
85e6fe83 665#define HAS_SYMLINK /**/
a687059c 666
85e6fe83 667/* HAS_SYSCALL:
668 * This symbol, if defined, indicates that the syscall routine is
669 * available to call arbitrary system calls. If undefined, that's tough.
a687059c 670 */
85e6fe83 671#define HAS_SYSCALL /**/
a687059c 672
ecfc5424 673/* HAS_SYSCONF:
674 * This symbol, if defined, indicates that sysconf() is available
675 * to determine system related limits and options.
676 */
677#define HAS_SYSCONF /**/
678
85e6fe83 679/* HAS_SYSTEM:
680 * This symbol, if defined, indicates that the system routine is
681 * available to issue a shell command.
68decaef 682 */
85e6fe83 683#define HAS_SYSTEM /**/
68decaef 684
a0d0e21e 685/* HAS_TCGETPGRP:
686 * This symbol, if defined, indicates that the tcgetpgrp routine is
687 * available to get foreground process group ID.
688 */
689#define HAS_TCGETPGRP /**/
690
691/* HAS_TCSETPGRP:
692 * This symbol, if defined, indicates that the tcsetpgrp routine is
693 * available to set foreground process group ID.
85e6fe83 694 */
a0d0e21e 695#define HAS_TCSETPGRP /**/
85e6fe83 696
85e6fe83 697/* HAS_TRUNCATE:
fe14fcc3 698 * This symbol, if defined, indicates that the truncate routine is
699 * available to truncate files.
a687059c 700 */
4633a7c4 701#define HAS_TRUNCATE /**/
a0d0e21e 702
703/* HAS_TZNAME:
704 * This symbol, if defined, indicates that the tzname[] array is
705 * available to access timezone names.
706 */
707#define HAS_TZNAME /**/
708
709/* HAS_UMASK:
710 * This symbol, if defined, indicates that the umask routine is
711 * available to set and get the value of the file creation mask.
712 */
713#define HAS_UMASK /**/
a687059c 714
a0d0e21e 715/* HAS_VFORK:
716 * This symbol, if defined, indicates that vfork() exists.
8d063cd8 717 */
20e68413 718/*#define HAS_VFORK / **/
a687059c 719
85e6fe83 720/* HASVOLATILE:
fe14fcc3 721 * This symbol, if defined, indicates that this C compiler knows about
722 * the volatile declaration.
723 */
4633a7c4 724#define HASVOLATILE /**/
85e6fe83 725#ifndef HASVOLATILE
726#define volatile
727#endif
fe14fcc3 728
85e6fe83 729/* HAS_WAIT4:
fe14fcc3 730 * This symbol, if defined, indicates that wait4() exists.
731 */
9003a523 732#define HAS_WAIT4 /**/
fe14fcc3 733
85e6fe83 734/* HAS_WAITPID:
735 * This symbol, if defined, indicates that the waitpid routine is
736 * available to wait for child process.
fe14fcc3 737 */
85e6fe83 738#define HAS_WAITPID /**/
fe14fcc3 739
a0d0e21e 740/* HAS_WCSTOMBS:
741 * This symbol, if defined, indicates that the wcstombs routine is
742 * available to convert wide character strings to multibyte strings.
743 */
4633a7c4 744#define HAS_WCSTOMBS /**/
a0d0e21e 745
746/* HAS_WCTOMB:
747 * This symbol, if defined, indicates that the wctomb routine is available
748 * to covert a wide character to a multibyte.
749 */
4633a7c4 750#define HAS_WCTOMB /**/
a0d0e21e 751
93341792 752/* I_ARPA_INET:
327c3667 753 * This symbol, if defined, indicates to the C program that it should
754 * include <arpa/inet.h> to get inet_addr and friends declarations.
93341792 755 */
327c3667 756#define I_ARPA_INET /**/
93341792 757
dfe9444c 758/* I_DBM:
759 * This symbol, if defined, indicates that <dbm.h> exists and should
760 * be included.
232e078e 761 */
dfe9444c 762/* I_RPCSVC_DBM:
763 * This symbol, if defined, indicates that <rpcsvc/dbm.h> exists and
764 * should be included.
232e078e 765 */
921b2963 766#define I_DBM /**/
767/*#define I_RPCSVC_DBM / **/
232e078e 768
85e6fe83 769/* I_DIRENT:
770 * This symbol, if defined, indicates to the C program that it should
771 * include <dirent.h>. Using this symbol also triggers the definition
772 * of the Direntry_t define which ends up being 'struct dirent' or
773 * 'struct direct' depending on the availability of <dirent.h>.
774 */
775/* DIRNAMLEN:
776 * This symbol, if defined, indicates to the C program that the length
777 * of directory entry names is provided by a d_namlen field. Otherwise
778 * you need to do strlen() on the d_name field.
2b317908 779 */
a0d0e21e 780/* Direntry_t:
781 * This symbol is set to 'struct direct' or 'struct dirent' depending on
782 * whether dirent is available or not. You should use this pseudo type to
783 * portably declare your directory entries.
784 */
85e6fe83 785#define I_DIRENT /**/
921b2963 786#define DIRNAMLEN /**/
85e6fe83 787#define Direntry_t struct dirent
a0d0e21e 788
789/* I_DLFCN:
790 * This symbol, if defined, indicates that <dlfcn.h> exists and should
791 * be included.
792 */
4633a7c4 793#define I_DLFCN /**/
a687059c 794
85e6fe83 795/* I_FCNTL:
fe14fcc3 796 * This manifest constant tells the C program to include <fcntl.h>.
a687059c 797 */
921b2963 798/*#define I_FCNTL / **/
a687059c 799
a0d0e21e 800/* I_FLOAT:
801 * This symbol, if defined, indicates to the C program that it should
802 * include <float.h> to get definition of symbols like DBL_MAX or
803 * DBL_MIN, i.e. machine dependent floating point values.
a687059c 804 */
a0d0e21e 805#define I_FLOAT /**/
a687059c 806
a0d0e21e 807/* I_LIMITS:
808 * This symbol, if defined, indicates to the C program that it should
809 * include <limits.h> to get definition of symbols like WORD_BIT or
810 * LONG_MAX, i.e. machine dependant limitations.
811 */
812#define I_LIMITS /**/
813
dfe9444c 814/* I_LOCALE:
815 * This symbol, if defined, indicates to the C program that it should
816 * include <locale.h>.
817 */
818#define I_LOCALE /**/
819
a0d0e21e 820/* I_MATH:
821 * This symbol, if defined, indicates to the C program that it should
822 * include <math.h>.
823 */
824#define I_MATH /**/
825
826/* I_MEMORY:
827 * This symbol, if defined, indicates to the C program that it should
828 * include <memory.h>.
829 */
20e68413 830/*#define I_MEMORY / **/
a0d0e21e 831
232e078e 832/* I_NDBM:
16d20bd9 833 * This symbol, if defined, indicates that <ndbm.h> exists and should
232e078e 834 * be included.
835 */
836#define I_NDBM /**/
837
ecfc5424 838/* I_NET_ERRNO:
839 * This symbol, if defined, indicates that <net/errno.h> exists and
840 * should be included.
fe14fcc3 841 */
20e68413 842/*#define I_NET_ERRNO / **/
fe14fcc3 843
85e6fe83 844/* I_NETINET_IN:
a687059c 845 * This symbol, if defined, indicates to the C program that it should
85e6fe83 846 * include <netinet/in.h>. Otherwise, you may try <sys/in.h>.
a687059c 847 */
85e6fe83 848#define I_NETINET_IN /**/
85e6fe83 849
dfe9444c 850/* I_SFIO:
851 * This symbol, if defined, indicates to the C program that it should
852 * include <sfio.h>.
853 */
854/*#define I_SFIO / **/
85e6fe83 855
856/* I_STDDEF:
857 * This symbol, if defined, indicates that <stddef.h> exists and should
858 * be included.
fe14fcc3 859 */
85e6fe83 860#define I_STDDEF /**/
861
a0d0e21e 862/* I_STDLIB:
863 * This symbol, if defined, indicates that <stdlib.h> exists and should
864 * be included.
865 */
866#define I_STDLIB /**/
867
85e6fe83 868/* I_STRING:
869 * This symbol, if defined, indicates to the C program that it should
870 * include <string.h> (USG systems) instead of <strings.h> (BSD systems).
fe14fcc3 871 */
85e6fe83 872#define I_STRING /**/
873
874/* I_SYS_DIR:
875 * This symbol, if defined, indicates to the C program that it should
876 * include <sys/dir.h>.
fe14fcc3 877 */
921b2963 878#define I_SYS_DIR /**/
a687059c 879
85e6fe83 880/* I_SYS_FILE:
881 * This symbol, if defined, indicates to the C program that it should
882 * include <sys/file.h> to get definition of R_OK and friends.
a687059c 883 */
921b2963 884#define I_SYS_FILE /**/
a687059c 885
85e6fe83 886/* I_SYS_IOCTL:
887 * This symbol, if defined, indicates that <sys/ioctl.h> exists and should
888 * be included. Otherwise, include <sgtty.h> or <termio.h>.
a687059c 889 */
85e6fe83 890#define I_SYS_IOCTL /**/
a687059c 891
85e6fe83 892/* I_SYS_NDIR:
893 * This symbol, if defined, indicates to the C program that it should
894 * include <sys/ndir.h>.
fe14fcc3 895 */
20e68413 896/*#define I_SYS_NDIR / **/
85e6fe83 897
a0d0e21e 898/* I_SYS_PARAM:
899 * This symbol, if defined, indicates to the C program that it should
900 * include <sys/param.h>.
901 */
902#define I_SYS_PARAM /**/
903
9003a523 904/* I_SYS_RESOURCE:
905 * This symbol, if defined, indicates to the C program that it should
906 * include <sys/resource.h>.
907 */
908#define I_SYS_RESOURCE /**/
909
85e6fe83 910/* I_SYS_SELECT:
911 * This symbol, if defined, indicates to the C program that it should
912 * include <sys/select.h> in order to get definition of struct timeval.
fe14fcc3 913 */
4633a7c4 914#define I_SYS_SELECT /**/
85e6fe83 915
dfe9444c 916/* I_SYS_STAT:
917 * This symbol, if defined, indicates to the C program that it should
918 * include <sys/stat.h>.
919 */
920#define I_SYS_STAT /**/
921
a0d0e21e 922/* I_SYS_TIMES:
85e6fe83 923 * This symbol, if defined, indicates to the C program that it should
a0d0e21e 924 * include <sys/times.h>.
fe14fcc3 925 */
a0d0e21e 926#define I_SYS_TIMES /**/
927
bd89102f 928/* I_SYS_TYPES:
929 * This symbol, if defined, indicates to the C program that it should
930 * include <sys/types.h>.
931 */
932#define I_SYS_TYPES /**/
933
fbfd4aab 934/* I_SYS_UN:
935 * This symbol, if defined, indicates to the C program that it should
936 * include <sys/un.h> to get UNIX domain socket definitions.
937 */
938#define I_SYS_UN /**/
939
9003a523 940/* I_SYS_WAIT:
941 * This symbol, if defined, indicates to the C program that it should
942 * include <sys/wait.h>.
943 */
944#define I_SYS_WAIT /**/
945
a0d0e21e 946/* I_TERMIO:
947 * This symbol, if defined, indicates that the program should include
948 * <termio.h> rather than <sgtty.h>. There are also differences in
949 * the ioctl() calls that depend on the value of this symbol.
950 */
951/* I_TERMIOS:
952 * This symbol, if defined, indicates that the program should include
953 * the POSIX termios.h rather than sgtty.h or termio.h.
954 * There are also differences in the ioctl() calls that depend on the
955 * value of this symbol.
956 */
957/* I_SGTTY:
958 * This symbol, if defined, indicates that the program should include
959 * <sgtty.h> rather than <termio.h>. There are also differences in
960 * the ioctl() calls that depend on the value of this symbol.
961 */
20e68413 962/*#define I_TERMIO / **/
a0d0e21e 963#define I_TERMIOS /**/
20e68413 964/*#define I_SGTTY / **/
a0d0e21e 965
a0d0e21e 966/* I_UNISTD:
967 * This symbol, if defined, indicates to the C program that it should
968 * include <unistd.h>.
969 */
970#define I_UNISTD /**/
971
85e6fe83 972/* I_UTIME:
a687059c 973 * This symbol, if defined, indicates to the C program that it should
85e6fe83 974 * include <utime.h>.
a687059c 975 */
85e6fe83 976#define I_UTIME /**/
a687059c 977
dfe9444c 978/* I_VALUES:
979 * This symbol, if defined, indicates to the C program that it should
980 * include <values.h> to get definition of symbols like MINFLOAT or
981 * MAXLONG, i.e. machine dependant limitations. Probably, you
982 * should use <limits.h> instead, if it is available.
983 */
984#define I_VALUES /**/
985
9003a523 986/* I_STDARG:
987 * This symbol, if defined, indicates that <stdarg.h> exists and should
988 * be included.
989 */
990/* I_VARARGS:
991 * This symbol, if defined, indicates to the C program that it should
992 * include <varargs.h>.
993 */
994#define I_STDARG /**/
20e68413 995/*#define I_VARARGS / **/
9003a523 996
a0d0e21e 997/* I_VFORK:
998 * This symbol, if defined, indicates to the C program that it should
999 * include vfork.h.
1000 */
20e68413 1001/*#define I_VFORK / **/
fe14fcc3 1002
a0d0e21e 1003/* CAN_PROTOTYPE:
1004 * If defined, this macro indicates that the C compiler can handle
1005 * function prototypes.
1006 */
1007/* _:
1008 * This macro is used to declare function parameters for folks who want
1009 * to make declarations with prototypes using a different style than
1010 * the above macros. Use double parentheses. For example:
1011 *
1012 * int main _((int argc, char *argv[]));
1013 */
4633a7c4 1014#define CAN_PROTOTYPE /**/
a0d0e21e 1015#ifdef CAN_PROTOTYPE
1016#define _(args) args
1017#else
1018#define _(args) ()
1019#endif
85e6fe83 1020
dfe9444c 1021/* SH_PATH:
1022 * This symbol contains the full pathname to the shell used on this
1023 * on this system to execute Bourne shell scripts. Usually, this will be
1024 * /bin/sh, though it's possible that some systems will have /bin/ksh,
1025 * /bin/pdksh, /bin/ash, /bin/bash, or even something such as
1026 * D:/bin/sh.exe.
a0d0e21e 1027 */
dfe9444c 1028#define SH_PATH "/bin/sh" /**/
a0d0e21e 1029
85e6fe83 1030/* STDCHAR:
1031 * This symbol is defined to be the type of char used in stdio.h.
1032 * It has the values "unsigned char" or "char".
fe14fcc3 1033 */
327c3667 1034#define STDCHAR unsigned char /**/
1035
1036/* HAS_ACCESSX:
1037 * This symbol, if defined, indicates that the accessx routine is
1038 * available to do extended access checks.
1039 */
1040/*#define HAS_ACCESSX / **/
1041
1042/* HAS_EACCESS:
1043 * This symbol, if defined, indicates that the eaccess routine is
1044 * available to do extended access checks.
1045 */
1046/*#define HAS_EACCESS / **/
1047
1048/* I_SYS_ACCESS:
1049 * This symbol, if defined, indicates to the C program that it should
921b2963 1050 * include <sys/access.h>.
327c3667 1051 */
921b2963 1052#define I_SYS_ACCESS /**/
327c3667 1053
1054/* I_SYS_SECURITY:
1055 * This symbol, if defined, indicates to the C program that it should
1056 * include <sys/security.h>.
1057 */
921b2963 1058#define I_SYS_SECURITY /**/
85e6fe83 1059
dfe9444c 1060/* MEM_ALIGNBYTES:
1061 * This symbol contains the number of bytes required to align a
1062 * double. Usual values are 2, 4 and 8.
1063 * On NeXT starting with 3.2, you can build "Fat" Multiple Architecture
1064 * Binaries (MAB) for targets with varying alignment. This only matters
1065 * for perl, where the config.h can be generated and installed on one
1066 * system, and used by a different architecture to build an extension.
1067 * The default is eight, for safety.
5f05dabc 1068 */
327c3667 1069#define MEM_ALIGNBYTES 8 /**/
5f05dabc 1070
4633a7c4 1071/* BYTEORDER:
9003a523 1072 * This symbol holds the hexadecimal constant defined in byteorder,
4633a7c4 1073 * i.e. 0x1234 or 0x4321, etc...
dfe9444c 1074 * On NeXT 3.2 (and greater), you can build "Fat" Multiple Architecture
9003a523 1075 * Binaries (MAB) on either big endian or little endian machines.
1076 * The endian-ness is available at compile-time. This only matters
1077 * for perl, where the config.h can be generated and installed on
1078 * one system, and used by a different architecture to build an
1079 * extension. Older versions of NeXT that might not have
1080 * defined either *_ENDIAN__ were all on Motorola 680x0 series,
1081 * so the default case (for NeXT) is big endian to catch them.
1082 * This might matter for NeXT 3.0.
1083 */
1084#ifndef NeXT
921b2963 1085#define BYTEORDER 0x12345678 /* large digits for MSB */
9003a523 1086#else /* NeXT */
1087#ifdef __LITTLE_ENDIAN__
1088#define BYTEORDER 0x1234
1089#else /* __BIG_ENDIAN__ */
1090#define BYTEORDER 0x4321
1091#endif /* ENDIAN CHECK */
1092#endif /* NeXT */
4633a7c4 1093
dfe9444c 1094/* CASTI32:
1095 * This symbol is defined if the C compiler can cast negative
1096 * or large floating point numbers to 32-bit ints.
1aef975c 1097 */
921b2963 1098/*#define CASTI32 / **/
1aef975c 1099
dfe9444c 1100/* CASTNEGFLOAT:
1101 * This symbol is defined if the C compiler can cast negative
1102 * numbers to unsigned longs, ints and shorts.
85e6fe83 1103 */
dfe9444c 1104/* CASTFLAGS:
1105 * This symbol contains flags that say what difficulties the compiler
1106 * has casting odd floating values to unsigned long:
1107 * 0 = ok
1108 * 1 = couldn't cast < 0
1109 * 2 = couldn't cast >= 0x80000000
1110 * 4 = couldn't cast in argument expression list
fbfd4aab 1111 */
e5c9fcd0 1112#define CASTNEGFLOAT /**/
1113#define CASTFLAGS 0 /**/
dfe9444c 1114
1115/* VOID_CLOSEDIR:
1116 * This symbol, if defined, indicates that the closedir() routine
1117 * does not return a value.
fbfd4aab 1118 */
dfe9444c 1119/*#define VOID_CLOSEDIR / **/
fbfd4aab 1120
921b2963 1121/* HAS_FD_SET:
1122 * This symbol, when defined, indicates presence of the fd_set typedef
1123 * in <sys/types.h>
1124 */
1125#define HAS_FD_SET /**/
1126
4633a7c4 1127/* Gconvert:
1128 * This preprocessor macro is defined to convert a floating point
1129 * number to a string without a trailing decimal point. This
1130 * emulates the behavior of sprintf("%g"), but is sometimes much more
1131 * efficient. If gconvert() is not available, but gcvt() drops the
1132 * trailing decimal point, then gcvt() is used. If all else fails,
1133 * a macro using sprintf("%g") is used. Arguments for the Gconvert
1134 * macro are: value, number of digits, whether trailing zeros should
1135 * be retained, and the output buffer.
1136 * Possible values are:
1137 * d_Gconvert='gconvert((x),(n),(t),(b))'
1138 * d_Gconvert='gcvt((x),(n),(b))'
1139 * d_Gconvert='sprintf((b),"%.*g",(n),(x))'
1140 * The last two assume trailing zeros should not be kept.
1141 */
921b2963 1142#define Gconvert(x,n,t,b) gcvt((x),(n),(b))
4633a7c4 1143
dfe9444c 1144/* HAS_GNULIBC:
d103522a 1145 * This symbol, if defined, indicates to the C program that
dfe9444c 1146 * the GNU C library is being used.
d103522a 1147 */
327c3667 1148/*#define HAS_GNULIBC / **/
dfe9444c 1149/* HAS_ISASCII:
1150 * This manifest constant lets the C program know that isascii
1151 * is available.
d103522a 1152 */
dfe9444c 1153#define HAS_ISASCII /**/
d103522a 1154
dd64f1c3 1155/* HAS_LCHOWN:
1156 * This symbol, if defined, indicates that the lchown routine is
1157 * available to operate on a symbolic link (instead of following the
1158 * link).
1159 */
327c3667 1160#define HAS_LCHOWN /**/
dd64f1c3 1161
dfe9444c 1162/* HAS_OPEN3:
1163 * This manifest constant lets the C program know that the three
1164 * argument form of open(2) is available.
774d564b 1165 */
dfe9444c 1166#define HAS_OPEN3 /**/
774d564b 1167
dfe9444c 1168/* HAS_SAFE_BCOPY:
1169 * This symbol, if defined, indicates that the bcopy routine is available
1170 * to copy potentially overlapping memory blocks. Otherwise you should
1171 * probably use memmove() or memcpy(). If neither is defined, roll your
1172 * own version.
d103522a 1173 */
dfe9444c 1174#define HAS_SAFE_BCOPY /**/
d103522a 1175
dfe9444c 1176/* HAS_SAFE_MEMCPY:
1177 * This symbol, if defined, indicates that the memcpy routine is available
1178 * to copy potentially overlapping memory blocks. Otherwise you should
1179 * probably use memmove() or memcpy(). If neither is defined, roll your
1180 * own version.
d103522a 1181 */
dfe9444c 1182/*#define HAS_SAFE_MEMCPY / **/
1183
1184/* HAS_SANE_MEMCMP:
1185 * This symbol, if defined, indicates that the memcmp routine is available
1186 * and can be used to compare relative magnitudes of chars with their high
1187 * bits set. If it is not defined, roll your own version.
d103522a 1188 */
dfe9444c 1189#define HAS_SANE_MEMCMP /**/
d103522a 1190
dfe9444c 1191/* HAS_SIGACTION:
1192 * This symbol, if defined, indicates that Vr4's sigaction() routine
1193 * is available.
9003a523 1194 */
dfe9444c 1195#define HAS_SIGACTION /**/
9003a523 1196
921b2963 1197/* HAS_SIGSETJMP:
1198 * This variable indicates to the C program that the sigsetjmp()
1199 * routine is available to save the calling process's registers
1200 * and stack environment for later use by siglongjmp(), and
1201 * to optionally save the process's signal mask. See
1202 * Sigjmp_buf, Sigsetjmp, and Siglongjmp.
1203 */
36d1a04a 1204/* Sigjmp_buf:
9003a523 1205 * This is the buffer type to be used with Sigsetjmp and Siglongjmp.
36d1a04a 1206 */
1207/* Sigsetjmp:
9003a523 1208 * This macro is used in the same way as sigsetjmp(), but will invoke
1209 * traditional setjmp() if sigsetjmp isn't available.
1210 * See HAS_SIGSETJMP.
36d1a04a 1211 */
1212/* Siglongjmp:
9003a523 1213 * This macro is used in the same way as siglongjmp(), but will invoke
1214 * traditional longjmp() if siglongjmp isn't available.
1215 * See HAS_SIGSETJMP.
36d1a04a 1216 */
1217#define HAS_SIGSETJMP /**/
1218#ifdef HAS_SIGSETJMP
1219#define Sigjmp_buf sigjmp_buf
9003a523 1220#define Sigsetjmp(buf,save_mask) sigsetjmp((buf),(save_mask))
1221#define Siglongjmp(buf,retval) siglongjmp((buf),(retval))
36d1a04a 1222#else
1223#define Sigjmp_buf jmp_buf
9003a523 1224#define Sigsetjmp(buf,save_mask) setjmp((buf))
1225#define Siglongjmp(buf,retval) longjmp((buf),(retval))
36d1a04a 1226#endif
1227
dfe9444c 1228/* USE_STDIO_PTR:
1229 * This symbol is defined if the _ptr and _cnt fields (or similar)
1230 * of the stdio FILE structure can be used to access the stdio buffer
1231 * for a file handle. If this is defined, then the FILE_ptr(fp)
1232 * and FILE_cnt(fp) macros will also be defined and should be used
1233 * to access these fields.
85e6fe83 1234 */
dfe9444c 1235/* FILE_ptr:
1236 * This macro is used to access the _ptr field (or equivalent) of the
1237 * FILE structure pointed to by its argument. This macro will always be
1238 * defined if USE_STDIO_PTR is defined.
1239 */
1240/* STDIO_PTR_LVALUE:
1241 * This symbol is defined if the FILE_ptr macro can be used as an
1242 * lvalue.
1243 */
1244/* FILE_cnt:
1245 * This macro is used to access the _cnt field (or equivalent) of the
1246 * FILE structure pointed to by its argument. This macro will always be
1247 * defined if USE_STDIO_PTR is defined.
1248 */
1249/* STDIO_CNT_LVALUE:
1250 * This symbol is defined if the FILE_cnt macro can be used as an
1251 * lvalue.
1252 */
1253#define USE_STDIO_PTR /**/
1254#ifdef USE_STDIO_PTR
327c3667 1255#define FILE_ptr(fp) ((fp)->_ptr)
dfe9444c 1256#define STDIO_PTR_LVALUE /**/
327c3667 1257#define FILE_cnt(fp) ((fp)->_cnt)
1258#define STDIO_CNT_LVALUE /**/
dfe9444c 1259#endif
4633a7c4 1260
dfe9444c 1261/* USE_STDIO_BASE:
1262 * This symbol is defined if the _base field (or similar) of the
1263 * stdio FILE structure can be used to access the stdio buffer for
1264 * a file handle. If this is defined, then the FILE_base(fp) macro
1265 * will also be defined and should be used to access this field.
1266 * Also, the FILE_bufsiz(fp) macro will be defined and should be used
1267 * to determine the number of bytes in the buffer. USE_STDIO_BASE
1268 * will never be defined unless USE_STDIO_PTR is.
4633a7c4 1269 */
dfe9444c 1270/* FILE_base:
1271 * This macro is used to access the _base field (or equivalent) of the
1272 * FILE structure pointed to by its argument. This macro will always be
1273 * defined if USE_STDIO_BASE is defined.
1274 */
1275/* FILE_bufsiz:
1276 * This macro is used to determine the number of bytes in the I/O
1277 * buffer pointed to by _base field (or equivalent) of the FILE
1278 * structure pointed to its argument. This macro will always be defined
1279 * if USE_STDIO_BASE is defined.
4633a7c4 1280 */
dfe9444c 1281#define USE_STDIO_BASE /**/
1282#ifdef USE_STDIO_BASE
327c3667 1283#define FILE_base(fp) ((fp)->_base)
1284#define FILE_bufsiz(fp) ((fp)->_cnt + (fp)->_ptr - (fp)->_base)
dfe9444c 1285#endif
4633a7c4 1286
dfe9444c 1287/* HAS_VPRINTF:
1288 * This symbol, if defined, indicates that the vprintf routine is available
1289 * to printf with a pointer to an argument list. If unavailable, you
1290 * may need to write your own, probably in terms of _doprnt().
4633a7c4 1291 */
dfe9444c 1292/* USE_CHAR_VSPRINTF:
1293 * This symbol is defined if this system has vsprintf() returning type
1294 * (char*). The trend seems to be to declare it as "int vsprintf()". It
1295 * is up to the package author to declare vsprintf correctly based on the
1296 * symbol.
1297 */
1298#define HAS_VPRINTF /**/
1299/*#define USE_CHAR_VSPRINTF / **/
85e6fe83 1300
693762b4 1301/* DOUBLESIZE:
1302 * This symbol contains the size of a double, so that the C preprocessor
1303 * can make decisions based on it.
1304 */
1305#define DOUBLESIZE 8 /**/
1306
dfe9444c 1307/* I_TIME:
9003a523 1308 * This symbol, if defined, indicates to the C program that it should
dfe9444c 1309 * include <time.h>.
9003a523 1310 */
dfe9444c 1311/* I_SYS_TIME:
1aef975c 1312 * This symbol, if defined, indicates to the C program that it should
dfe9444c 1313 * include <sys/time.h>.
1aef975c 1314 */
dfe9444c 1315/* I_SYS_TIME_KERNEL:
fbfd4aab 1316 * This symbol, if defined, indicates to the C program that it should
dfe9444c 1317 * include <sys/time.h> with KERNEL defined.
fbfd4aab 1318 */
dfe9444c 1319/*#define I_TIME / **/
1320#define I_SYS_TIME /**/
1321/*#define I_SYS_TIME_KERNEL / **/
4633a7c4 1322
dfe9444c 1323/* INTSIZE:
1324 * This symbol contains the value of sizeof(int) so that the C
1325 * preprocessor can make decisions based on it.
94b6baf5 1326 */
dfe9444c 1327/* LONGSIZE:
1328 * This symbol contains the value of sizeof(long) so that the C
1329 * preprocessor can make decisions based on it.
85e6fe83 1330 */
dfe9444c 1331/* SHORTSIZE:
1332 * This symbol contains the value of sizeof(short) so that the C
1333 * preprocessor can make decisions based on it.
1334 */
1335#define INTSIZE 4 /**/
921b2963 1336#define LONGSIZE 8 /**/
dfe9444c 1337#define SHORTSIZE 2 /**/
85e6fe83 1338
dfe9444c 1339/* VAL_O_NONBLOCK:
1340 * This symbol is to be used during open() or fcntl(F_SETFL) to turn on
1341 * non-blocking I/O for the file descriptor. Note that there is no way
1342 * back, i.e. you cannot turn it blocking again this way. If you wish to
1343 * alternatively switch between blocking and non-blocking, use the
1344 * ioctl(FIOSNBIO) call instead, but that is not supported by all devices.
1345 */
1346/* VAL_EAGAIN:
1347 * This symbol holds the errno error code set by read() when no data was
1348 * present on the non-blocking file descriptor.
1349 */
1350/* RD_NODATA:
1351 * This symbol holds the return code from read() when no data is present
1352 * on the non-blocking file descriptor. Be careful! If EOF_NONBLOCK is
1353 * not defined, then you can't distinguish between no data and EOF by
1354 * issuing a read(). You'll have to find another way to tell for sure!
1355 */
1356/* EOF_NONBLOCK:
1357 * This symbol, if defined, indicates to the C program that a read() on
1358 * a non-blocking file descriptor will return 0 on EOF, and not the value
1359 * held in RD_NODATA (-1 usually, in that case!).
1360 */
1361#define VAL_O_NONBLOCK O_NONBLOCK
1362#define VAL_EAGAIN EAGAIN
1363#define RD_NODATA -1
1364#define EOF_NONBLOCK
1365
693762b4 1366/* PTRSIZE:
1367 * This symbol contains the size of a pointer, so that the C preprocessor
1368 * can make decisions based on it. It will be sizeof(void *) if
1369 * the compiler supports (void *); otherwise it will be
1370 * sizeof(char *).
1371 */
921b2963 1372#define PTRSIZE 8 /**/
693762b4 1373
921b2963 1374/* Drand01:
1375 * This macro is to be used to generate uniformly distributed
1376 * random numbers over the range [0., 1.[. You may have to supply
1377 * an 'extern double drand48();' in your program since SunOS 4.1.3
1378 * doesn't provide you with anything relevant in it's headers.
1379 * See HAS_DRAND48_PROTO.
1380 */
1381/* Rand_seed_t:
1382 * This symbol defines the type of the argument of the
1383 * random seed function.
1384 */
1385/* seedDrand01:
1386 * This symbol defines the macro to be used in seeding the
1387 * random number generator (see Drand01).
1388 */
dfe9444c 1389/* RANDBITS:
921b2963 1390 * This symbol indicates how many bits are produced by the
1391 * function used to generate normalized random numbers.
1392 * Values include 15, 16, 31, and 48.
dfe9444c 1393 */
921b2963 1394#define Drand01() drand48() /**/
1395#define Rand_seed_t long /**/
1396#define seedDrand01(x) srand48((Rand_seed_t)x) /**/
1397#define RANDBITS 48 /**/
dfe9444c 1398
1399/* SSize_t:
1400 * This symbol holds the type used by functions that return
1401 * a count of bytes or an error condition. It must be a signed type.
1402 * It is usually ssize_t, but may be long or int, etc.
1403 * It may be necessary to include <sys/types.h> or <unistd.h>
1404 * to get any typedef'ed information.
1405 * We will pick a type such that sizeof(SSize_t) == sizeof(Size_t).
85e6fe83 1406 */
dfe9444c 1407#define SSize_t ssize_t /* signed count of bytes */
85e6fe83 1408
327c3667 1409/* EBCDIC:
1410 * This symbol, if defined, indicates that this system uses
1411 * EBCDIC encoding.
1412 */
1413/*#define EBCDIC / **/
1414
dfe9444c 1415/* OSNAME:
1416 * This symbol contains the name of the operating system, as determined
1417 * by Configure. You shouldn't rely on it too much; the specific
1418 * feature tests from Configure are generally more reliable.
1419 */
921b2963 1420#define OSNAME "dec_osf" /**/
dfe9444c 1421
dfe9444c 1422/* CAT2:
1423 * This macro catenates 2 tokens together.
1424 */
1425/* STRINGIFY:
1426 * This macro surrounds its token with double quotes.
1427 */
1428#if 42 == 1
1429#define CAT2(a,b)a/**/b
1430#define STRINGIFY(a)"a"
1431 /* If you can get stringification with catify, tell me how! */
1432#endif
1433#if 42 == 42
1434#define CAT2(a,b)a ## b
1435#define StGiFy(a)# a
1436#define STRINGIFY(a)StGiFy(a)
1437#endif
1438#if 42 != 1 && 42 != 42
1439#include "Bletch: How does this C preprocessor catenate tokens?"
1440#endif
1441
921b2963 1442/* CPPSTDIN:
1443 * This symbol contains the first part of the string which will invoke
1444 * the C preprocessor on the standard input and produce to standard
1445 * output. Typical value of "cc -E" or "/lib/cpp", but it can also
1446 * call a wrapper. See CPPRUN.
1447 */
1448/* CPPMINUS:
1449 * This symbol contains the second part of the string which will invoke
1450 * the C preprocessor on the standard input and produce to standard
1451 * output. This symbol will have the value "-" if CPPSTDIN needs a minus
1452 * to specify standard input, otherwise the value is "".
1453 */
1454/* CPPRUN:
1455 * This symbol contains the string which will invoke a C preprocessor on
1456 * the standard input and produce to standard output. It needs to end
1457 * with CPPLAST, after all other preprocessor flags have been specified.
1458 * The main difference with CPPSTDIN is that this program will never be a
1459 * pointer to a shell wrapper, i.e. it will be empty if no preprocessor is
1460 * available directly to the user. Note that it may well be different from
1461 * the preprocessor used to compile the C program.
1462 */
1463#define CPPSTDIN "cppstdin"
1464#define CPPMINUS ""
1465#define CPPRUN "/usr/bin/cpp"
1466
327c3667 1467/* HAS_ACCESS:
1468 * This manifest constant lets the C program know that the access()
1469 * system call is available to check for accessibility using real UID/GID.
1470 * (always present on UNIX.)
1471 */
1472#define HAS_ACCESS /**/
1473
921b2963 1474/* HAS_CSH:
1475 * This symbol, if defined, indicates that the C-shell exists.
1476 */
dfe9444c 1477/* CSH:
e5c9fcd0 1478 * This symbol, if defined, contains the full pathname of csh.
9003a523 1479 */
e5c9fcd0 1480#define HAS_CSH /**/
1481#ifdef HAS_CSH
327c3667 1482#define CSH "/usr/bin/csh" /**/
e5c9fcd0 1483#endif
1484
327c3667 1485/* HAS_ENDGRENT:
1486 * This symbol, if defined, indicates that the getgrent routine is
1487 * available for finalizing sequential access of the group database.
1488 */
1489#define HAS_ENDGRENT /**/
1490
e5c9fcd0 1491/* HAS_ENDHOSTENT:
1492 * This symbol, if defined, indicates that the endhostent() routine is
1493 * available to close whatever was being used for host queries.
1494 */
1495#define HAS_ENDHOSTENT /**/
1496
1497/* HAS_ENDNETENT:
1498 * This symbol, if defined, indicates that the endnetent() routine is
1499 * available to close whatever was being used for network queries.
1500 */
1501#define HAS_ENDNETENT /**/
1502
1503/* HAS_ENDPROTOENT:
1504 * This symbol, if defined, indicates that the endprotoent() routine is
1505 * available to close whatever was being used for protocol queries.
1506 */
1507#define HAS_ENDPROTOENT /**/
1508
327c3667 1509/* HAS_ENDPWENT:
1510 * This symbol, if defined, indicates that the getgrent routine is
1511 * available for finalizing sequential access of the passwd database.
1512 */
1513#define HAS_ENDPWENT /**/
1514
e5c9fcd0 1515/* HAS_ENDSERVENT:
1516 * This symbol, if defined, indicates that the endservent() routine is
1517 * available to close whatever was being used for service queries.
1518 */
1519#define HAS_ENDSERVENT /**/
dfe9444c 1520
327c3667 1521/* HAS_GETGRENT:
1522 * This symbol, if defined, indicates that the getgrent routine is
1523 * available for sequential access of the group database.
1524 */
1525#define HAS_GETGRENT /**/
1526
693762b4 1527/* HAS_GETHOSTBYADDR:
1528 * This symbol, if defined, indicates that the gethostbyaddr() routine is
1529 * available to look up hosts by their IP addresses.
1530 */
1531#define HAS_GETHOSTBYADDR /**/
1532
1533/* HAS_GETHOSTBYNAME:
1534 * This symbol, if defined, indicates that the gethostbyname() routine is
1535 * available to look up host names in some data base or other.
1536 */
1537#define HAS_GETHOSTBYNAME /**/
1538
1539/* HAS_GETHOSTENT:
1540 * This symbol, if defined, indicates that the gethostent() routine is
1541 * available to look up host names in some data base or another.
1542 */
1543#define HAS_GETHOSTENT /**/
1544
1545/* HAS_GETNETBYADDR:
1546 * This symbol, if defined, indicates that the getnetbyaddr() routine is
1547 * available to look up networks by their IP addresses.
1548 */
1549#define HAS_GETNETBYADDR /**/
1550
1551/* HAS_GETNETBYNAME:
1552 * This symbol, if defined, indicates that the getnetbyname() routine is
1553 * available to look up networks by their names.
1554 */
1555#define HAS_GETNETBYNAME /**/
1556
e5c9fcd0 1557/* HAS_GETNETENT:
1558 * This symbol, if defined, indicates that the getnetent() routine is
1559 * available to look up network names in some data base or another.
1560 */
1561#define HAS_GETNETENT /**/
1562
1563/* HAS_GETPROTOENT:
1564 * This symbol, if defined, indicates that the getprotoent() routine is
1565 * available to look up protocols in some data base or another.
1566 */
1567#define HAS_GETPROTOENT /**/
1568
693762b4 1569/* HAS_GETPROTOBYNAME:
1570 * This symbol, if defined, indicates that the getprotobyname()
1571 * routine is available to look up protocols by their name.
1572 */
1573/* HAS_GETPROTOBYNUMBER:
1574 * This symbol, if defined, indicates that the getprotobynumber()
1575 * routine is available to look up protocols by their number.
1576 */
1577#define HAS_GETPROTOBYNAME /**/
1578#define HAS_GETPROTOBYNUMBER /**/
1579
327c3667 1580/* HAS_GETPWENT:
1581 * This symbol, if defined, indicates that the getpwent routine is
1582 * available for sequential access of the passwd database.
1583 * If this is not available, the older getpw() function may be available.
1584 */
1585#define HAS_GETPWENT /**/
1586
e5c9fcd0 1587/* HAS_GETSERVENT:
1588 * This symbol, if defined, indicates that the getservent() routine is
1589 * available to look up network services in some data base or another.
1590 */
1591#define HAS_GETSERVENT /**/
1592
693762b4 1593/* HAS_GETSERVBYNAME:
1594 * This symbol, if defined, indicates that the getservbyname()
1595 * routine is available to look up services by their name.
1596 */
1597/* HAS_GETSERVBYPORT:
1598 * This symbol, if defined, indicates that the getservbyport()
1599 * routine is available to look up services by their port.
1600 */
1601#define HAS_GETSERVBYNAME /**/
1602#define HAS_GETSERVBYPORT /**/
1603
327c3667 1604/* HAS_HTONL:
1605 * This symbol, if defined, indicates that the htonl() routine (and
1606 * friends htons() ntohl() ntohs()) are available to do network
1607 * order byte swapping.
1608 */
1609/* HAS_HTONS:
1610 * This symbol, if defined, indicates that the htons() routine (and
1611 * friends htonl() ntohl() ntohs()) are available to do network
1612 * order byte swapping.
1613 */
1614/* HAS_NTOHL:
1615 * This symbol, if defined, indicates that the ntohl() routine (and
1616 * friends htonl() htons() ntohs()) are available to do network
1617 * order byte swapping.
1618 */
1619/* HAS_NTOHS:
1620 * This symbol, if defined, indicates that the ntohs() routine (and
1621 * friends htonl() htons() ntohl()) are available to do network
1622 * order byte swapping.
1623 */
1624#define HAS_HTONL /**/
1625#define HAS_HTONS /**/
1626#define HAS_NTOHL /**/
1627#define HAS_NTOHS /**/
1628
e5c9fcd0 1629/* HAS_LONG_DOUBLE:
1630 * This symbol will be defined if the C compiler supports long
1631 * doubles.
1632 */
1633/* LONG_DOUBLESIZE:
1634 * This symbol contains the size of a long double, so that the
1635 * C preprocessor can make decisions based on it. It is only
1636 * defined if the system supports long doubles.
1637 */
1638#define HAS_LONG_DOUBLE /**/
1639#ifdef HAS_LONG_DOUBLE
921b2963 1640#define LONG_DOUBLESIZE 8 /**/
e5c9fcd0 1641#endif
1642
dc45a647 1643/* HAS_LONG_LONG:
327c3667 1644 * This symbol will be defined if the C compiler supports long long.
dc45a647 1645 */
1646/* LONGLONGSIZE:
1647 * This symbol contains the size of a long long, so that the
1648 * C preprocessor can make decisions based on it. It is only
1649 * defined if the system supports long long.
1650 */
1651#define HAS_LONG_LONG /**/
1652#ifdef HAS_LONG_LONG
1653#define LONGLONGSIZE 8 /**/
1654#endif
1655
ff49bff8 1656/* HAS_MMAP:
1657 * This symbol, if defined, indicates that the mmap system call is
1658 * available to map a file into memory.
1659 */
1660/* Mmap_t:
1661 * This symbol holds the return type of the mmap() system call
1662 * (and simultaneously the type of the first argument).
1663 * Usually set to 'void *' or 'cadd_t'.
1664 */
1665#define HAS_MMAP /**/
1666#define Mmap_t void * /**/
1667
327c3667 1668/* HAS_MSG:
1669 * This symbol, if defined, indicates that the entire msg*(2) library is
1670 * supported (IPC mechanism based on message queues).
1671 */
1672#define HAS_MSG /**/
1673
1674/* HAS_SEM:
1675 * This symbol, if defined, indicates that the entire sem*(2) library is
1676 * supported.
1677 */
1678#define HAS_SEM /**/
1679
1680/* HAS_SETGRENT:
1681 * This symbol, if defined, indicates that the setgrent routine is
1682 * available for initializing sequential access of the group database.
1683 */
1684#define HAS_SETGRENT /**/
1685
dfe9444c 1686/* HAS_SETGROUPS:
1687 * This symbol, if defined, indicates that the setgroups() routine is
1688 * available to set the list of process groups. If unavailable, multiple
1689 * groups are probably not supported.
4633a7c4 1690 */
dfe9444c 1691#define HAS_SETGROUPS /**/
1692
693762b4 1693/* HAS_SETHOSTENT:
1694 * This symbol, if defined, indicates that the sethostent() routine is
1695 * available.
1696 */
1697#define HAS_SETHOSTENT /**/
1698
e5c9fcd0 1699/* HAS_SETNETENT:
1700 * This symbol, if defined, indicates that the setnetent() routine is
1701 * available.
1702 */
1703#define HAS_SETNETENT /**/
1704
1705/* HAS_SETPROTOENT:
1706 * This symbol, if defined, indicates that the setprotoent() routine is
1707 * available.
1708 */
1709#define HAS_SETPROTOENT /**/
1710
327c3667 1711/* HAS_SETPWENT:
1712 * This symbol, if defined, indicates that the setpwent routine is
1713 * available for initializing sequential access of the passwd database.
1714 */
1715#define HAS_SETPWENT /**/
1716
e5c9fcd0 1717/* HAS_SETSERVENT:
1718 * This symbol, if defined, indicates that the setservent() routine is
1719 * available.
1720 */
1721#define HAS_SETSERVENT /**/
1722
1723/* HAS_SETVBUF:
1724 * This symbol, if defined, indicates that the setvbuf routine is
1725 * available to change buffering on an open stdio stream.
1726 * to a line-buffered mode.
1727 */
1728#define HAS_SETVBUF /**/
1729
327c3667 1730/* HAS_SHM:
1731 * This symbol, if defined, indicates that the entire shm*(2) library is
1732 * supported.
1733 */
1734#define HAS_SHM /**/
1735
dc45a647 1736/* HAS_SOCKET:
1737 * This symbol, if defined, indicates that the BSD socket interface is
1738 * supported.
1739 */
1740/* HAS_SOCKETPAIR:
1741 * This symbol, if defined, indicates that the BSD socketpair() call is
1742 * supported.
1743 */
de4597cb 1744/* HAS_MSG_CTRUNC:
1745 * This symbol, if defined, indicates that the MSG_CTRUNC is supported.
1746 * Checking just with #ifdef might not be enough because this symbol
1747 * has been known to be an enum.
1748 */
1749/* HAS_MSG_DONTROUTE:
1750 * This symbol, if defined, indicates that the MSG_DONTROUTE is supported.
1751 * Checking just with #ifdef might not be enough because this symbol
1752 * has been known to be an enum.
1753 */
1754/* HAS_MSG_OOB:
1755 * This symbol, if defined, indicates that the MSG_OOB is supported.
1756 * Checking just with #ifdef might not be enough because this symbol
1757 * has been known to be an enum.
1758 */
1759/* HAS_MSG_PEEK:
1760 * This symbol, if defined, indicates that the MSG_PEEK is supported.
1761 * Checking just with #ifdef might not be enough because this symbol
1762 * has been known to be an enum.
1763 */
1764/* HAS_MSG_PROXY:
1765 * This symbol, if defined, indicates that the MSG_PROXY is supported.
1766 * Checking just with #ifdef might not be enough because this symbol
1767 * has been known to be an enum.
1768 */
1769/* HAS_SCM_RIGHTS:
1770 * This symbol, if defined, indicates that the SCM_RIGHTS is supported.
1771 * Checking just with #ifdef might not be enough because this symbol
1772 * has been known to be an enum.
1773 */
1774/* HAS_SENDMSG:
1775 * This symbol, if defined, indicates that the sendmsg is supported
1776 * to send messages between sockets. You will also need struct
1777 * iovec from <sys/uio.h>, HAS_STRUCT_IOVEC and I_SYSUIO.
1778 */
1779/* HAS_RECVMSG:
1780 * This symbol, if defined, indicates that the recvmsg is supported
1781 * to send messages between sockets. You will also need struct
1782 * iovec from <sys/uio.h>, HAS_STRUCT_IOVEC and I_SYSUIO.
1783 */
1784/* HAS_STRUCT_MSGHDR:
1785 * This symbol, if defined, indicates that the struct msghdr
1786 * (BSD 4.3 or 4.4) is supported. You will also need struct
1787 * iovec from <sys/uio.h>, HAS_STRUCT_IOVEC and I_SYSUIO.
1788 */
1789/* HAS_STRUCT_CMSGHDR:
1790 * This symbol, if defined, indicates that the struct cmsghdr
1791 * (BSD 4.4) is supported. You will also need struct
1792 * iovec from <sys/uio.h>, HAS_STRUCT_IOVEC and I_SYSUIO.
1793 */
1794#define HAS_SOCKET /**/
1795#define HAS_SOCKETPAIR /**/
1796#define HAS_MSG_CTRUNC /**/
1797#define HAS_MSG_DONTROUTE /**/
1798#define HAS_MSG_OOB /**/
1799#define HAS_MSG_PEEK /**/
1800/*#define HAS_MSG_PROXY / **/
1801#define HAS_SCM_RIGHTS /**/
1802#define HAS_SENDMSG /**/
1803#define HAS_RECVMSG /**/
1804#define HAS_STRUCT_MSGHDR /**/
1805#define HAS_STRUCT_CMSGHDR /**/
dc45a647 1806
327c3667 1807/* USE_STAT_BLOCKS:
1808 * This symbol is defined if this system has a stat structure declaring
1809 * st_blksize and st_blocks.
1810 */
921b2963 1811#define USE_STAT_BLOCKS /**/
327c3667 1812
1813/* HAS_STRERROR:
1814 * This symbol, if defined, indicates that the strerror routine is
1815 * available to translate error numbers to strings. See the writeup
1816 * of Strerror() in this file before you try to define your own.
1817 */
1818/* HAS_SYS_ERRLIST:
1819 * This symbol, if defined, indicates that the sys_errlist array is
1820 * available to translate error numbers to strings. The extern int
1821 * sys_nerr gives the size of that table.
1822 */
1823/* Strerror:
1824 * This preprocessor symbol is defined as a macro if strerror() is
1825 * not available to translate error numbers to strings but sys_errlist[]
1826 * array is there.
1827 */
1828#define HAS_STRERROR /**/
1829#define HAS_SYS_ERRLIST /**/
1830#define Strerror(e) strerror(e)
1831
bd89102f 1832/* HAS_UNION_SEMUN:
1833 * This symbol, if defined, indicates that the union semun is
1834 * defined by including <sys/sem.h>. If not, the user code
1835 * probably needs to define it as:
1836 * union semun {
1837 * int val;
1838 * struct semid_ds *buf;
1839 * unsigned short *array;
1840 * }
1841 */
1842/* USE_SEMCTL_SEMUN:
1843 * This symbol, if defined, indicates that union semun is
1844 * used for semctl IPC_STAT.
1845 */
1846/* USE_SEMCTL_SEMID_DS:
1847 * This symbol, if defined, indicates that struct semid_ds * is
1848 * used for semctl IPC_STAT.
1849 */
327c3667 1850/*#define HAS_UNION_SEMUN / **/
bd89102f 1851#define USE_SEMCTL_SEMUN /**/
921b2963 1852#define USE_SEMCTL_SEMID_DS /**/
bd89102f 1853
dfe9444c 1854/* Signal_t:
1855 * This symbol's value is either "void" or "int", corresponding to the
1856 * appropriate return type of a signal handler. Thus, you can declare
1857 * a signal handler using "Signal_t (*handler)()", and define the
1858 * handler using "Signal_t handler(sig)".
1859 */
1860#define Signal_t void /* Signal handler's return type */
1861
1862/* Groups_t:
1863 * This symbol holds the type used for the second argument to
1864 * getgroups() and setgropus(). Usually, this is the same as
1865 * gidtype (gid_t) , but sometimes it isn't.
1866 * It can be int, ushort, uid_t, etc...
1867 * It may be necessary to include <sys/types.h> to get any
1868 * typedef'ed information. This is only required if you have
1869 * getgroups() or setgropus()..
1870 */
1871#if defined(HAS_GETGROUPS) || defined(HAS_SETGROUPS)
1872#define Groups_t gid_t /* Type for 2nd arg to [sg]etgroups() */
1873#endif
1874
327c3667 1875/* I_GRP:
1876 * This symbol, if defined, indicates to the C program that it should
1877 * include <grp.h>.
1878 */
1879/* GRPASSWD:
1880 * This symbol, if defined, indicates to the C program that struct group
1881 * in <grp.h> contains gr_passwd.
1882 */
1883#define I_GRP /**/
1884#define GRPASSWD /**/
1885
dfe9444c 1886/* I_NETDB:
1887 * This symbol, if defined, indicates that <netdb.h> exists and
1888 * should be included.
1889 */
1890#define I_NETDB /**/
4633a7c4 1891
c4f23d77 1892/* I_PWD:
1893 * This symbol, if defined, indicates to the C program that it should
1894 * include <pwd.h>.
1895 */
1896/* PWQUOTA:
1897 * This symbol, if defined, indicates to the C program that struct passwd
1898 * contains pw_quota.
1899 */
1900/* PWAGE:
1901 * This symbol, if defined, indicates to the C program that struct passwd
1902 * contains pw_age.
1903 */
1904/* PWCHANGE:
1905 * This symbol, if defined, indicates to the C program that struct passwd
1906 * contains pw_change.
1907 */
1908/* PWCLASS:
1909 * This symbol, if defined, indicates to the C program that struct passwd
1910 * contains pw_class.
1911 */
1912/* PWEXPIRE:
1913 * This symbol, if defined, indicates to the C program that struct passwd
1914 * contains pw_expire.
1915 */
1916/* PWCOMMENT:
1917 * This symbol, if defined, indicates to the C program that struct passwd
1918 * contains pw_comment.
1919 */
1920/* PWGECOS:
1921 * This symbol, if defined, indicates to the C program that struct passwd
1922 * contains pw_gecos.
1923 */
93341792 1924/* PWPASSWD:
1925 * This symbol, if defined, indicates to the C program that struct passwd
1926 * contains pw_passwd.
1927 */
c4f23d77 1928#define I_PWD /**/
921b2963 1929#define PWQUOTA /**/
1930/*#define PWAGE / **/
c4f23d77 1931/*#define PWCHANGE / **/
1932/*#define PWCLASS / **/
1933/*#define PWEXPIRE / **/
327c3667 1934#define PWCOMMENT /**/
c4f23d77 1935#define PWGECOS /**/
93341792 1936#define PWPASSWD /**/
c4f23d77 1937
de4597cb 1938/* I_SYSUIO:
1939 * This symbol, if defined, indicates that <sys/uio.h> exists and
1940 * should be included.
1941 */
1942#define I_SYSUIO /**/
1943
bfb7748a 1944/* Free_t:
1945 * This variable contains the return type of free(). It is usually
1946 * void, but occasionally int.
9003a523 1947 */
bfb7748a 1948/* Malloc_t:
1949 * This symbol is the type of pointer returned by malloc and realloc.
16d20bd9 1950 */
bfb7748a 1951#define Malloc_t void * /**/
1952#define Free_t void /**/
1953
1954/* MYMALLOC:
1955 * This symbol, if defined, indicates that we're using our own malloc.
1956 */
921b2963 1957/*#define MYMALLOC / **/
9003a523 1958
c4f23d77 1959/* SIG_NAME:
1960 * This symbol contains a list of signal names in order of
1961 * signal number. This is intended
1962 * to be used as a static array initialization, like this:
1963 * char *sig_name[] = { SIG_NAME };
1964 * The signals in the list are separated with commas, and each signal
1965 * is surrounded by double quotes. There is no leading SIG in the signal
1966 * name, i.e. SIGQUIT is known as "QUIT".
1967 * Gaps in the signal numbers (up to NSIG) are filled in with NUMnn,
1968 * etc., where nn is the actual signal number (e.g. NUM37).
1969 * The signal number for sig_name[i] is stored in sig_num[i].
1970 * The last element is 0 to terminate the list with a NULL. This
1971 * corresponds to the 0 at the end of the sig_num list.
1972 */
1973/* SIG_NUM:
1974 * This symbol contains a list of signal numbers, in the same order as the
1975 * SIG_NAME list. It is suitable for static array initialization, as in:
1976 * int sig_num[] = { SIG_NUM };
1977 * The signals in the list are separated with commas, and the indices
1978 * within that list and the SIG_NAME list match, so it's easy to compute
1979 * the signal name from a number or vice versa at the price of a small
1980 * dynamic linear lookup.
1981 * Duplicates are allowed, but are moved to the end of the list.
1982 * The signal number corresponding to sig_name[i] is sig_number[i].
1983 * if (i < NSIG) then sig_number[i] == i.
1984 * The last element is 0, corresponding to the 0 at the end of
1985 * the sig_name list.
1986 */
921b2963 1987#define SIG_NAME "ZERO", "HUP", "INT", "QUIT", "ILL", "TRAP", "ABRT", "EMT", "FPE", "KILL", "BUS", "SEGV", "SYS", "PIPE", "ALRM", "TERM", "IOINT", "STOP", "TSTP", "CONT", "CHLD", "TTIN", "TTOU", "AIO", "XCPU", "XFSZ", "VTALRM", "PROF", "WINCH", "INFO", "USR1", "USR2", "RESV", "RTMIN", "NUM34", "NUM35", "NUM36", "NUM37", "NUM38", "NUM39", "NUM40", "NUM41", "NUM42", "NUM43", "NUM44", "NUM45", "NUM46", "NUM47", "MAX", "IOT", "LOST", "URG", "CLD", "IO", "POLL", "PTY", "PWR", "RTMAX", 0 /**/
1988#define SIG_NUM 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 6, 6, 16, 20, 23, 23, 23, 29, 48, 0 /**/
c4f23d77 1989
bfb7748a 1990/* VOIDFLAGS:
1991 * This symbol indicates how much support of the void type is given by this
1992 * compiler. What various bits mean:
1993 *
1994 * 1 = supports declaration of void
1995 * 2 = supports arrays of pointers to functions returning void
1996 * 4 = supports comparisons between pointers to void functions and
1997 * addresses of void functions
1998 * 8 = suports declaration of generic void pointers
1999 *
2000 * The package designer should define VOIDUSED to indicate the requirements
2001 * of the package. This can be done either by #defining VOIDUSED before
2002 * including config.h, or by defining defvoidused in Myinit.U. If the
2003 * latter approach is taken, only those flags will be tested. If the
2004 * level of void support necessary is not present, defines void to int.
4633a7c4 2005 */
bfb7748a 2006#ifndef VOIDUSED
2007#define VOIDUSED 15
2008#endif
2009#define VOIDFLAGS 15
2010#if (VOIDFLAGS & VOIDUSED) != VOIDUSED
2011#define void int /* is void to be avoided? */
2012#define M_VOID /* Xenix strikes again */
2013#endif
fbfd4aab 2014
bfb7748a 2015/* ARCHLIB:
2016 * This variable, if defined, holds the name of the directory in
2017 * which the user wants to put architecture-dependent public
2018 * library files for perl5. It is most often a local directory
2019 * such as /usr/local/lib. Programs using this variable must be
2020 * prepared to deal with filename expansion. If ARCHLIB is the
2021 * same as PRIVLIB, it is not defined, since presumably the
2022 * program already searches PRIVLIB.
9003a523 2023 */
bfb7748a 2024/* ARCHLIB_EXP:
2025 * This symbol contains the ~name expanded version of ARCHLIB, to be used
fbfd4aab 2026 * in programs that are not prepared to deal with ~ expansion at run-time.
2027 */
ef4af2be 2028#define ARCHLIB "/opt/perl/lib/5.00554/alpha-dec_osf-thread" /**/
2029#define ARCHLIB_EXP "/opt/perl/lib/5.00554/alpha-dec_osf-thread" /**/
9003a523 2030
dfe9444c 2031/* DLSYM_NEEDS_UNDERSCORE:
2032 * This symbol, if defined, indicates that we need to prepend an
2033 * underscore to the symbol name before calling dlsym(). This only
2034 * makes sense if you *have* dlsym, which we will presume is the
2035 * case if you're using dl_dlopen.xs.
2036 */
2037/*#define DLSYM_NEEDS_UNDERSCORE / **/
2038
327c3667 2039/* HAS_FSEEKO:
2040 * This symbol, if defined, indicates that the fseeko routine is
2041 * available to fseek beyond 32 bits (useful for ILP32 hosts).
2042 */
2043/*#define HAS_FSEEKO / **/
2044
2045/* HAS_FTELLO:
2046 * This symbol, if defined, indicates that the ftello routine is
2047 * available to ftell from beyond 32 bits (useful for ILP32 hosts).
2048 */
2049/*#define HAS_FTELLO / **/
2050
ff49bff8 2051/* HAS_MADVISE:
2052 * This symbol, if defined, indicates that the madvise system call is
2053 * available to map a file into memory.
2054 */
2055#define HAS_MADVISE /**/
2056
2057/* HAS_MPROTECT:
2058 * This symbol, if defined, indicates that the mprotect system call is
2059 * available to modify the access protection of a memory mapped file.
2060 */
2061#define HAS_MPROTECT /**/
2062
de4597cb 2063/* HAS_READV:
2064 * This symbol, if defined, indicates that the readv routine is
2065 * available to do gather reads. You will also need <sys/uio.h>
2066 * and there I_SYSUIO.
2067 */
2068#define HAS_READV /**/
2069
dfe9444c 2070/* USE_SFIO:
2071 * This symbol, if defined, indicates that sfio should
2072 * be used.
2073 */
2074/*#define USE_SFIO / **/
2075
ff49bff8 2076/* HAS_FSTATFS:
2077 * This symbol, if defined, indicates that the fstatfs routine is
2078 * available to do stat filesystems of file descriptors.
2079 */
2080/* HAS_STRUCT_STATFS_FLAGS:
2081 * This symbol, if defined, indicates that the struct statfs
2082 * does have the f_flags member containing the mount flags of
2083 * the filesystem holding the file.
2084 * This kind of struct statfs is coming from sys/mount.h (BSD)
2085 * and not from sys/statfs.h (SYSV).
2086 */
2087#define HAS_FSTATFS /**/
2088#define HAS_STRUCT_STATFS_FLAGS /**/
2089
2090/* HAS_FSTATVFS:
2091 * This symbol, if defined, indicates that the fstatvfs routine is
2092 * available to do stat filesystems of file descriptors.
2093 */
2094#define HAS_FSTATVFS /**/
2095
2096/* HAS_TELLDIR_PROTO:
2097 * This symbol, if defined, indicates that the system provides
2098 * a prototype for the telldir() function. Otherwise, it is up
2099 * to the program to supply one. A good guess is
2100 * extern long telldir _((DIR*));
2101 */
2102#define HAS_TELLDIR_PROTO /**/
2103
de4597cb 2104/* HAS_WRITEV:
2105 * This symbol, if defined, indicates that the writev routine is
2106 * available to do scatter writes.
2107 */
2108#define HAS_WRITEV /**/
2109
327c3667 2110/* HAS_DBMINIT64:
2111 * This symbol, if defined, indicates that the dbminit64 routine is
2112 * available to open dbm files larger than 2 gigabytes.
2113 */
2114/* HAS_DBMCLOSE64:
2115 * This symbol, if defined, indicates that the dbmclose64 routine is
2116 * available to close dbm files larger than 2 gigabytes.
2117 */
2118/* HAS_FETCH64:
2119 * This symbol, if defined, indicates that the fetch64 routine is
2120 * available to fetch from dbm files larger than 2 gigabytes.
2121 */
2122/* HAS_STORE64:
2123 * This symbol, if defined, indicates that the store64 routine is
2124 * available to store to dbm files larger than 2 gigabytes.
2125 */
2126/* HAS_DELETE64:
2127 * This symbol, if defined, indicates that the delete64 routine is
2128 * available to delete from dbm files larger than 2 gigabytes.
2129 */
2130/* HAS_FIRSTKEY64:
2131 * This symbol, if defined, indicates that the firstkey64 routine is
2132 * available to firstkey in dbm files larger than 2 gigabytes.
2133 */
2134/* HAS_NEXTKEY64:
2135 * This symbol, if defined, indicates that the nextkey64 routine is
2136 * available to nextkey in dbm files larger than 2 gigabytes.
2137 */
2138/*#define HAS_DBMINIT64 / **/
2139/*#define HAS_DBMCLOSE64 / **/
2140/*#define HAS_FETCH64 / **/
2141/*#define HAS_STORE64 / **/
2142/*#define HAS_DELETE64 / **/
2143/*#define HAS_FIRSTKEY64 / **/
2144/*#define HAS_NEXTKEY64 / **/
2145
dfe9444c 2146/* USE_DYNAMIC_LOADING:
2147 * This symbol, if defined, indicates that dynamic loading of
2148 * some sort is available.
2149 */
2150#define USE_DYNAMIC_LOADING /**/
2151
2152/* DB_Prefix_t:
2153 * This symbol contains the type of the prefix structure element
2154 * in the <db.h> header file. In older versions of DB, it was
2155 * int, while in newer ones it is u_int32_t.
2156 */
2157/* DB_Hash_t:
2158 * This symbol contains the type of the prefix structure element
2159 * in the <db.h> header file. In older versions of DB, it was
2160 * int, while in newer ones it is size_t.
2161 */
2162#define DB_Hash_t u_int32_t /**/
2163#define DB_Prefix_t size_t /**/
2164
327c3667 2165/* I_INTTYPES:
2166 * This symbol, if defined, indicates to the C program that it should
2167 * include <inttypes.h>.
2168 */
2169/* HAS_INT64_T:
2170 * This symbol will defined if the C compiler supports int64_t.
2171 * Usually the <inttypes.h> needs to be included, but sometimes
2172 * <sys/types.h> is enough.
2173 */
2174/*#define I_INTTYPES / **/
2175/*#define HAS_INT64_T / **/
2176
ff49bff8 2177/* I_MNTENT:
2178 * This symbol, if defined, indicates that <mntent.h> exists and
2179 * should be included.
2180 */
2181/*#define I_MNTENT / **/
2182
5b34fd99 2183/* I_POLL:
2184 * This symbol, if defined, indicates that <poll.h> exists and
2185 * should be included.
2186 */
2187#define I_POLL /**/
2188
ff49bff8 2189/* I_SYS_MMAN:
2190 * This symbol, if defined, indicates that <sys/mman.h> exists and
2191 * should be included.
2192 */
2193#define I_SYS_MMAN /**/
2194
2195/* I_SYS_MOUNT:
2196 * This symbol, if defined, indicates that <sys/mount.h> exists and
2197 * should be included.
2198 */
2199#define I_SYS_MOUNT /**/
2200
2201/* I_SYS_STATVFS:
2202 * This symbol, if defined, indicates that <sys/statvfs.h> exists and
2203 * should be included.
2204 */
2205#define I_SYS_STATVFS /**/
2206
2207/* INSTALL_USR_BIN_PERL:
2208 * This symbol, if defined, indicates that Perl is to be installed
2209 * also as /usr/bin/perl.
2210 */
2211#define INSTALL_USR_BIN_PERL /**/
2212
327c3667 2213/* HAS_FSTAT64:
2214 * This symbol, if defined, indicates that the fstat64 routine is
2215 * available to stat files (fds) larger than 2 gigabytes.
2216 */
2217/* HAS_FTRUNCATE64:
2218 * This symbol, if defined, indicates that the ftruncate64 routine is
2219 * available to tell files larger than 2 gigabytes.
2220 */
2221/* HAS_LSEEK64:
2222 * This symbol, if defined, indicates that the lseek64 routine is
2223 * available to seek files larger than 2 gigabytes.
2224 */
2225/* HAS_LSTAT64:
2226 * This symbol, if defined, indicates that the lstat64 routine is
2227 * available to stat files (symlinks) larger than 2 gigabytes.
2228 */
2229/* HAS_OPEN64:
2230 * This symbol, if defined, indicates that the open64 routine is
2231 * available to open files larger than 2 gigabytes.
2232 */
2233/* HAS_OPENDIR64:
2234 * This symbol, if defined, indicates that the opendir64 routine is
2235 * available to opendir files larger than 2 gigabytes.
2236 */
2237/* HAS_READDIR64:
2238 * This symbol, if defined, indicates that the readdir64 routine is
2239 * available to readdir files larger than 2 gigabytes.
2240 */
2241/* HAS_SEEKDIR64:
2242 * This symbol, if defined, indicates that the seekdir64 routine is
2243 * available to seekdir files larger than 2 gigabytes.
2244 */
2245/* HAS_STAT64:
921b2963 2246 * This symbol, if defined, indicates that the stat64 routine is
327c3667 2247 * available to stat files larger than 2 gigabytes.
2248 */
2249/* HAS_TELLDIR64:
2250 * This symbol, if defined, indicates that the telldir64 routine is
2251 * available to telldir files larger than 2 gigabytes.
2252 */
2253/* HAS_TRUNCATE64:
2254 * This symbol, if defined, indicates that the truncate64 routine is
2255 * available to truncate files larger than 2 gigabytes.
2256 */
2257/* HAS_OFF64_T:
2258 * This symbol will be defined if the C compiler supports off64_t.
2259 */
2260/* HAS_STRUCT_DIRENT64:
2261 * This symbol will be defined if the C compiler supports struct dirent64.
2262 */
2263/*#define HAS_FSTAT64 / **/
2264/*#define HAS_FTRUNCATE64 / **/
2265/*#define HAS_LSEEK64 / **/
2266/*#define HAS_LSTAT64 / **/
2267/*#define HAS_OPEN64 / **/
2268/*#define HAS_OPENDIR64 / **/
2269/*#define HAS_READDIR64 / **/
2270/*#define HAS_SEEKDIR64 / **/
2271/*#define HAS_STAT64 / **/
2272/*#define HAS_TELLDIR64 / **/
2273/*#define HAS_TRUNCATE64 / **/
2274/*#define HAS_OFF64_T / **/
2275/*#define HAS_STRUCT_DIRENT64 / **/
2276
bfb7748a 2277/* PRIVLIB:
2278 * This symbol contains the name of the private library for this package.
2279 * The library is private in the sense that it needn't be in anyone's
2280 * execution path, but it should be accessible by the world. The program
2281 * should be prepared to do ~ expansion.
2282 */
2283/* PRIVLIB_EXP:
2284 * This symbol contains the ~name expanded version of PRIVLIB, to be used
2285 * in programs that are not prepared to deal with ~ expansion at run-time.
2286 */
ef4af2be 2287#define PRIVLIB "/opt/perl/lib/5.00554" /**/
2288#define PRIVLIB_EXP "/opt/perl/lib/5.00554" /**/
327c3667 2289
2290/* SELECT_MIN_BITS:
2291 * This symbol holds the minimum number of bits operated by select.
2292 * That is, if you do select(n, ...), how many bits at least will be
2293 * cleared in the masks if some activity is detected. Usually this
2294 * is either n or 32*ceil(n/32), especially many little-endians do
2295 * the latter. This is only useful if you have select(), naturally.
2296 */
2297#define SELECT_MIN_BITS 32 /**/
bfb7748a 2298
2299/* SITEARCH:
2300 * This symbol contains the name of the private library for this package.
2301 * The library is private in the sense that it needn't be in anyone's
2302 * execution path, but it should be accessible by the world. The program
2303 * should be prepared to do ~ expansion.
2304 * The standard distribution will put nothing in this directory.
2305 * Individual sites may place their own extensions and modules in
2306 * this directory.
2307 */
2308/* SITEARCH_EXP:
2309 * This symbol contains the ~name expanded version of SITEARCH, to be used
2310 * in programs that are not prepared to deal with ~ expansion at run-time.
2311 */
ef4af2be 2312#define SITEARCH "/opt/perl/lib/site_perl/5.00554/alpha-dec_osf-thread" /**/
2313#define SITEARCH_EXP "/opt/perl/lib/site_perl/5.00554/alpha-dec_osf-thread" /**/
bfb7748a 2314
2315/* SITELIB:
2316 * This symbol contains the name of the private library for this package.
2317 * The library is private in the sense that it needn't be in anyone's
2318 * execution path, but it should be accessible by the world. The program
2319 * should be prepared to do ~ expansion.
2320 * The standard distribution will put nothing in this directory.
2321 * Individual sites may place their own extensions and modules in
2322 * this directory.
2323 */
2324/* SITELIB_EXP:
2325 * This symbol contains the ~name expanded version of SITELIB, to be used
2326 * in programs that are not prepared to deal with ~ expansion at run-time.
2327 */
ef4af2be 2328#define SITELIB "/opt/perl/lib/site_perl/5.00554" /**/
2329#define SITELIB_EXP "/opt/perl/lib/site_perl/5.00554" /**/
bfb7748a 2330
fbfd4aab 2331/* STARTPERL:
2332 * This variable contains the string to put in front of a perl
2333 * script to make sure (one hopes) that it runs with perl and not
2334 * some shell.
2335 */
921b2963 2336#define STARTPERL "#!/opt/perl/bin/perl" /**/
327c3667 2337
2338/* HAS_FGETPOS64:
2339 * This symbol, if defined, indicates that the fgetpos64 routine is
2340 * available to getpos files larger than 2 gigabytes.
2341 */
2342/* HAS_FOPEN64:
2343 * This symbol, if defined, indicates that the fopen64 routine is
2344 * available to open files larger than 2 gigabytes.
2345 */
2346/* HAS_FREOPEN64:
2347 * This symbol, if defined, indicates that the freopen64 routine is
2348 * available to reopen files larger than 2 gigabytes.
2349 */
2350/* HAS_FSEEK64:
2351 * This symbol, if defined, indicates that the fseek64 routine is
2352 * available to seek files larger than 2 gigabytes.
2353 */
2354/* HAS_FSEEKO64:
2355 * This symbol, if defined, indicates that the fseeko64 routine is
2356 * available to seek files larger than 2 gigabytes.
2357 */
2358/* HAS_FSETPOS64:
2359 * This symbol, if defined, indicates that the fsetpos64 routine is
2360 * available to setpos files larger than 2 gigabytes.
2361 */
2362/* HAS_FTELL64:
2363 * This symbol, if defined, indicates that the ftell64 routine is
2364 * available to tell files larger than 2 gigabytes.
2365 */
2366/* HAS_FTELLO64:
2367 * This symbol, if defined, indicates that the ftello64 routine is
2368 * available to tell files larger than 2 gigabytes.
2369 */
2370/* HAS_TMPFILE64:
2371 * This symbol, if defined, indicates that the tmpfile64 routine is
2372 * available to tmpfile files larger than 2 gigabytes.
2373 */
2374/*#define HAS_FGETPOS64 / **/
2375/*#define HAS_FOPEN64 / **/
2376/*#define HAS_FREOPEN64 / **/
2377/*#define HAS_FSEEK64 / **/
2378/*#define HAS_FSEEKO64 / **/
2379/*#define HAS_FSETPOS64 / **/
2380/*#define HAS_FTELL64 / **/
2381/*#define HAS_FTELLO64 / **/
2382/*#define HAS_TMPFILE64 / **/
2383
2384/* USE_64_BITS:
921b2963 2385 * This symbol, if defined, indicates that 64-bit interfaces should
2386 * be used when available. If not defined, the native default interfaces
327c3667 2387 * will be used (be they 32 or 64 bits).
2388 */
921b2963 2389#define USE_64_BITS /**/
4633a7c4 2390
ff49bff8 2391/* MULTIPLICITY:
2392 * This symbol, if defined, indicates that Perl should
2393 * be built to use multiplicity.
2394 */
2395/*#define MULTIPLICITY / **/
2396
9003a523 2397/* USE_PERLIO:
2398 * This symbol, if defined, indicates that the PerlIO abstraction should
2399 * be used throughout. If not defined, stdio should be
2400 * used in a fully backward compatible manner.
ce4a058e 2401 */
20e68413 2402/*#define USE_PERLIO / **/
ce4a058e 2403
921b2963 2404/* HAS_DRAND48_PROTO:
2405 * This symbol, if defined, indicates that the system provides
2406 * a prototype for the drand48() function. Otherwise, it is up
2407 * to the program to supply one. A good guess is
2408 * extern double drand48 _((void));
2409 */
2410#define HAS_DRAND48_PROTO /**/
2411
dc45a647 2412/* HAS_GETHOST_PROTOS:
2413 * This symbol, if defined, indicates that <netdb.h> includes
2414 * prototypes for gethostent(), gethostbyname(), and
2415 * gethostbyaddr(). Otherwise, it is up to the program to guess
2416 * them. See netdbtype.U for probing for various Netdb_xxx_t types.
2417 */
2418#define HAS_GETHOST_PROTOS /**/
2419
2420/* HAS_GETNET_PROTOS:
2421 * This symbol, if defined, indicates that <netdb.h> includes
2422 * prototypes for getnetent(), getnetbyname(), and
2423 * getnetbyaddr(). Otherwise, it is up to the program to guess
2424 * them. See netdbtype.U for probing for various Netdb_xxx_t types.
2425 */
2426#define HAS_GETNET_PROTOS /**/
2427
2428/* HAS_GETPROTO_PROTOS:
2429 * This symbol, if defined, indicates that <netdb.h> includes
2430 * prototypes for getprotoent(), getprotobyname(), and
2431 * getprotobyaddr(). Otherwise, it is up to the program to guess
2432 * them. See netdbtype.U for probing for various Netdb_xxx_t types.
2433 */
2434#define HAS_GETPROTO_PROTOS /**/
2435
2436/* HAS_GETSERV_PROTOS:
2437 * This symbol, if defined, indicates that <netdb.h> includes
2438 * prototypes for getservent(), getservbyname(), and
2439 * getservbyaddr(). Otherwise, it is up to the program to guess
2440 * them. See netdbtype.U for probing for various Netdb_xxx_t types.
2441 */
2442#define HAS_GETSERV_PROTOS /**/
2443
dfe9444c 2444/* Netdb_host_t:
2445 * This symbol holds the type used for the 1st argument
2446 * to gethostbyaddr().
4633a7c4 2447 */
dfe9444c 2448/* Netdb_hlen_t:
2449 * This symbol holds the type used for the 2nd argument
2450 * to gethostbyaddr().
2451 */
2452/* Netdb_name_t:
2453 * This symbol holds the type used for the argument to
2454 * gethostbyname().
2455 */
2456/* Netdb_net_t:
2457 * This symbol holds the type used for the 1st argument to
2458 * getnetbyaddr().
2459 */
2460#define Netdb_host_t const char * /**/
2461#define Netdb_hlen_t int /**/
2462#define Netdb_name_t const char * /**/
921b2963 2463#define Netdb_net_t int /**/
dfe9444c 2464
2465/* Select_fd_set_t:
2466 * This symbol holds the type used for the 2nd, 3rd, and 4th
2467 * arguments to select. Usually, this is 'fd_set *', if HAS_FD_SET
2468 * is defined, and 'int *' otherwise. This is only useful if you
2469 * have select(), of course.
2470 */
2471#define Select_fd_set_t fd_set * /**/
2472
2473/* ARCHNAME:
2474 * This symbol holds a string representing the architecture name.
2475 * It may be used to construct an architecture-dependant pathname
2476 * where library files may be held under a private library, for
2477 * instance.
2478 */
921b2963 2479#define ARCHNAME "alpha-dec_osf-thread" /**/
2480
ef4af2be 2481/* OLD_PTHREAD_CREATE_JOINABLE:
921b2963 2482 * This symbol, if defined, indicates how to create pthread
ef4af2be 2483 * in joinable (aka undetached) state. NOTE: not defined
2484 * if pthread.h already has defined PTHREAD_CREATE_JOINABLE
2485 * (the new version of the constant).
ff49bff8 2486 * If defined, known values are PTHREAD_CREATE_UNDETACHED
921b2963 2487 * and __UNDETACHED.
2488 */
ef4af2be 2489/*#define OLD_PTHREAD_CREATE_JOINABLE / **/
dfe9444c 2490
2491/* HAS_PTHREAD_YIELD:
2492 * This symbol, if defined, indicates that the pthread_yield
2493 * routine is available to yield the execution of the current
921b2963 2494 * thread. sched_yield is preferable to pthread_yield.
2495 */
2496/* SCHED_YIELD:
2497 * This symbol defines the way to yield the execution of
2498 * the current thread. Known ways are sched_yield,
2499 * pthread_yield, and pthread_yield with NULL.
dfe9444c 2500 */
c4f23d77 2501/* HAS_SCHED_YIELD:
2502 * This symbol, if defined, indicates that the sched_yield
2503 * routine is available to yield the execution of the current
921b2963 2504 * thread. sched_yield is preferable to pthread_yield.
c4f23d77 2505 */
dfe9444c 2506/*#define HAS_PTHREAD_YIELD / **/
921b2963 2507#define SCHED_YIELD sched_yield() /**/
c4f23d77 2508#define HAS_SCHED_YIELD /**/
dfe9444c 2509
921b2963 2510/* I_MACH_CTHREADS:
2511 * This symbol, if defined, indicates to the C program that it should
2512 * include <mach/cthreads.h>.
2513 */
2514/*#define I_MACH_CTHREADS / **/
2515
dfe9444c 2516/* USE_THREADS:
2517 * This symbol, if defined, indicates that Perl should
2518 * be built to use threads.
2519 */
693762b4 2520/* OLD_PTHREADS_API:
2521 * This symbol, if defined, indicates that Perl should
2522 * be built to use the old draft POSIX threads API.
2523 */
dfe9444c 2524#define USE_THREADS /**/
693762b4 2525/*#define OLD_PTHREADS_API / **/
16d20bd9 2526
dc45a647 2527/* Time_t:
2528 * This symbol holds the type returned by time(). It can be long,
2529 * or time_t on BSD sites (in which case <sys/types.h> should be
2530 * included).
2531 */
2532#define Time_t time_t /* Time type */
2533
2534/* HAS_TIMES:
2535 * This symbol, if defined, indicates that the times() routine exists.
2536 * Note that this became obsolete on some systems (SUNOS), which now
2537 * use getrusage(). It may be necessary to include <sys/times.h>.
2538 */
2539#define HAS_TIMES /**/
2540
2541/* Fpos_t:
2542 * This symbol holds the type used to declare file positions in libc.
2543 * It can be fpos_t, long, uint, etc... It may be necessary to include
2544 * <sys/types.h> to get any typedef'ed information.
2545 */
2546#define Fpos_t fpos_t /* File position type */
2547
2548/* Gid_t:
2549 * This symbol holds the return type of getgid() and the type of
2550 * argument to setrgid() and related functions. Typically,
2551 * it is the type of group ids in the kernel. It can be int, ushort,
2552 * uid_t, etc... It may be necessary to include <sys/types.h> to get
2553 * any typedef'ed information.
2554 */
2555#define Gid_t gid_t /* Type for getgid(), etc... */
2556
2557/* Off_t:
2558 * This symbol holds the type used to declare offsets in the kernel.
2559 * It can be int, long, off_t, etc... It may be necessary to include
2560 * <sys/types.h> to get any typedef'ed information.
2561 */
921b2963 2562/* LSEEKSIZE:
2563 * This symbol holds the number of bytes used by the Off_t.
2564 */
dc45a647 2565#define Off_t off_t /* <offset> type */
921b2963 2566#define LSEEKSIZE 8 /* <offset> size */
dc45a647 2567
2568/* Mode_t:
2569 * This symbol holds the type used to declare file modes
2570 * for systems calls. It is usually mode_t, but may be
2571 * int or unsigned short. It may be necessary to include <sys/types.h>
2572 * to get any typedef'ed information.
2573 */
2574#define Mode_t mode_t /* file mode parameter for system calls */
2575
2576/* Pid_t:
2577 * This symbol holds the type used to declare process ids in the kernel.
2578 * It can be int, uint, pid_t, etc... It may be necessary to include
2579 * <sys/types.h> to get any typedef'ed information.
2580 */
2581#define Pid_t pid_t /* PID type */
2582
2583/* Size_t:
2584 * This symbol holds the type used to declare length parameters
2585 * for string functions. It is usually size_t, but may be
2586 * unsigned long, int, etc. It may be necessary to include
2587 * <sys/types.h> to get any typedef'ed information.
2588 */
2589#define Size_t size_t /* length paramater for string functions */
2590
2591/* Uid_t:
2592 * This symbol holds the type used to declare user ids in the kernel.
2593 * It can be int, ushort, uid_t, etc... It may be necessary to include
2594 * <sys/types.h> to get any typedef'ed information.
2595 */
2596#define Uid_t uid_t /* UID type */
2597
fe14fcc3 2598#endif