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