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