[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

/se3-unattended/var/se3/unattended/install/linuxaux/opt/perl/lib/5.10.0/i586-linux-thread-multi/CORE/ -> uconfig.h (source)

   1  /*
   2   * This file was produced by running the config_h.SH script, which
   3   * gets its values from uconfig.sh, which is generally produced by
   4   * running Configure.
   5   *
   6   * Feel free to modify any of this as the need arises.  Note, however,
   7   * that running config_h.SH again will wipe out any changes you've made.
   8   * For a more permanent change edit uconfig.sh and rerun config_h.SH.
   9   *
  10   * $Id: Config_h.U,v 3.0.1.5 1997/02/28 14:57:43 ram Exp $
  11   */
  12  
  13  /*
  14   * Package name      : 
  15   * Source directory  : 
  16   * Configuration time: 
  17   * Configured by     : 
  18   * Target system     : unknown
  19   */
  20  
  21  #ifndef _config_h_
  22  #define _config_h_
  23  
  24  /* LOC_SED:
  25   *    This symbol holds the complete pathname to the sed program.
  26   */
  27  #define LOC_SED     ""    /**/
  28  
  29  /* HAS_ALARM:
  30   *    This symbol, if defined, indicates that the alarm routine is
  31   *    available.
  32   */
  33  /*#define HAS_ALARM        / **/
  34  
  35  /* HAS_BCMP:
  36   *    This symbol is defined if the bcmp() routine is available to
  37   *    compare blocks of memory.
  38   */
  39  /*#define HAS_BCMP    / **/
  40  
  41  /* HAS_BCOPY:
  42   *    This symbol is defined if the bcopy() routine is available to
  43   *    copy blocks of memory.
  44   */
  45  /*#define HAS_BCOPY    / **/
  46  
  47  /* HAS_BZERO:
  48   *    This symbol is defined if the bzero() routine is available to
  49   *    set a memory block to 0.
  50   */
  51  /*#define HAS_BZERO    / **/
  52  
  53  /* HAS_CHOWN:
  54   *    This symbol, if defined, indicates that the chown routine is
  55   *    available.
  56   */
  57  /*#define HAS_CHOWN        / **/
  58  
  59  /* HAS_CHROOT:
  60   *    This symbol, if defined, indicates that the chroot routine is
  61   *    available.
  62   */
  63  /*#define HAS_CHROOT        / **/
  64  
  65  /* HAS_CHSIZE:
  66   *    This symbol, if defined, indicates that the chsize routine is available
  67   *    to truncate files.  You might need a -lx to get this routine.
  68   */
  69  /*#define    HAS_CHSIZE        / **/
  70  
  71  /* HASCONST:
  72   *    This symbol, if defined, indicates that this C compiler knows about
  73   *    the const type. There is no need to actually test for that symbol
  74   *    within your programs. The mere use of the "const" keyword will
  75   *    trigger the necessary tests.
  76   */
  77  /*#define HASCONST    / **/
  78  #ifndef HASCONST
  79  #define const
  80  #endif
  81  
  82  /* HAS_CUSERID:
  83   *    This symbol, if defined, indicates that the cuserid routine is
  84   *    available to get character login names.
  85   */
  86  /*#define HAS_CUSERID        / **/
  87  
  88  /* HAS_DBL_DIG:
  89   *    This symbol, if defined, indicates that this system's <float.h>
  90   *    or <limits.h> defines the symbol DBL_DIG, which is the number
  91   *    of significant digits in a double precision number.  If this
  92   *    symbol is not defined, a guess of 15 is usually pretty good.
  93   */
  94  /*#define HAS_DBL_DIG     / * */
  95  
  96  /* HAS_DIFFTIME:
  97   *    This symbol, if defined, indicates that the difftime routine is
  98   *    available.
  99   */
 100  /*#define HAS_DIFFTIME        / **/
 101  
 102  /* HAS_DLERROR:
 103   *    This symbol, if defined, indicates that the dlerror routine is
 104   *    available to return a string describing the last error that
 105   *    occurred from a call to dlopen(), dlclose() or dlsym().
 106   */
 107  /*#define HAS_DLERROR    / **/
 108  
 109  /* HAS_DUP2:
 110   *    This symbol, if defined, indicates that the dup2 routine is
 111   *    available to duplicate file descriptors.
 112   */
 113  /*#define HAS_DUP2    / **/
 114  
 115  /* HAS_FCHMOD:
 116   *    This symbol, if defined, indicates that the fchmod routine is available
 117   *    to change mode of opened files.  If unavailable, use chmod().
 118   */
 119  /*#define HAS_FCHMOD        / **/
 120  
 121  /* HAS_FCHOWN:
 122   *    This symbol, if defined, indicates that the fchown routine is available
 123   *    to change ownership of opened files.  If unavailable, use chown().
 124   */
 125  /*#define HAS_FCHOWN        / **/
 126  
 127  /* HAS_FCNTL:
 128   *    This symbol, if defined, indicates to the C program that
 129   *    the fcntl() function exists.
 130   */
 131  /*#define HAS_FCNTL        / **/
 132  
 133  /* HAS_FGETPOS:
 134   *    This symbol, if defined, indicates that the fgetpos routine is
 135   *    available to get the file position indicator, similar to ftell().
 136   */
 137  /*#define HAS_FGETPOS    / **/
 138  
 139  /* HAS_FLOCK:
 140   *    This symbol, if defined, indicates that the flock routine is
 141   *    available to do file locking.
 142   */
 143  /*#define HAS_FLOCK        / **/
 144  
 145  /* HAS_FORK:
 146   *    This symbol, if defined, indicates that the fork routine is
 147   *    available.
 148   */
 149  #define HAS_FORK        /**/
 150  
 151  /* HAS_FSETPOS:
 152   *    This symbol, if defined, indicates that the fsetpos routine is
 153   *    available to set the file position indicator, similar to fseek().
 154   */
 155  /*#define HAS_FSETPOS    / **/
 156  
 157  /* HAS_GETTIMEOFDAY:
 158   *    This symbol, if defined, indicates that the gettimeofday() system
 159   *    call is available for a sub-second accuracy clock. Usually, the file
 160   *    <sys/resource.h> needs to be included (see I_SYS_RESOURCE).
 161   *    The type "Timeval" should be used to refer to "struct timeval".
 162   */
 163  /*#define HAS_GETTIMEOFDAY    / **/
 164  #ifdef HAS_GETTIMEOFDAY
 165  #define Timeval struct timeval    /* Structure used by gettimeofday() */
 166  #endif
 167  
 168  /* HAS_GETGROUPS:
 169   *    This symbol, if defined, indicates that the getgroups() routine is
 170   *    available to get the list of process groups.  If unavailable, multiple
 171   *    groups are probably not supported.
 172   */
 173  /*#define HAS_GETGROUPS        / **/
 174  
 175  /* HAS_GETLOGIN:
 176   *    This symbol, if defined, indicates that the getlogin routine is
 177   *    available to get the login name.
 178   */
 179  /*#define HAS_GETLOGIN        / **/
 180  
 181  /* HAS_GETPGID:
 182   *    This symbol, if defined, indicates to the C program that 
 183   *    the getpgid(pid) function is available to get the
 184   *    process group id.
 185   */
 186  /*#define HAS_GETPGID        / **/
 187  
 188  /* HAS_GETPGRP2:
 189   *    This symbol, if defined, indicates that the getpgrp2() (as in DG/UX)
 190   *    routine is available to get the current process group.
 191   */
 192  /*#define HAS_GETPGRP2        / **/
 193  
 194  /* HAS_GETPPID:
 195   *    This symbol, if defined, indicates that the getppid routine is
 196   *    available to get the parent process ID.
 197   */
 198  /*#define HAS_GETPPID        / **/
 199  
 200  /* HAS_GETPRIORITY:
 201   *    This symbol, if defined, indicates that the getpriority routine is
 202   *    available to get a process's priority.
 203   */
 204  /*#define HAS_GETPRIORITY        / **/
 205  
 206  /* HAS_INET_ATON:
 207   *    This symbol, if defined, indicates to the C program that the
 208   *    inet_aton() function is available to parse IP address "dotted-quad"
 209   *    strings.
 210   */
 211  /*#define HAS_INET_ATON        / **/
 212  
 213  /* HAS_KILLPG:
 214   *    This symbol, if defined, indicates that the killpg routine is available
 215   *    to kill process groups.  If unavailable, you probably should use kill
 216   *    with a negative process number.
 217   */
 218  /*#define HAS_KILLPG    / **/
 219  
 220  /* HAS_LINK:
 221   *    This symbol, if defined, indicates that the link routine is
 222   *    available to create hard links.
 223   */
 224  /*#define HAS_LINK    / **/
 225  
 226  /* HAS_LOCALECONV:
 227   *    This symbol, if defined, indicates that the localeconv routine is
 228   *    available for numeric and monetary formatting conventions.
 229   */
 230  /*#define HAS_LOCALECONV    / **/
 231  
 232  /* HAS_LOCKF:
 233   *    This symbol, if defined, indicates that the lockf routine is
 234   *    available to do file locking.
 235   */
 236  /*#define HAS_LOCKF        / **/
 237  
 238  /* HAS_LSTAT:
 239   *    This symbol, if defined, indicates that the lstat routine is
 240   *    available to do file stats on symbolic links.
 241   */
 242  /*#define HAS_LSTAT        / **/
 243  
 244  /* HAS_MBLEN:
 245   *    This symbol, if defined, indicates that the mblen routine is available
 246   *    to find the number of bytes in a multibye character.
 247   */
 248  /*#define HAS_MBLEN        / **/
 249  
 250  /* HAS_MBSTOWCS:
 251   *    This symbol, if defined, indicates that the mbstowcs routine is
 252   *    available to covert a multibyte string into a wide character string.
 253   */
 254  /*#define    HAS_MBSTOWCS        / **/
 255  
 256  /* HAS_MBTOWC:
 257   *    This symbol, if defined, indicates that the mbtowc routine is available
 258   *    to covert a multibyte to a wide character.
 259   */
 260  /*#define HAS_MBTOWC        / **/
 261  
 262  /* HAS_MEMCMP:
 263   *    This symbol, if defined, indicates that the memcmp routine is available
 264   *    to compare blocks of memory.
 265   */
 266  #define HAS_MEMCMP    /**/
 267  
 268  /* HAS_MEMCPY:
 269   *    This symbol, if defined, indicates that the memcpy routine is available
 270   *    to copy blocks of memory.
 271   */
 272  #define HAS_MEMCPY    /**/
 273  
 274  /* HAS_MEMMOVE:
 275   *    This symbol, if defined, indicates that the memmove routine is available
 276   *    to copy potentially overlapping blocks of memory. This should be used
 277   *    only when HAS_SAFE_BCOPY is not defined. If neither is there, roll your
 278   *    own version.
 279   */
 280  /*#define HAS_MEMMOVE    / **/
 281  
 282  /* HAS_MEMSET:
 283   *    This symbol, if defined, indicates that the memset routine is available
 284   *    to set blocks of memory.
 285   */
 286  /*#define HAS_MEMSET    / **/
 287  
 288  /* HAS_MKDIR:
 289   *    This symbol, if defined, indicates that the mkdir routine is available
 290   *    to create directories.  Otherwise you should fork off a new process to
 291   *    exec /bin/mkdir.
 292   */
 293  /*#define HAS_MKDIR        / **/
 294  
 295  /* HAS_MKFIFO:
 296   *    This symbol, if defined, indicates that the mkfifo routine is
 297   *    available to create FIFOs. Otherwise, mknod should be able to
 298   *    do it for you. However, if mkfifo is there, mknod might require
 299   *    super-user privileges which mkfifo will not.
 300   */
 301  /*#define HAS_MKFIFO        / **/
 302  
 303  /* HAS_MKTIME:
 304   *    This symbol, if defined, indicates that the mktime routine is
 305   *    available.
 306   */
 307  /*#define HAS_MKTIME        / **/
 308  
 309  /* HAS_MSYNC:
 310   *    This symbol, if defined, indicates that the msync system call is
 311   *    available to synchronize a mapped file.
 312   */
 313  /*#define HAS_MSYNC        / **/
 314  
 315  /* HAS_MUNMAP:
 316   *    This symbol, if defined, indicates that the munmap system call is
 317   *    available to unmap a region, usually mapped by mmap().
 318   */
 319  /*#define HAS_MUNMAP        / **/
 320  
 321  /* HAS_NICE:
 322   *    This symbol, if defined, indicates that the nice routine is
 323   *    available.
 324   */
 325  /*#define HAS_NICE        / **/
 326  
 327  /* HAS_PATHCONF:
 328   *    This symbol, if defined, indicates that pathconf() is available
 329   *    to determine file-system related limits and options associated
 330   *    with a given filename.
 331   */
 332  /* HAS_FPATHCONF:
 333   *    This symbol, if defined, indicates that pathconf() is available
 334   *    to determine file-system related limits and options associated
 335   *    with a given open file descriptor.
 336   */
 337  /*#define HAS_PATHCONF        / **/
 338  /*#define HAS_FPATHCONF        / **/
 339  
 340  /* HAS_PAUSE:
 341   *    This symbol, if defined, indicates that the pause routine is
 342   *    available to suspend a process until a signal is received.
 343   */
 344  /*#define HAS_PAUSE        / **/
 345  
 346  /* HAS_PIPE:
 347   *    This symbol, if defined, indicates that the pipe routine is
 348   *    available to create an inter-process channel.
 349   */
 350  /*#define HAS_PIPE        / **/
 351  
 352  /* HAS_READDIR:
 353   *    This symbol, if defined, indicates that the readdir routine is
 354   *    available to read directory entries. You may have to include
 355   *    <dirent.h>. See I_DIRENT.
 356   */
 357  #define HAS_READDIR        /**/
 358  
 359  /* HAS_SEEKDIR:
 360   *    This symbol, if defined, indicates that the seekdir routine is
 361   *    available. You may have to include <dirent.h>. See I_DIRENT.
 362   */
 363  /*#define HAS_SEEKDIR        / **/
 364  
 365  /* HAS_TELLDIR:
 366   *    This symbol, if defined, indicates that the telldir routine is
 367   *    available. You may have to include <dirent.h>. See I_DIRENT.
 368   */
 369  /*#define HAS_TELLDIR        / **/
 370  
 371  /* HAS_REWINDDIR:
 372   *    This symbol, if defined, indicates that the rewinddir routine is
 373   *    available. You may have to include <dirent.h>. See I_DIRENT.
 374   */
 375  /*#define HAS_REWINDDIR        / **/
 376  
 377  /* HAS_READLINK:
 378   *    This symbol, if defined, indicates that the readlink routine is
 379   *    available to read the value of a symbolic link.
 380   */
 381  /*#define HAS_READLINK        / **/
 382  
 383  /* HAS_RENAME:
 384   *    This symbol, if defined, indicates that the rename routine is available
 385   *    to rename files.  Otherwise you should do the unlink(), link(), unlink()
 386   *    trick.
 387   */
 388  #define HAS_RENAME    /**/
 389  
 390  /* HAS_RMDIR:
 391   *    This symbol, if defined, indicates that the rmdir routine is
 392   *    available to remove directories. Otherwise you should fork off a
 393   *    new process to exec /bin/rmdir.
 394   */
 395  /*#define HAS_RMDIR        / **/
 396  
 397  /* HAS_SELECT:
 398   *    This symbol, if defined, indicates that the select routine is
 399   *    available to select active file descriptors. If the timeout field
 400   *    is used, <sys/time.h> may need to be included.
 401   */
 402  /*#define HAS_SELECT    / **/
 403  
 404  /* HAS_SETEGID:
 405   *    This symbol, if defined, indicates that the setegid routine is available
 406   *    to change the effective gid of the current program.
 407   */
 408  /*#define HAS_SETEGID        / **/
 409  
 410  /* HAS_SETEUID:
 411   *    This symbol, if defined, indicates that the seteuid routine is available
 412   *    to change the effective uid of the current program.
 413   */
 414  /*#define HAS_SETEUID        / **/
 415  
 416  /* HAS_SETLINEBUF:
 417   *    This symbol, if defined, indicates that the setlinebuf routine is
 418   *    available to change stderr or stdout from block-buffered or unbuffered
 419   *    to a line-buffered mode.
 420   */
 421  /*#define HAS_SETLINEBUF        / **/
 422  
 423  /* HAS_SETLOCALE:
 424   *    This symbol, if defined, indicates that the setlocale routine is
 425   *    available to handle locale-specific ctype implementations.
 426   */
 427  /*#define HAS_SETLOCALE    / **/
 428  
 429  /* HAS_SETPGID:
 430   *    This symbol, if defined, indicates that the setpgid(pid, gpid)
 431   *    routine is available to set process group ID.
 432   */
 433  /*#define HAS_SETPGID    / **/
 434  
 435  /* HAS_SETPGRP2:
 436   *    This symbol, if defined, indicates that the setpgrp2() (as in DG/UX)
 437   *    routine is available to set the current process group.
 438   */
 439  /*#define HAS_SETPGRP2        / **/
 440  
 441  /* HAS_SETPRIORITY:
 442   *    This symbol, if defined, indicates that the setpriority routine is
 443   *    available to set a process's priority.
 444   */
 445  /*#define HAS_SETPRIORITY        / **/
 446  
 447  /* HAS_SETREGID:
 448   *    This symbol, if defined, indicates that the setregid routine is
 449   *    available to change the real and effective gid of the current
 450   *    process.
 451   */
 452  /* HAS_SETRESGID:
 453   *    This symbol, if defined, indicates that the setresgid routine is
 454   *    available to change the real, effective and saved gid of the current
 455   *    process.
 456   */
 457  /*#define HAS_SETREGID        / **/
 458  /*#define HAS_SETRESGID        / **/
 459  
 460  /* HAS_SETREUID:
 461   *    This symbol, if defined, indicates that the setreuid routine is
 462   *    available to change the real and effective uid of the current
 463   *    process.
 464   */
 465  /* HAS_SETRESUID:
 466   *    This symbol, if defined, indicates that the setresuid routine is
 467   *    available to change the real, effective and saved uid of the current
 468   *    process.
 469   */
 470  /*#define HAS_SETREUID        / **/
 471  /*#define HAS_SETRESUID        / **/
 472  
 473  /* HAS_SETRGID:
 474   *    This symbol, if defined, indicates that the setrgid routine is available
 475   *    to change the real gid of the current program.
 476   */
 477  /*#define HAS_SETRGID        / **/
 478  
 479  /* HAS_SETRUID:
 480   *    This symbol, if defined, indicates that the setruid routine is available
 481   *    to change the real uid of the current program.
 482   */
 483  /*#define HAS_SETRUID        / **/
 484  
 485  /* HAS_SETSID:
 486   *    This symbol, if defined, indicates that the setsid routine is
 487   *    available to set the process group ID.
 488   */
 489  /*#define HAS_SETSID    / **/
 490  
 491  /* HAS_STRCHR:
 492   *    This symbol is defined to indicate that the strchr()/strrchr()
 493   *    functions are available for string searching. If not, try the
 494   *    index()/rindex() pair.
 495   */
 496  /* HAS_INDEX:
 497   *    This symbol is defined to indicate that the index()/rindex()
 498   *    functions are available for string searching.
 499   */
 500  /*#define HAS_STRCHR    / **/
 501  /*#define HAS_INDEX    / **/
 502  
 503  /* HAS_STRCOLL:
 504   *    This symbol, if defined, indicates that the strcoll routine is
 505   *    available to compare strings using collating information.
 506   */
 507  /*#define HAS_STRCOLL    / **/
 508  
 509  /* USE_STRUCT_COPY:
 510   *    This symbol, if defined, indicates that this C compiler knows how
 511   *    to copy structures.  If undefined, you'll need to use a block copy
 512   *    routine of some sort instead.
 513   */
 514  /*#define    USE_STRUCT_COPY    / **/
 515  
 516  /* HAS_STRTOD:
 517   *    This symbol, if defined, indicates that the strtod routine is
 518   *    available to provide better numeric string conversion than atof().
 519   */
 520  /*#define HAS_STRTOD    / **/
 521  
 522  /* HAS_STRTOL:
 523   *    This symbol, if defined, indicates that the strtol routine is available
 524   *    to provide better numeric string conversion than atoi() and friends.
 525   */
 526  /*#define HAS_STRTOL    / **/
 527  
 528  /* HAS_STRXFRM:
 529   *    This symbol, if defined, indicates that the strxfrm() routine is
 530   *    available to transform strings.
 531   */
 532  /*#define HAS_STRXFRM    / **/
 533  
 534  /* HAS_SYMLINK:
 535   *    This symbol, if defined, indicates that the symlink routine is available
 536   *    to create symbolic links.
 537   */
 538  /*#define HAS_SYMLINK    / **/
 539  
 540  /* HAS_SYSCALL:
 541   *    This symbol, if defined, indicates that the syscall routine is
 542   *    available to call arbitrary system calls. If undefined, that's tough.
 543   */
 544  /*#define HAS_SYSCALL    / **/
 545  
 546  /* HAS_SYSCONF:
 547   *    This symbol, if defined, indicates that sysconf() is available
 548   *    to determine system related limits and options.
 549   */
 550  /*#define HAS_SYSCONF    / **/
 551  
 552  /* HAS_SYSTEM:
 553   *    This symbol, if defined, indicates that the system routine is
 554   *    available to issue a shell command.
 555   */
 556  /*#define HAS_SYSTEM    / **/
 557  
 558  /* HAS_TCGETPGRP:
 559   *    This symbol, if defined, indicates that the tcgetpgrp routine is
 560   *    available to get foreground process group ID.
 561   */
 562  /*#define HAS_TCGETPGRP        / **/
 563  
 564  /* HAS_TCSETPGRP:
 565   *    This symbol, if defined, indicates that the tcsetpgrp routine is
 566   *    available to set foreground process group ID.
 567   */
 568  /*#define HAS_TCSETPGRP        / **/
 569  
 570  /* HAS_TRUNCATE:
 571   *    This symbol, if defined, indicates that the truncate routine is
 572   *    available to truncate files.
 573   */
 574  /*#define HAS_TRUNCATE    / **/
 575  
 576  /* HAS_TZNAME:
 577   *    This symbol, if defined, indicates that the tzname[] array is
 578   *    available to access timezone names.
 579   */
 580  /*#define HAS_TZNAME        / **/
 581  
 582  /* HAS_UMASK:
 583   *    This symbol, if defined, indicates that the umask routine is
 584   *    available to set and get the value of the file creation mask.
 585   */
 586  /*#define HAS_UMASK        / **/
 587  
 588  /* HAS_USLEEP:
 589   *    This symbol, if defined, indicates that the usleep routine is
 590   *    available to let the process sleep on a sub-second accuracy.
 591   */
 592  /*#define HAS_USLEEP        / **/
 593  
 594  /* HASVOLATILE:
 595   *    This symbol, if defined, indicates that this C compiler knows about
 596   *    the volatile declaration.
 597   */
 598  /*#define    HASVOLATILE    / **/
 599  #ifndef HASVOLATILE
 600  #define volatile
 601  #endif
 602  
 603  /* HAS_WAIT4:
 604   *    This symbol, if defined, indicates that wait4() exists.
 605   */
 606  /*#define HAS_WAIT4    / **/
 607  
 608  /* HAS_WAITPID:
 609   *    This symbol, if defined, indicates that the waitpid routine is
 610   *    available to wait for child process.
 611   */
 612  /*#define HAS_WAITPID    / **/
 613  
 614  /* HAS_WCSTOMBS:
 615   *    This symbol, if defined, indicates that the wcstombs routine is
 616   *    available to convert wide character strings to multibyte strings.
 617   */
 618  /*#define HAS_WCSTOMBS    / **/
 619  
 620  /* HAS_WCTOMB:
 621   *    This symbol, if defined, indicates that the wctomb routine is available
 622   *    to covert a wide character to a multibyte.
 623   */
 624  /*#define HAS_WCTOMB        / **/
 625  
 626  /* I_ARPA_INET:
 627   *    This symbol, if defined, indicates to the C program that it should
 628   *    include <arpa/inet.h> to get inet_addr and friends declarations.
 629   */
 630  /*#define    I_ARPA_INET        / **/
 631  
 632  /* I_DBM:
 633   *    This symbol, if defined, indicates that <dbm.h> exists and should
 634   *    be included.
 635   */
 636  /* I_RPCSVC_DBM:
 637   *    This symbol, if defined, indicates that <rpcsvc/dbm.h> exists and
 638   *    should be included.
 639   */
 640  /*#define I_DBM    / **/
 641  /*#define I_RPCSVC_DBM    / **/
 642  
 643  /* I_DIRENT:
 644   *    This symbol, if defined, indicates to the C program that it should
 645   *    include <dirent.h>. Using this symbol also triggers the definition
 646   *    of the Direntry_t define which ends up being 'struct dirent' or
 647   *    'struct direct' depending on the availability of <dirent.h>.
 648   */
 649  /* DIRNAMLEN:
 650   *    This symbol, if defined, indicates to the C program that the length
 651   *    of directory entry names is provided by a d_namlen field.  Otherwise
 652   *    you need to do strlen() on the d_name field.
 653   */
 654  /* Direntry_t:
 655   *    This symbol is set to 'struct direct' or 'struct dirent' depending on
 656   *    whether dirent is available or not. You should use this pseudo type to
 657   *    portably declare your directory entries.
 658   */
 659  #define I_DIRENT        /**/
 660  /*#define DIRNAMLEN    / **/
 661  #define Direntry_t struct dirent
 662  
 663  /* I_DLFCN:
 664   *    This symbol, if defined, indicates that <dlfcn.h> exists and should
 665   *    be included.
 666   */
 667  /*#define I_DLFCN        / **/
 668  
 669  /* I_FCNTL:
 670   *    This manifest constant tells the C program to include <fcntl.h>.
 671   */
 672  /*#define I_FCNTL    / **/
 673  
 674  /* I_FLOAT:
 675   *    This symbol, if defined, indicates to the C program that it should
 676   *    include <float.h> to get definition of symbols like DBL_MAX or
 677   *    DBL_MIN, i.e. machine dependent floating point values.
 678   */
 679  /*#define I_FLOAT        / **/
 680  
 681  /* I_LIMITS:
 682   *    This symbol, if defined, indicates to the C program that it should
 683   *    include <limits.h> to get definition of symbols like WORD_BIT or
 684   *    LONG_MAX, i.e. machine dependant limitations.
 685   */
 686  /*#define I_LIMITS        / **/
 687  
 688  /* I_LOCALE:
 689   *    This symbol, if defined, indicates to the C program that it should
 690   *    include <locale.h>.
 691   */
 692  /*#define    I_LOCALE        / **/
 693  
 694  /* I_MATH:
 695   *    This symbol, if defined, indicates to the C program that it should
 696   *    include <math.h>.
 697   */
 698  #define I_MATH        /**/
 699  
 700  /* I_MEMORY:
 701   *    This symbol, if defined, indicates to the C program that it should
 702   *    include <memory.h>.
 703   */
 704  /*#define I_MEMORY        / **/
 705  
 706  /* I_NET_ERRNO:
 707   *    This symbol, if defined, indicates that <net/errno.h> exists and 
 708   *    should be included.
 709   */
 710  /*#define I_NET_ERRNO        / **/
 711  
 712  /* I_NETINET_IN:
 713   *    This symbol, if defined, indicates to the C program that it should
 714   *    include <netinet/in.h>. Otherwise, you may try <sys/in.h>.
 715   */
 716  /*#define I_NETINET_IN    / **/
 717  
 718  /* I_SFIO:
 719   *    This symbol, if defined, indicates to the C program that it should
 720   *    include <sfio.h>.
 721   */
 722  /*#define    I_SFIO        / **/
 723  
 724  /* I_STDDEF:
 725   *    This symbol, if defined, indicates that <stddef.h> exists and should
 726   *    be included.
 727   */
 728  /*#define I_STDDEF    / **/
 729  
 730  /* I_STDLIB:
 731   *    This symbol, if defined, indicates that <stdlib.h> exists and should
 732   *    be included.
 733   */
 734  #define I_STDLIB        /**/
 735  
 736  /* I_STRING:
 737   *    This symbol, if defined, indicates to the C program that it should
 738   *    include <string.h> (USG systems) instead of <strings.h> (BSD systems).
 739   */
 740  #define I_STRING        /**/
 741  
 742  /* I_SYS_DIR:
 743   *    This symbol, if defined, indicates to the C program that it should
 744   *    include <sys/dir.h>.
 745   */
 746  /*#define I_SYS_DIR        / **/
 747  
 748  /* I_SYS_FILE:
 749   *    This symbol, if defined, indicates to the C program that it should
 750   *    include <sys/file.h> to get definition of R_OK and friends.
 751   */
 752  /*#define I_SYS_FILE        / **/
 753  
 754  /* I_SYS_IOCTL:
 755   *    This symbol, if defined, indicates that <sys/ioctl.h> exists and should
 756   *    be included. Otherwise, include <sgtty.h> or <termio.h>.
 757   */
 758  /* I_SYS_SOCKIO:
 759   *    This symbol, if defined, indicates the <sys/sockio.h> should be included
 760   *    to get socket ioctl options, like SIOCATMARK.
 761   */
 762  /*#define    I_SYS_IOCTL        / **/
 763  /*#define I_SYS_SOCKIO    / **/
 764  
 765  /* I_SYS_NDIR:
 766   *    This symbol, if defined, indicates to the C program that it should
 767   *    include <sys/ndir.h>.
 768   */
 769  /*#define I_SYS_NDIR    / **/
 770  
 771  /* I_SYS_PARAM:
 772   *    This symbol, if defined, indicates to the C program that it should
 773   *    include <sys/param.h>.
 774   */
 775  /*#define I_SYS_PARAM        / **/
 776  
 777  /* I_SYS_RESOURCE:
 778   *    This symbol, if defined, indicates to the C program that it should
 779   *    include <sys/resource.h>.
 780   */
 781  /*#define I_SYS_RESOURCE        / **/
 782  
 783  /* I_SYS_SELECT:
 784   *    This symbol, if defined, indicates to the C program that it should
 785   *    include <sys/select.h> in order to get definition of struct timeval.
 786   */
 787  /*#define I_SYS_SELECT    / **/
 788  
 789  /* I_SYS_STAT:
 790   *    This symbol, if defined, indicates to the C program that it should
 791   *    include <sys/stat.h>.
 792   */
 793  #define    I_SYS_STAT        /**/
 794  
 795  /* I_SYS_TIMES:
 796   *    This symbol, if defined, indicates to the C program that it should
 797   *    include <sys/times.h>.
 798   */
 799  /*#define    I_SYS_TIMES        / **/
 800  
 801  /* I_SYS_TYPES:
 802   *    This symbol, if defined, indicates to the C program that it should
 803   *    include <sys/types.h>.
 804   */
 805  /*#define    I_SYS_TYPES        / **/
 806  
 807  /* I_SYS_UN:
 808   *    This symbol, if defined, indicates to the C program that it should
 809   *    include <sys/un.h> to get UNIX domain socket definitions.
 810   */
 811  /*#define I_SYS_UN        / **/
 812  
 813  /* I_SYS_WAIT:
 814   *    This symbol, if defined, indicates to the C program that it should
 815   *    include <sys/wait.h>.
 816   */
 817  /*#define I_SYS_WAIT    / **/
 818  
 819  /* I_TERMIO:
 820   *    This symbol, if defined, indicates that the program should include
 821   *    <termio.h> rather than <sgtty.h>.  There are also differences in
 822   *    the ioctl() calls that depend on the value of this symbol.
 823   */
 824  /* I_TERMIOS:
 825   *    This symbol, if defined, indicates that the program should include
 826   *    the POSIX termios.h rather than sgtty.h or termio.h.
 827   *    There are also differences in the ioctl() calls that depend on the
 828   *    value of this symbol.
 829   */
 830  /* I_SGTTY:
 831   *    This symbol, if defined, indicates that the program should include
 832   *    <sgtty.h> rather than <termio.h>.  There are also differences in
 833   *    the ioctl() calls that depend on the value of this symbol.
 834   */
 835  /*#define I_TERMIO        / **/
 836  /*#define I_TERMIOS        / **/
 837  /*#define I_SGTTY        / **/
 838  
 839  /* I_UNISTD:
 840   *    This symbol, if defined, indicates to the C program that it should
 841   *    include <unistd.h>.
 842   */
 843  /*#define I_UNISTD        / **/
 844  
 845  /* I_UTIME:
 846   *    This symbol, if defined, indicates to the C program that it should
 847   *    include <utime.h>.
 848   */
 849  /*#define I_UTIME        / **/
 850  
 851  /* I_VALUES:
 852   *    This symbol, if defined, indicates to the C program that it should
 853   *    include <values.h> to get definition of symbols like MINFLOAT or
 854   *    MAXLONG, i.e. machine dependant limitations.  Probably, you
 855   *    should use <limits.h> instead, if it is available.
 856   */
 857  /*#define I_VALUES        / **/
 858  
 859  /* I_VFORK:
 860   *    This symbol, if defined, indicates to the C program that it should
 861   *    include vfork.h.
 862   */
 863  /*#define I_VFORK    / **/
 864  
 865  /* HAS_ACCESSX:
 866   *    This symbol, if defined, indicates that the accessx routine is
 867   *    available to do extended access checks.
 868   */
 869  /*#define HAS_ACCESSX        / **/
 870  
 871  /* HAS_EACCESS:
 872   *    This symbol, if defined, indicates that the eaccess routine is
 873   *    available to do extended access checks.
 874   */
 875  /*#define HAS_EACCESS        / **/
 876  
 877  /* I_SYS_ACCESS:
 878   *     This symbol, if defined, indicates to the C program that it should
 879   *     include <sys/access.h>.
 880   */
 881  /*#define   I_SYS_ACCESS                / **/
 882  
 883  /* I_SYS_SECURITY:
 884   *     This symbol, if defined, indicates to the C program that it should
 885   *     include <sys/security.h>.
 886   */
 887  /*#define   I_SYS_SECURITY    / **/
 888  
 889  /* USE_CROSS_COMPILE:
 890   *    This symbol, if defined, indicates that Perl is being cross-compiled.
 891   */
 892  /* PERL_TARGETARCH:
 893   *    This symbol, if defined, indicates the target architecture
 894   *    Perl has been cross-compiled to.  Undefined if not a cross-compile.
 895   */
 896  #ifndef USE_CROSS_COMPILE
 897  /*#define    USE_CROSS_COMPILE    / **/
 898  #define    PERL_TARGETARCH    ""    /**/
 899  #endif
 900  
 901  /* OSNAME:
 902   *    This symbol contains the name of the operating system, as determined
 903   *    by Configure.  You shouldn't rely on it too much; the specific
 904   *    feature tests from Configure are generally more reliable.
 905   */
 906  /* OSVERS:
 907   *    This symbol contains the version of the operating system, as determined
 908   *    by Configure.  You shouldn't rely on it too much; the specific
 909   *    feature tests from Configure are generally more reliable.
 910   */
 911  #define OSNAME "unknown"        /**/
 912  #define OSVERS ""        /**/
 913  
 914  /* MULTIARCH:
 915   *    This symbol, if defined, signifies that the build
 916   *    process will produce some binary files that are going to be
 917   *    used in a cross-platform environment.  This is the case for
 918   *    example with the NeXT "fat" binaries that contain executables
 919   *    for several CPUs.
 920   */
 921  /*#define MULTIARCH        / **/
 922  
 923  /* MEM_ALIGNBYTES:
 924   *    This symbol contains the number of bytes required to align a
 925   *    double, or a long double when applicable. Usual values are 2,
 926   *    4 and 8. The default is eight, for safety.
 927   */
 928  #if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)
 929  #  define MEM_ALIGNBYTES 8
 930  #else
 931  #define MEM_ALIGNBYTES 4
 932  #endif
 933  
 934  /* ARCHLIB:
 935   *    This variable, if defined, holds the name of the directory in
 936   *    which the user wants to put architecture-dependent public
 937   *    library files for .  It is most often a local directory
 938   *    such as /usr/local/lib.  Programs using this variable must be
 939   *    prepared to deal with filename expansion.  If ARCHLIB is the
 940   *    same as PRIVLIB, it is not defined, since presumably the
 941   *    program already searches PRIVLIB.
 942   */
 943  /* ARCHLIB_EXP:
 944   *    This symbol contains the ~name expanded version of ARCHLIB, to be used
 945   *    in programs that are not prepared to deal with ~ expansion at run-time.
 946   */
 947  /*#define ARCHLIB "/usr/local/lib/perl5/5.9/unknown"        / **/
 948  /*#define ARCHLIB_EXP "/usr/local/lib/perl5/5.9/unknown"        / **/
 949  
 950  /* ARCHNAME:
 951   *    This symbol holds a string representing the architecture name.
 952   *    It may be used to construct an architecture-dependant pathname
 953   *    where library files may be held under a private library, for
 954   *    instance.
 955   */
 956  #define ARCHNAME "unknown"        /**/
 957  
 958  /* HAS_ATOLF:
 959   *    This symbol, if defined, indicates that the atolf routine is
 960   *    available to convert strings into long doubles.
 961   */
 962  /*#define HAS_ATOLF        / **/
 963  
 964  /* HAS_ATOLL:
 965   *    This symbol, if defined, indicates that the atoll routine is
 966   *    available to convert strings into long longs.
 967   */
 968  /*#define HAS_ATOLL        / **/
 969  
 970  /* BIN:
 971   *    This symbol holds the path of the bin directory where the package will
 972   *    be installed. Program must be prepared to deal with ~name substitution.
 973   */
 974  /* BIN_EXP:
 975   *    This symbol is the filename expanded version of the BIN symbol, for
 976   *    programs that do not want to deal with that at run-time.
 977   */
 978  /* PERL_RELOCATABLE_INC:
 979   *    This symbol, if defined, indicates that we'd like to relocate entries
 980   *    in @INC at run time based on the location of the perl binary.
 981   */
 982  #define BIN "/usr/local/bin"    /**/
 983  #define BIN_EXP ""    /**/
 984  #define PERL_RELOCATABLE_INC "undef"         /**/
 985  
 986  /* INTSIZE:
 987   *    This symbol contains the value of sizeof(int) so that the C
 988   *    preprocessor can make decisions based on it.
 989   */
 990  /* LONGSIZE:
 991   *    This symbol contains the value of sizeof(long) so that the C
 992   *    preprocessor can make decisions based on it.
 993   */
 994  /* SHORTSIZE:
 995   *    This symbol contains the value of sizeof(short) so that the C
 996   *    preprocessor can make decisions based on it.
 997   */
 998  #define INTSIZE 4        /**/
 999  #define LONGSIZE 4        /**/
1000  #define SHORTSIZE 2        /**/
1001  
1002  /* BYTEORDER:
1003   *    This symbol holds the hexadecimal constant defined in byteorder,
1004   *    in a UV, i.e. 0x1234 or 0x4321 or 0x12345678, etc...
1005   *    If the compiler supports cross-compiling or multiple-architecture
1006   *    binaries (eg. on NeXT systems), use compiler-defined macros to
1007   *    determine the byte order.
1008   *    On NeXT 3.2 (and greater), you can build "Fat" Multiple Architecture
1009   *    Binaries (MAB) on either big endian or little endian machines.
1010   *    The endian-ness is available at compile-time.  This only matters
1011   *    for perl, where the config.h can be generated and installed on 
1012   *    one system, and used by a different architecture to build an
1013   *    extension.  Older versions of NeXT that might not have
1014   *    defined either *_ENDIAN__ were all on Motorola 680x0 series,
1015   *    so the default case (for NeXT) is big endian to catch them. 
1016   *    This might matter for NeXT 3.0.
1017   */
1018  #if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)
1019  #  ifdef __LITTLE_ENDIAN__
1020  #    if LONGSIZE == 4
1021  #      define BYTEORDER 0x1234
1022  #    else
1023  #      if LONGSIZE == 8
1024  #        define BYTEORDER 0x12345678
1025  #      endif
1026  #    endif
1027  #  else
1028  #    ifdef __BIG_ENDIAN__
1029  #      if LONGSIZE == 4
1030  #        define BYTEORDER 0x4321
1031  #      else
1032  #        if LONGSIZE == 8
1033  #          define BYTEORDER 0x87654321
1034  #        endif
1035  #      endif
1036  #    endif
1037  #  endif
1038  #  if !defined(BYTEORDER) && (defined(NeXT) || defined(__NeXT__))
1039  #    define BYTEORDER 0x4321
1040  #  endif
1041  #else
1042  #define BYTEORDER 0x1234    /* large digits for MSB */
1043  #endif /* NeXT */
1044  
1045  /* CAT2:
1046   *    This macro concatenates 2 tokens together.
1047   */
1048  /* STRINGIFY:
1049   *    This macro surrounds its token with double quotes.
1050   */
1051  #if 42 == 1
1052  #define CAT2(a,b)    a/**/b
1053  #define STRINGIFY(a)    "a"
1054          /* If you can get stringification with catify, tell me how! */
1055  #endif
1056  #if 42 == 42
1057  #define PeRl_CaTiFy(a, b)    a ## b    
1058  #define PeRl_StGiFy(a)    #a
1059  /* the additional level of indirection enables these macros to be
1060   * used as arguments to other macros.  See K&R 2nd ed., page 231. */
1061  #define CAT2(a,b)    PeRl_CaTiFy(a,b)
1062  #define StGiFy(a)    PeRl_StGiFy(a)
1063  #define STRINGIFY(a)    PeRl_StGiFy(a)
1064  #endif
1065  #if 42 != 1 && 42 != 42
1066  #   include "Bletch: How does this C preprocessor concatenate tokens?"
1067  #endif
1068  
1069  /* CPPSTDIN:
1070   *    This symbol contains the first part of the string which will invoke
1071   *    the C preprocessor on the standard input and produce to standard
1072   *    output.     Typical value of "cc -E" or "/lib/cpp", but it can also
1073   *    call a wrapper. See CPPRUN.
1074   */
1075  /* CPPMINUS:
1076   *    This symbol contains the second part of the string which will invoke
1077   *    the C preprocessor on the standard input and produce to standard
1078   *    output.  This symbol will have the value "-" if CPPSTDIN needs a minus
1079   *    to specify standard input, otherwise the value is "".
1080   */
1081  /* CPPRUN:
1082   *    This symbol contains the string which will invoke a C preprocessor on
1083   *    the standard input and produce to standard output. It needs to end
1084   *    with CPPLAST, after all other preprocessor flags have been specified.
1085   *    The main difference with CPPSTDIN is that this program will never be a
1086   *    pointer to a shell wrapper, i.e. it will be empty if no preprocessor is
1087   *    available directly to the user. Note that it may well be different from
1088   *    the preprocessor used to compile the C program.
1089   */
1090  /* CPPLAST:
1091   *    This symbol is intended to be used along with CPPRUN in the same manner
1092   *    symbol CPPMINUS is used with CPPSTDIN. It contains either "-" or "".
1093   */
1094  #define CPPSTDIN ""
1095  #define CPPMINUS ""
1096  #define CPPRUN ""
1097  #define CPPLAST ""
1098  
1099  /* HAS__FWALK:
1100   *    This symbol, if defined, indicates that the _fwalk system call is
1101   *    available to apply a function to all the file handles.
1102   */
1103  /*#define HAS__FWALK        / **/
1104  
1105  /* HAS_ACCESS:
1106   *    This manifest constant lets the C program know that the access()
1107   *    system call is available to check for accessibility using real UID/GID.
1108   *    (always present on UNIX.)
1109   */
1110  /*#define HAS_ACCESS        / **/
1111  
1112  /* HAS_AINTL:
1113   *    This symbol, if defined, indicates that the aintl routine is
1114   *    available.  If copysignl is also present we can emulate modfl.
1115   */
1116  /*#define HAS_AINTL        / **/
1117  
1118  /* HAS_ASCTIME_R:
1119   *    This symbol, if defined, indicates that the asctime_r routine
1120   *    is available to asctime re-entrantly.
1121   */
1122  /* ASCTIME_R_PROTO:
1123   *    This symbol encodes the prototype of asctime_r.
1124   *    It is zero if d_asctime_r is undef, and one of the
1125   *    REENTRANT_PROTO_T_ABC macros of reentr.h if d_asctime_r
1126   *    is defined.
1127   */
1128  /*#define HAS_ASCTIME_R       / **/
1129  #define ASCTIME_R_PROTO 0       /**/
1130  
1131  /* HASATTRIBUTE_FORMAT:
1132   *    Can we handle GCC attribute for checking printf-style formats
1133   */
1134  /* HASATTRIBUTE_MALLOC:
1135   *    Can we handle GCC attribute for malloc-style functions.
1136   */
1137  /* HASATTRIBUTE_NONNULL:
1138   *    Can we handle GCC attribute for nonnull function parms.
1139   */
1140  /* HASATTRIBUTE_NORETURN:
1141   *    Can we handle GCC attribute for functions that do not return
1142   */
1143  /* HASATTRIBUTE_PURE:
1144   *    Can we handle GCC attribute for pure functions
1145   */
1146  /* HASATTRIBUTE_UNUSED:
1147   *    Can we handle GCC attribute for unused variables and arguments
1148   */
1149  /* HASATTRIBUTE_WARN_UNUSED_RESULT:
1150   *    Can we handle GCC attribute for warning on unused results
1151   */
1152  /*#define HASATTRIBUTE_FORMAT    / **/
1153  /*#define HASATTRIBUTE_NORETURN    / **/
1154  /*#define HASATTRIBUTE_MALLOC    / **/
1155  /*#define HASATTRIBUTE_NONNULL    / **/
1156  /*#define HASATTRIBUTE_PURE    / **/
1157  /*#define HASATTRIBUTE_UNUSED    / **/
1158  /*#define HASATTRIBUTE_WARN_UNUSED_RESULT    / **/
1159  
1160  /* HAS_BUILTIN_CHOOSE_EXPR:
1161   *    Can we handle GCC builtin for compile-time ternary-like expressions
1162   */
1163  /* HAS_BUILTIN_EXPECT:
1164   *    Can we handle GCC builtin for telling that certain values are more
1165   *    likely
1166   */
1167  /*#define HAS_BUILTIN_EXPECT    / **/
1168  /*#define HAS_BUILTIN_CHOOSE_EXPR    / **/
1169  
1170  /* HAS_C99_VARIADIC_MACROS:
1171   *    If defined, the compiler supports C99 variadic macros.
1172   */
1173  /*#define    HAS_C99_VARIADIC_MACROS    / **/
1174  
1175  /* CASTI32:
1176   *    This symbol is defined if the C compiler can cast negative
1177   *    or large floating point numbers to 32-bit ints.
1178   */
1179  /*#define    CASTI32        / **/
1180  
1181  /* CASTNEGFLOAT:
1182   *    This symbol is defined if the C compiler can cast negative
1183   *    numbers to unsigned longs, ints and shorts.
1184   */
1185  /* CASTFLAGS:
1186   *    This symbol contains flags that say what difficulties the compiler
1187   *    has casting odd floating values to unsigned long:
1188   *        0 = ok
1189   *        1 = couldn't cast < 0
1190   *        2 = couldn't cast >= 0x80000000
1191   *        4 = couldn't cast in argument expression list
1192   */
1193  /*#define    CASTNEGFLOAT        / **/
1194  #define CASTFLAGS 0        /**/
1195  
1196  /* HAS_CLASS:
1197   *    This symbol, if defined, indicates that the class routine is
1198   *    available to classify doubles.  Available for example in AIX.
1199   *    The returned values are defined in <float.h> and are:
1200   *
1201   *    FP_PLUS_NORM    Positive normalized, nonzero
1202   *    FP_MINUS_NORM    Negative normalized, nonzero
1203   *    FP_PLUS_DENORM    Positive denormalized, nonzero
1204   *    FP_MINUS_DENORM    Negative denormalized, nonzero
1205   *    FP_PLUS_ZERO    +0.0
1206   *    FP_MINUS_ZERO    -0.0
1207   *    FP_PLUS_INF    +INF
1208   *    FP_MINUS_INF    -INF
1209   *    FP_NANS        Signaling Not a Number (NaNS)
1210   *    FP_NANQ        Quiet Not a Number (NaNQ)
1211   */
1212  /*#define HAS_CLASS        / **/
1213  
1214  /* HAS_CLEARENV:
1215   *    This symbol, if defined, indicates that the clearenv () routine is
1216   *    available for use.
1217   */
1218  /*#define HAS_CLEARENV        / **/
1219  
1220  /* VOID_CLOSEDIR:
1221   *    This symbol, if defined, indicates that the closedir() routine
1222   *    does not return a value.
1223   */
1224  /*#define VOID_CLOSEDIR        / **/
1225  
1226  /* HAS_STRUCT_CMSGHDR:
1227   *    This symbol, if defined, indicates that the struct cmsghdr
1228   *    is supported.
1229   */
1230  /*#define HAS_STRUCT_CMSGHDR    / **/
1231  
1232  /* HAS_COPYSIGNL:
1233   *    This symbol, if defined, indicates that the copysignl routine is
1234   *    available.  If aintl is also present we can emulate modfl.
1235   */
1236  /*#define HAS_COPYSIGNL        / **/
1237  
1238  /* USE_CPLUSPLUS:
1239   *    This symbol, if defined, indicates that a C++ compiler was
1240   *    used to compiled Perl and will be used to compile extensions.
1241   */
1242  /*#define USE_CPLUSPLUS        / **/
1243  
1244  /* HAS_CRYPT:
1245   *    This symbol, if defined, indicates that the crypt routine is available
1246   *    to encrypt passwords and the like.
1247   */
1248  /*#define HAS_CRYPT        / **/
1249  
1250  /* HAS_CRYPT_R:
1251   *    This symbol, if defined, indicates that the crypt_r routine
1252   *    is available to crypt re-entrantly.
1253   */
1254  /* CRYPT_R_PROTO:
1255   *    This symbol encodes the prototype of crypt_r.
1256   *    It is zero if d_crypt_r is undef, and one of the
1257   *    REENTRANT_PROTO_T_ABC macros of reentr.h if d_crypt_r
1258   *    is defined.
1259   */
1260  /*#define HAS_CRYPT_R       / **/
1261  #define CRYPT_R_PROTO 0       /**/
1262  
1263  /* HAS_CSH:
1264   *    This symbol, if defined, indicates that the C-shell exists.
1265   */
1266  /* CSH:
1267   *    This symbol, if defined, contains the full pathname of csh.
1268   */
1269  /*#define HAS_CSH        / **/
1270  #ifdef HAS_CSH
1271  #define CSH ""    /**/
1272  #endif
1273  
1274  /* HAS_CTERMID_R:
1275   *    This symbol, if defined, indicates that the ctermid_r routine
1276   *    is available to ctermid re-entrantly.
1277   */
1278  /* CTERMID_R_PROTO:
1279   *    This symbol encodes the prototype of ctermid_r.
1280   *    It is zero if d_ctermid_r is undef, and one of the
1281   *    REENTRANT_PROTO_T_ABC macros of reentr.h if d_ctermid_r
1282   *    is defined.
1283   */
1284  /*#define HAS_CTERMID_R       / **/
1285  #define CTERMID_R_PROTO 0       /**/
1286  
1287  /* HAS_CTIME_R:
1288   *    This symbol, if defined, indicates that the ctime_r routine
1289   *    is available to ctime re-entrantly.
1290   */
1291  /* CTIME_R_PROTO:
1292   *    This symbol encodes the prototype of ctime_r.
1293   *    It is zero if d_ctime_r is undef, and one of the
1294   *    REENTRANT_PROTO_T_ABC macros of reentr.h if d_ctime_r
1295   *    is defined.
1296   */
1297  /*#define HAS_CTIME_R       / **/
1298  #define CTIME_R_PROTO 0       /**/
1299  
1300  /* HAS_DBMINIT_PROTO:
1301   *    This symbol, if defined, indicates that the system provides
1302   *    a prototype for the dbminit() function.  Otherwise, it is up
1303   *    to the program to supply one.  A good guess is
1304   *        extern int dbminit(char *);
1305   */
1306  /*#define    HAS_DBMINIT_PROTO    / **/
1307  
1308  /* HAS_DIRFD:
1309   *    This manifest constant lets the C program know that dirfd
1310   *    is available.
1311   */
1312  /*#define HAS_DIRFD        / **/
1313  
1314  /* DLSYM_NEEDS_UNDERSCORE:
1315   *    This symbol, if defined, indicates that we need to prepend an
1316   *    underscore to the symbol name before calling dlsym().  This only
1317   *    makes sense if you *have* dlsym, which we will presume is the
1318   *    case if you're using dl_dlopen.xs.
1319   */
1320  /*#define     DLSYM_NEEDS_UNDERSCORE     / **/
1321  
1322  /* SETUID_SCRIPTS_ARE_SECURE_NOW:
1323   *    This symbol, if defined, indicates that the bug that prevents
1324   *    setuid scripts from being secure is not present in this kernel.
1325   */
1326  /* DOSUID:
1327   *    This symbol, if defined, indicates that the C program should
1328   *    check the script that it is executing for setuid/setgid bits, and
1329   *    attempt to emulate setuid/setgid on systems that have disabled
1330   *    setuid #! scripts because the kernel can't do it securely.
1331   *    It is up to the package designer to make sure that this emulation
1332   *    is done securely.  Among other things, it should do an fstat on
1333   *    the script it just opened to make sure it really is a setuid/setgid
1334   *    script, it should make sure the arguments passed correspond exactly
1335   *    to the argument on the #! line, and it should not trust any
1336   *    subprocesses to which it must pass the filename rather than the
1337   *    file descriptor of the script to be executed.
1338   */
1339  /*#define SETUID_SCRIPTS_ARE_SECURE_NOW    / **/
1340  /*#define DOSUID        / **/
1341  
1342  /* HAS_DRAND48_R:
1343   *    This symbol, if defined, indicates that the drand48_r routine
1344   *    is available to drand48 re-entrantly.
1345   */
1346  /* DRAND48_R_PROTO:
1347   *    This symbol encodes the prototype of drand48_r.
1348   *    It is zero if d_drand48_r is undef, and one of the
1349   *    REENTRANT_PROTO_T_ABC macros of reentr.h if d_drand48_r
1350   *    is defined.
1351   */
1352  /*#define HAS_DRAND48_R       / **/
1353  #define DRAND48_R_PROTO 0       /**/
1354  
1355  /* HAS_DRAND48_PROTO:
1356   *    This symbol, if defined, indicates that the system provides
1357   *    a prototype for the drand48() function.  Otherwise, it is up
1358   *    to the program to supply one.  A good guess is
1359   *        extern double drand48(void);
1360   */
1361  /*#define    HAS_DRAND48_PROTO    / **/
1362  
1363  /* HAS_ENDGRENT:
1364   *    This symbol, if defined, indicates that the getgrent routine is
1365   *    available for finalizing sequential access of the group database.
1366   */
1367  /*#define HAS_ENDGRENT        / **/
1368  
1369  /* HAS_ENDGRENT_R:
1370   *    This symbol, if defined, indicates that the endgrent_r routine
1371   *    is available to endgrent re-entrantly.
1372   */
1373  /* ENDGRENT_R_PROTO:
1374   *    This symbol encodes the prototype of endgrent_r.
1375   *    It is zero if d_endgrent_r is undef, and one of the
1376   *    REENTRANT_PROTO_T_ABC macros of reentr.h if d_endgrent_r
1377   *    is defined.
1378   */
1379  /*#define HAS_ENDGRENT_R       / **/
1380  #define ENDGRENT_R_PROTO 0       /**/
1381  
1382  /* HAS_ENDHOSTENT:
1383   *    This symbol, if defined, indicates that the endhostent() routine is
1384   *    available to close whatever was being used for host queries.
1385   */
1386  /*#define HAS_ENDHOSTENT        / **/
1387  
1388  /* HAS_ENDHOSTENT_R:
1389   *    This symbol, if defined, indicates that the endhostent_r routine
1390   *    is available to endhostent re-entrantly.
1391   */
1392  /* ENDHOSTENT_R_PROTO:
1393   *    This symbol encodes the prototype of endhostent_r.
1394   *    It is zero if d_endhostent_r is undef, and one of the
1395   *    REENTRANT_PROTO_T_ABC macros of reentr.h if d_endhostent_r
1396   *    is defined.
1397   */
1398  /*#define HAS_ENDHOSTENT_R       / **/
1399  #define ENDHOSTENT_R_PROTO 0       /**/
1400  
1401  /* HAS_ENDNETENT:
1402   *    This symbol, if defined, indicates that the endnetent() routine is
1403   *    available to close whatever was being used for network queries.
1404   */
1405  /*#define HAS_ENDNETENT        / **/
1406  
1407  /* HAS_ENDNETENT_R:
1408   *    This symbol, if defined, indicates that the endnetent_r routine
1409   *    is available to endnetent re-entrantly.
1410   */
1411  /* ENDNETENT_R_PROTO:
1412   *    This symbol encodes the prototype of endnetent_r.
1413   *    It is zero if d_endnetent_r is undef, and one of the
1414   *    REENTRANT_PROTO_T_ABC macros of reentr.h if d_endnetent_r
1415   *    is defined.
1416   */
1417  /*#define HAS_ENDNETENT_R       / **/
1418  #define ENDNETENT_R_PROTO 0       /**/
1419  
1420  /* HAS_ENDPROTOENT:
1421   *    This symbol, if defined, indicates that the endprotoent() routine is
1422   *    available to close whatever was being used for protocol queries.
1423   */
1424  /*#define HAS_ENDPROTOENT        / **/
1425  
1426  /* HAS_ENDPROTOENT_R:
1427   *    This symbol, if defined, indicates that the endprotoent_r routine
1428   *    is available to endprotoent re-entrantly.
1429   */
1430  /* ENDPROTOENT_R_PROTO:
1431   *    This symbol encodes the prototype of endprotoent_r.
1432   *    It is zero if d_endprotoent_r is undef, and one of the
1433   *    REENTRANT_PROTO_T_ABC macros of reentr.h if d_endprotoent_r
1434   *    is defined.
1435   */
1436  /*#define HAS_ENDPROTOENT_R       / **/
1437  #define ENDPROTOENT_R_PROTO 0       /**/
1438  
1439  /* HAS_ENDPWENT:
1440   *    This symbol, if defined, indicates that the getgrent routine is
1441   *    available for finalizing sequential access of the passwd database.
1442   */
1443  /*#define HAS_ENDPWENT        / **/
1444  
1445  /* HAS_ENDPWENT_R:
1446   *    This symbol, if defined, indicates that the endpwent_r routine
1447   *    is available to endpwent re-entrantly.
1448   */
1449  /* ENDPWENT_R_PROTO:
1450   *    This symbol encodes the prototype of endpwent_r.
1451   *    It is zero if d_endpwent_r is undef, and one of the
1452   *    REENTRANT_PROTO_T_ABC macros of reentr.h if d_endpwent_r
1453   *    is defined.
1454   */
1455  /*#define HAS_ENDPWENT_R       / **/
1456  #define ENDPWENT_R_PROTO 0       /**/
1457  
1458  /* HAS_ENDSERVENT:
1459   *    This symbol, if defined, indicates that the endservent() routine is
1460   *    available to close whatever was being used for service queries.
1461   */
1462  /*#define HAS_ENDSERVENT        / **/
1463  
1464  /* HAS_ENDSERVENT_R:
1465   *    This symbol, if defined, indicates that the endservent_r routine
1466   *    is available to endservent re-entrantly.
1467   */
1468  /* ENDSERVENT_R_PROTO:
1469   *    This symbol encodes the prototype of endservent_r.
1470   *    It is zero if d_endservent_r is undef, and one of the
1471   *    REENTRANT_PROTO_T_ABC macros of reentr.h if d_endservent_r
1472   *    is defined.
1473   */
1474  /*#define HAS_ENDSERVENT_R       / **/
1475  #define ENDSERVENT_R_PROTO 0       /**/
1476  
1477  /* HAS_FAST_STDIO:
1478   *    This symbol, if defined, indicates that the "fast stdio"
1479   *    is available to manipulate the stdio buffers directly.
1480   */
1481  /*#define HAS_FAST_STDIO        / **/
1482  
1483  /* HAS_FCHDIR:
1484   *    This symbol, if defined, indicates that the fchdir routine is
1485   *    available to change directory using a file descriptor.
1486   */
1487  /*#define HAS_FCHDIR        / **/
1488  
1489  /* FCNTL_CAN_LOCK:
1490   *    This symbol, if defined, indicates that fcntl() can be used
1491   *    for file locking.  Normally on Unix systems this is defined.
1492   *    It may be undefined on VMS.
1493   */
1494  /*#define FCNTL_CAN_LOCK        / **/
1495  
1496  /* HAS_FD_SET:
1497   *    This symbol, when defined, indicates presence of the fd_set typedef
1498   *    in <sys/types.h>
1499   */
1500  /*#define HAS_FD_SET    / **/
1501  
1502  /* HAS_FINITE:
1503   *    This symbol, if defined, indicates that the finite routine is
1504   *    available to check whether a double is finite (non-infinity non-NaN).
1505   */
1506  /*#define HAS_FINITE        / **/
1507  
1508  /* HAS_FINITEL:
1509   *    This symbol, if defined, indicates that the finitel routine is
1510   *    available to check whether a long double is finite
1511   *    (non-infinity non-NaN).
1512   */
1513  /*#define HAS_FINITEL        / **/
1514  
1515  /* FLEXFILENAMES:
1516   *    This symbol, if defined, indicates that the system supports filenames
1517   *    longer than 14 characters.
1518   */
1519  /*#define    FLEXFILENAMES        / **/
1520  
1521  /* HAS_FLOCK_PROTO:
1522   *    This symbol, if defined, indicates that the system provides
1523   *    a prototype for the flock() function.  Otherwise, it is up
1524   *    to the program to supply one.  A good guess is
1525   *        extern int flock(int, int);
1526   */
1527  /*#define    HAS_FLOCK_PROTO    / **/
1528  
1529  /* HAS_FP_CLASS:
1530   *    This symbol, if defined, indicates that the fp_class routine is
1531   *    available to classify doubles.  Available for example in Digital UNIX.
1532   *    The returned values are defined in <math.h> and are:
1533   *
1534   *    FP_SNAN           Signaling NaN (Not-a-Number)
1535   *    FP_QNAN           Quiet NaN (Not-a-Number)
1536   *    FP_POS_INF        +infinity
1537   *    FP_NEG_INF        -infinity
1538   *    FP_POS_NORM       Positive normalized
1539   *    FP_NEG_NORM       Negative normalized
1540   *    FP_POS_DENORM     Positive denormalized
1541   *    FP_NEG_DENORM     Negative denormalized
1542   *    FP_POS_ZERO       +0.0 (positive zero)
1543   *    FP_NEG_ZERO       -0.0 (negative zero)
1544   */
1545  /*#define HAS_FP_CLASS        / **/
1546  
1547  /* HAS_FPCLASS:
1548   *    This symbol, if defined, indicates that the fpclass routine is
1549   *    available to classify doubles.  Available for example in Solaris/SVR4.
1550   *    The returned values are defined in <ieeefp.h> and are:
1551   *
1552   *    FP_SNAN        signaling NaN
1553   *    FP_QNAN        quiet NaN
1554   *    FP_NINF        negative infinity
1555   *    FP_PINF        positive infinity
1556   *    FP_NDENORM    negative denormalized non-zero
1557   *    FP_PDENORM    positive denormalized non-zero
1558   *    FP_NZERO    negative zero
1559   *    FP_PZERO    positive zero
1560   *    FP_NNORM    negative normalized non-zero
1561   *    FP_PNORM    positive normalized non-zero
1562   */
1563  /*#define HAS_FPCLASS        / **/
1564  
1565  /* HAS_FPCLASSIFY:
1566   *    This symbol, if defined, indicates that the fpclassify routine is
1567   *    available to classify doubles.  Available for example in HP-UX.
1568   *    The returned values are defined in <math.h> and are
1569   *
1570   *           FP_NORMAL     Normalized
1571   *           FP_ZERO       Zero
1572   *           FP_INFINITE   Infinity
1573   *           FP_SUBNORMAL  Denormalized
1574   *           FP_NAN        NaN
1575   *
1576   */
1577  /*#define HAS_FPCLASSIFY        / **/
1578  
1579  /* HAS_FPCLASSL:
1580   *    This symbol, if defined, indicates that the fpclassl routine is
1581   *    available to classify long doubles.  Available for example in IRIX.
1582   *    The returned values are defined in <ieeefp.h> and are:
1583   *
1584   *    FP_SNAN        signaling NaN
1585   *    FP_QNAN        quiet NaN
1586   *    FP_NINF        negative infinity
1587   *    FP_PINF        positive infinity
1588   *    FP_NDENORM    negative denormalized non-zero
1589   *    FP_PDENORM    positive denormalized non-zero
1590   *    FP_NZERO    negative zero
1591   *    FP_PZERO    positive zero
1592   *    FP_NNORM    negative normalized non-zero
1593   *    FP_PNORM    positive normalized non-zero
1594   */
1595  /*#define HAS_FPCLASSL        / **/
1596  
1597  /* HAS_FPOS64_T:
1598   *    This symbol will be defined if the C compiler supports fpos64_t.
1599   */
1600  /*#define    HAS_FPOS64_T        / **/
1601  
1602  /* HAS_FREXPL:
1603   *    This symbol, if defined, indicates that the frexpl routine is
1604   *    available to break a long double floating-point number into
1605   *    a normalized fraction and an integral power of 2.
1606   */
1607  /*#define HAS_FREXPL        / **/
1608  
1609  /* HAS_STRUCT_FS_DATA:
1610   *    This symbol, if defined, indicates that the struct fs_data
1611   *    to do statfs() is supported.
1612   */
1613  /*#define HAS_STRUCT_FS_DATA    / **/
1614  
1615  /* HAS_FSEEKO:
1616   *    This symbol, if defined, indicates that the fseeko routine is
1617   *    available to fseek beyond 32 bits (useful for ILP32 hosts).
1618   */
1619  /*#define HAS_FSEEKO        / **/
1620  
1621  /* HAS_FSTATFS:
1622   *    This symbol, if defined, indicates that the fstatfs routine is
1623   *    available to stat filesystems by file descriptors.
1624   */
1625  /*#define HAS_FSTATFS        / **/
1626  
1627  /* HAS_FSYNC:
1628   *    This symbol, if defined, indicates that the fsync routine is
1629   *    available to write a file's modified data and attributes to
1630   *    permanent storage.
1631   */
1632  /*#define HAS_FSYNC        / **/
1633  
1634  /* HAS_FTELLO:
1635   *    This symbol, if defined, indicates that the ftello routine is
1636   *    available to ftell beyond 32 bits (useful for ILP32 hosts).
1637   */
1638  /*#define HAS_FTELLO        / **/
1639  
1640  /* HAS_FUTIMES:
1641   *    This symbol, if defined, indicates that the futimes routine is
1642   *    available to change file descriptor time stamps with struct timevals.
1643   */
1644  /*#define HAS_FUTIMES        / **/
1645  
1646  /* Gconvert:
1647   *    This preprocessor macro is defined to convert a floating point
1648   *    number to a string without a trailing decimal point.  This
1649   *    emulates the behavior of sprintf("%g"), but is sometimes much more
1650   *    efficient.  If gconvert() is not available, but gcvt() drops the
1651   *    trailing decimal point, then gcvt() is used.  If all else fails,
1652   *    a macro using sprintf("%g") is used. Arguments for the Gconvert
1653   *    macro are: value, number of digits, whether trailing zeros should
1654   *    be retained, and the output buffer.
1655   *    The usual values are:
1656   *        d_Gconvert='gconvert((x),(n),(t),(b))'
1657   *        d_Gconvert='gcvt((x),(n),(b))'
1658   *        d_Gconvert='sprintf((b),"%.*g",(n),(x))'
1659   *    The last two assume trailing zeros should not be kept.
1660   */
1661  #define Gconvert(x,n,t,b) sprintf((b),"%.*g",(n),(x))
1662  
1663  /* HAS_GETCWD:
1664   *    This symbol, if defined, indicates that the getcwd routine is
1665   *    available to get the current working directory.
1666   */
1667  /*#define HAS_GETCWD        / **/
1668  
1669  /* HAS_GETESPWNAM:
1670   *    This symbol, if defined, indicates that the getespwnam system call is
1671   *    available to retrieve enchanced (shadow) password entries by name.
1672   */
1673  /*#define HAS_GETESPWNAM        / **/
1674  
1675  /* HAS_GETFSSTAT:
1676   *    This symbol, if defined, indicates that the getfsstat routine is
1677   *    available to stat filesystems in bulk.
1678   */
1679  /*#define HAS_GETFSSTAT        / **/
1680  
1681  /* HAS_GETGRENT:
1682   *    This symbol, if defined, indicates that the getgrent routine is
1683   *    available for sequential access of the group database.
1684   */
1685  /*#define HAS_GETGRENT        / **/
1686  
1687  /* HAS_GETGRENT_R:
1688   *    This symbol, if defined, indicates that the getgrent_r routine
1689   *    is available to getgrent re-entrantly.
1690   */
1691  /* GETGRENT_R_PROTO:
1692   *    This symbol encodes the prototype of getgrent_r.
1693   *    It is zero if d_getgrent_r is undef, and one of the
1694   *    REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrent_r
1695   *    is defined.
1696   */
1697  /*#define HAS_GETGRENT_R       / **/
1698  #define GETGRENT_R_PROTO 0       /**/
1699  
1700  /* HAS_GETGRGID_R:
1701   *    This symbol, if defined, indicates that the getgrgid_r routine
1702   *    is available to getgrgid re-entrantly.
1703   */
1704  /* GETGRGID_R_PROTO:
1705   *    This symbol encodes the prototype of getgrgid_r.
1706   *    It is zero if d_getgrgid_r is undef, and one of the
1707   *    REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrgid_r
1708   *    is defined.
1709   */
1710  /*#define HAS_GETGRGID_R       / **/
1711  #define GETGRGID_R_PROTO 0       /**/
1712  
1713  /* HAS_GETGRNAM_R:
1714   *    This symbol, if defined, indicates that the getgrnam_r routine
1715   *    is available to getgrnam re-entrantly.
1716   */
1717  /* GETGRNAM_R_PROTO:
1718   *    This symbol encodes the prototype of getgrnam_r.
1719   *    It is zero if d_getgrnam_r is undef, and one of the
1720   *    REENTRANT_PROTO_T_ABC macros of reentr.h if d_getgrnam_r
1721   *    is defined.
1722   */
1723  /*#define HAS_GETGRNAM_R       / **/
1724  #define GETGRNAM_R_PROTO 0       /**/
1725  
1726  /* HAS_GETHOSTBYADDR:
1727   *    This symbol, if defined, indicates that the gethostbyaddr() routine is
1728   *    available to look up hosts by their IP addresses.
1729   */
1730  /*#define HAS_GETHOSTBYADDR        / **/
1731  
1732  /* HAS_GETHOSTBYNAME:
1733   *    This symbol, if defined, indicates that the gethostbyname() routine is
1734   *    available to look up host names in some data base or other.
1735   */
1736  /*#define HAS_GETHOSTBYNAME        / **/
1737  
1738  /* HAS_GETHOSTENT:
1739   *    This symbol, if defined, indicates that the gethostent() routine is
1740   *    available to look up host names in some data base or another.
1741   */
1742  /*#define HAS_GETHOSTENT        / **/
1743  
1744  /* HAS_GETHOSTNAME:
1745   *    This symbol, if defined, indicates that the C program may use the
1746   *    gethostname() routine to derive the host name.  See also HAS_UNAME
1747   *    and PHOSTNAME.
1748   */
1749  /* HAS_UNAME:
1750   *    This symbol, if defined, indicates that the C program may use the
1751   *    uname() routine to derive the host name.  See also HAS_GETHOSTNAME
1752   *    and PHOSTNAME.
1753   */
1754  /* PHOSTNAME:
1755   *    This symbol, if defined, indicates the command to feed to the
1756   *    popen() routine to derive the host name.  See also HAS_GETHOSTNAME
1757   *    and HAS_UNAME.    Note that the command uses a fully qualified path,
1758   *    so that it is safe even if used by a process with super-user
1759   *    privileges.
1760   */
1761  /* HAS_PHOSTNAME:
1762   *    This symbol, if defined, indicates that the C program may use the
1763   *    contents of PHOSTNAME as a command to feed to the popen() routine
1764   *    to derive the host name.
1765   */
1766  /*#define HAS_GETHOSTNAME    / **/
1767  /*#define HAS_UNAME        / **/
1768  /*#define HAS_PHOSTNAME    / **/
1769  #ifdef HAS_PHOSTNAME
1770  #define PHOSTNAME ""    /* How to get the host name */
1771  #endif
1772  
1773  /* HAS_GETHOSTBYADDR_R:
1774   *    This symbol, if defined, indicates that the gethostbyaddr_r routine
1775   *    is available to gethostbyaddr re-entrantly.
1776   */
1777  /* GETHOSTBYADDR_R_PROTO:
1778   *    This symbol encodes the prototype of gethostbyaddr_r.
1779   *    It is zero if d_gethostbyaddr_r is undef, and one of the
1780   *    REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostbyaddr_r
1781   *    is defined.
1782   */
1783  /*#define HAS_GETHOSTBYADDR_R       / **/
1784  #define GETHOSTBYADDR_R_PROTO 0       /**/
1785  
1786  /* HAS_GETHOSTBYNAME_R:
1787   *    This symbol, if defined, indicates that the gethostbyname_r routine
1788   *    is available to gethostbyname re-entrantly.
1789   */
1790  /* GETHOSTBYNAME_R_PROTO:
1791   *    This symbol encodes the prototype of gethostbyname_r.
1792   *    It is zero if d_gethostbyname_r is undef, and one of the
1793   *    REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostbyname_r
1794   *    is defined.
1795   */
1796  /*#define HAS_GETHOSTBYNAME_R       / **/
1797  #define GETHOSTBYNAME_R_PROTO 0       /**/
1798  
1799  /* HAS_GETHOSTENT_R:
1800   *    This symbol, if defined, indicates that the gethostent_r routine
1801   *    is available to gethostent re-entrantly.
1802   */
1803  /* GETHOSTENT_R_PROTO:
1804   *    This symbol encodes the prototype of gethostent_r.
1805   *    It is zero if d_gethostent_r is undef, and one of the
1806   *    REENTRANT_PROTO_T_ABC macros of reentr.h if d_gethostent_r
1807   *    is defined.
1808   */
1809  /*#define HAS_GETHOSTENT_R       / **/
1810  #define GETHOSTENT_R_PROTO 0       /**/
1811  
1812  /* HAS_GETHOST_PROTOS:
1813   *    This symbol, if defined, indicates that <netdb.h> includes
1814   *    prototypes for gethostent(), gethostbyname(), and
1815   *    gethostbyaddr().  Otherwise, it is up to the program to guess
1816   *    them.  See netdbtype.U for probing for various Netdb_xxx_t types.
1817   */
1818  /*#define    HAS_GETHOST_PROTOS    / **/
1819  
1820  /* HAS_GETITIMER:
1821   *    This symbol, if defined, indicates that the getitimer routine is
1822   *    available to return interval timers.
1823   */
1824  /*#define HAS_GETITIMER        / **/
1825  
1826  /* HAS_GETLOGIN_R:
1827   *    This symbol, if defined, indicates that the getlogin_r routine
1828   *    is available to getlogin re-entrantly.
1829   */
1830  /* GETLOGIN_R_PROTO:
1831   *    This symbol encodes the prototype of getlogin_r.
1832   *    It is zero if d_getlogin_r is undef, and one of the
1833   *    REENTRANT_PROTO_T_ABC macros of reentr.h if d_getlogin_r
1834   *    is defined.
1835   */
1836  /*#define HAS_GETLOGIN_R       / **/
1837  #define GETLOGIN_R_PROTO 0       /**/
1838  
1839  /* HAS_GETMNT:
1840   *    This symbol, if defined, indicates that the getmnt routine is
1841   *    available to get filesystem mount info by filename.
1842   */
1843  /*#define HAS_GETMNT        / **/
1844  
1845  /* HAS_GETMNTENT:
1846   *    This symbol, if defined, indicates that the getmntent routine is
1847   *    available to iterate through mounted file systems to get their info.
1848   */
1849  /*#define HAS_GETMNTENT        / **/
1850  
1851  /* HAS_GETNETBYADDR:
1852   *    This symbol, if defined, indicates that the getnetbyaddr() routine is
1853   *    available to look up networks by their IP addresses.
1854   */
1855  /*#define HAS_GETNETBYADDR        / **/
1856  
1857  /* HAS_GETNETBYNAME:
1858   *    This symbol, if defined, indicates that the getnetbyname() routine is
1859   *    available to look up networks by their names.
1860   */
1861  /*#define HAS_GETNETBYNAME        / **/
1862  
1863  /* HAS_GETNETENT:
1864   *    This symbol, if defined, indicates that the getnetent() routine is
1865   *    available to look up network names in some data base or another.
1866   */
1867  /*#define HAS_GETNETENT        / **/
1868  
1869  /* HAS_GETNETBYADDR_R:
1870   *    This symbol, if defined, indicates that the getnetbyaddr_r routine
1871   *    is available to getnetbyaddr re-entrantly.
1872   */
1873  /* GETNETBYADDR_R_PROTO:
1874   *    This symbol encodes the prototype of getnetbyaddr_r.
1875   *    It is zero if d_getnetbyaddr_r is undef, and one of the
1876   *    REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetbyaddr_r
1877   *    is defined.
1878   */
1879  /*#define HAS_GETNETBYADDR_R       / **/
1880  #define GETNETBYADDR_R_PROTO 0       /**/
1881  
1882  /* HAS_GETNETBYNAME_R:
1883   *    This symbol, if defined, indicates that the getnetbyname_r routine
1884   *    is available to getnetbyname re-entrantly.
1885   */
1886  /* GETNETBYNAME_R_PROTO:
1887   *    This symbol encodes the prototype of getnetbyname_r.
1888   *    It is zero if d_getnetbyname_r is undef, and one of the
1889   *    REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetbyname_r
1890   *    is defined.
1891   */
1892  /*#define HAS_GETNETBYNAME_R       / **/
1893  #define GETNETBYNAME_R_PROTO 0       /**/
1894  
1895  /* HAS_GETNETENT_R:
1896   *    This symbol, if defined, indicates that the getnetent_r routine
1897   *    is available to getnetent re-entrantly.
1898   */
1899  /* GETNETENT_R_PROTO:
1900   *    This symbol encodes the prototype of getnetent_r.
1901   *    It is zero if d_getnetent_r is undef, and one of the
1902   *    REENTRANT_PROTO_T_ABC macros of reentr.h if d_getnetent_r
1903   *    is defined.
1904   */
1905  /*#define HAS_GETNETENT_R       / **/
1906  #define GETNETENT_R_PROTO 0       /**/
1907  
1908  /* HAS_GETNET_PROTOS:
1909   *    This symbol, if defined, indicates that <netdb.h> includes
1910   *    prototypes for getnetent(), getnetbyname(), and
1911   *    getnetbyaddr().  Otherwise, it is up to the program to guess
1912   *    them.  See netdbtype.U for probing for various Netdb_xxx_t types.
1913   */
1914  /*#define    HAS_GETNET_PROTOS    / **/
1915  
1916  /* HAS_GETPAGESIZE:
1917   *    This symbol, if defined, indicates that the getpagesize system call
1918   *    is available to get system page size, which is the granularity of
1919   *    many memory management calls.
1920   */
1921  /*#define HAS_GETPAGESIZE        / **/
1922  
1923  /* HAS_GETPROTOENT:
1924   *    This symbol, if defined, indicates that the getprotoent() routine is
1925   *    available to look up protocols in some data base or another.
1926   */
1927  /*#define HAS_GETPROTOENT        / **/
1928  
1929  /* HAS_GETPGRP:
1930   *    This symbol, if defined, indicates that the getpgrp routine is
1931   *    available to get the current process group.
1932   */
1933  /* USE_BSD_GETPGRP:
1934   *    This symbol, if defined, indicates that getpgrp needs one
1935   *    arguments whereas USG one needs none.
1936   */
1937  /*#define HAS_GETPGRP        / **/
1938  /*#define USE_BSD_GETPGRP    / **/
1939  
1940  /* HAS_GETPROTOBYNAME:
1941   *    This symbol, if defined, indicates that the getprotobyname()
1942   *    routine is available to look up protocols by their name.
1943   */
1944  /* HAS_GETPROTOBYNUMBER:
1945   *    This symbol, if defined, indicates that the getprotobynumber()
1946   *    routine is available to look up protocols by their number.
1947   */
1948  /*#define HAS_GETPROTOBYNAME        / **/
1949  /*#define HAS_GETPROTOBYNUMBER        / **/
1950  
1951  /* HAS_GETPROTOBYNAME_R:
1952   *    This symbol, if defined, indicates that the getprotobyname_r routine
1953   *    is available to getprotobyname re-entrantly.
1954   */
1955  /* GETPROTOBYNAME_R_PROTO:
1956   *    This symbol encodes the prototype of getprotobyname_r.
1957   *    It is zero if d_getprotobyname_r is undef, and one of the
1958   *    REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotobyname_r
1959   *    is defined.
1960   */
1961  /*#define HAS_GETPROTOBYNAME_R       / **/
1962  #define GETPROTOBYNAME_R_PROTO 0       /**/
1963  
1964  /* HAS_GETPROTOBYNUMBER_R:
1965   *    This symbol, if defined, indicates that the getprotobynumber_r routine
1966   *    is available to getprotobynumber re-entrantly.
1967   */
1968  /* GETPROTOBYNUMBER_R_PROTO:
1969   *    This symbol encodes the prototype of getprotobynumber_r.
1970   *    It is zero if d_getprotobynumber_r is undef, and one of the
1971   *    REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotobynumber_r
1972   *    is defined.
1973   */
1974  /*#define HAS_GETPROTOBYNUMBER_R       / **/
1975  #define GETPROTOBYNUMBER_R_PROTO 0       /**/
1976  
1977  /* HAS_GETPROTOENT_R:
1978   *    This symbol, if defined, indicates that the getprotoent_r routine
1979   *    is available to getprotoent re-entrantly.
1980   */
1981  /* GETPROTOENT_R_PROTO:
1982   *    This symbol encodes the prototype of getprotoent_r.
1983   *    It is zero if d_getprotoent_r is undef, and one of the
1984   *    REENTRANT_PROTO_T_ABC macros of reentr.h if d_getprotoent_r
1985   *    is defined.
1986   */
1987  /*#define HAS_GETPROTOENT_R       / **/
1988  #define GETPROTOENT_R_PROTO 0       /**/
1989  
1990  /* HAS_GETPROTO_PROTOS:
1991   *    This symbol, if defined, indicates that <netdb.h> includes
1992   *    prototypes for getprotoent(), getprotobyname(), and
1993   *    getprotobyaddr().  Otherwise, it is up to the program to guess
1994   *    them.  See netdbtype.U for probing for various Netdb_xxx_t types.
1995   */
1996  /*#define    HAS_GETPROTO_PROTOS    / **/
1997  
1998  /* HAS_GETPRPWNAM:
1999   *    This symbol, if defined, indicates that the getprpwnam system call is
2000   *    available to retrieve protected (shadow) password entries by name.
2001   */
2002  /*#define HAS_GETPRPWNAM        / **/
2003  
2004  /* HAS_GETPWENT:
2005   *    This symbol, if defined, indicates that the getpwent routine is
2006   *    available for sequential access of the passwd database.
2007   *    If this is not available, the older getpw() function may be available.
2008   */
2009  /*#define HAS_GETPWENT        / **/
2010  
2011  /* HAS_GETPWENT_R:
2012   *    This symbol, if defined, indicates that the getpwent_r routine
2013   *    is available to getpwent re-entrantly.
2014   */
2015  /* GETPWENT_R_PROTO:
2016   *    This symbol encodes the prototype of getpwent_r.
2017   *    It is zero if d_getpwent_r is undef, and one of the
2018   *    REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwent_r
2019   *    is defined.
2020   */
2021  /*#define HAS_GETPWENT_R       / **/
2022  #define GETPWENT_R_PROTO 0       /**/
2023  
2024  /* HAS_GETPWNAM_R:
2025   *    This symbol, if defined, indicates that the getpwnam_r routine
2026   *    is available to getpwnam re-entrantly.
2027   */
2028  /* GETPWNAM_R_PROTO:
2029   *    This symbol encodes the prototype of getpwnam_r.
2030   *    It is zero if d_getpwnam_r is undef, and one of the
2031   *    REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwnam_r
2032   *    is defined.
2033   */
2034  /*#define HAS_GETPWNAM_R       / **/
2035  #define GETPWNAM_R_PROTO 0       /**/
2036  
2037  /* HAS_GETPWUID_R:
2038   *    This symbol, if defined, indicates that the getpwuid_r routine
2039   *    is available to getpwuid re-entrantly.
2040   */
2041  /* GETPWUID_R_PROTO:
2042   *    This symbol encodes the prototype of getpwuid_r.
2043   *    It is zero if d_getpwuid_r is undef, and one of the
2044   *    REENTRANT_PROTO_T_ABC macros of reentr.h if d_getpwuid_r
2045   *    is defined.
2046   */
2047  /*#define HAS_GETPWUID_R       / **/
2048  #define GETPWUID_R_PROTO 0       /**/
2049  
2050  /* HAS_GETSERVENT:
2051   *    This symbol, if defined, indicates that the getservent() routine is
2052   *    available to look up network services in some data base or another.
2053   */
2054  /*#define HAS_GETSERVENT        / **/
2055  
2056  /* HAS_GETSERVBYNAME_R:
2057   *    This symbol, if defined, indicates that the getservbyname_r routine
2058   *    is available to getservbyname re-entrantly.
2059   */
2060  /* GETSERVBYNAME_R_PROTO:
2061   *    This symbol encodes the prototype of getservbyname_r.
2062   *    It is zero if d_getservbyname_r is undef, and one of the
2063   *    REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservbyname_r
2064   *    is defined.
2065   */
2066  /*#define HAS_GETSERVBYNAME_R       / **/
2067  #define GETSERVBYNAME_R_PROTO 0       /**/
2068  
2069  /* HAS_GETSERVBYPORT_R:
2070   *    This symbol, if defined, indicates that the getservbyport_r routine
2071   *    is available to getservbyport re-entrantly.
2072   */
2073  /* GETSERVBYPORT_R_PROTO:
2074   *    This symbol encodes the prototype of getservbyport_r.
2075   *    It is zero if d_getservbyport_r is undef, and one of the
2076   *    REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservbyport_r
2077   *    is defined.
2078   */
2079  /*#define HAS_GETSERVBYPORT_R       / **/
2080  #define GETSERVBYPORT_R_PROTO 0       /**/
2081  
2082  /* HAS_GETSERVENT_R:
2083   *    This symbol, if defined, indicates that the getservent_r routine
2084   *    is available to getservent re-entrantly.
2085   */
2086  /* GETSERVENT_R_PROTO:
2087   *    This symbol encodes the prototype of getservent_r.
2088   *    It is zero if d_getservent_r is undef, and one of the
2089   *    REENTRANT_PROTO_T_ABC macros of reentr.h if d_getservent_r
2090   *    is defined.
2091   */
2092  /*#define HAS_GETSERVENT_R       / **/
2093  #define GETSERVENT_R_PROTO 0       /**/
2094  
2095  /* HAS_GETSERV_PROTOS:
2096   *    This symbol, if defined, indicates that <netdb.h> includes
2097   *    prototypes for getservent(), getservbyname(), and
2098   *    getservbyaddr().  Otherwise, it is up to the program to guess
2099   *    them.  See netdbtype.U for probing for various Netdb_xxx_t types.
2100   */
2101  /*#define    HAS_GETSERV_PROTOS    / **/
2102  
2103  /* HAS_GETSPNAM:
2104   *    This symbol, if defined, indicates that the getspnam system call is
2105   *    available to retrieve SysV shadow password entries by name.
2106   */
2107  /*#define HAS_GETSPNAM        / **/
2108  
2109  /* HAS_GETSPNAM_R:
2110   *    This symbol, if defined, indicates that the getspnam_r routine
2111   *    is available to getspnam re-entrantly.
2112   */
2113  /* GETSPNAM_R_PROTO:
2114   *    This symbol encodes the prototype of getspnam_r.
2115   *    It is zero if d_getspnam_r is undef, and one of the
2116   *    REENTRANT_PROTO_T_ABC macros of reentr.h if d_getspnam_r
2117   *    is defined.
2118   */
2119  /*#define HAS_GETSPNAM_R       / **/
2120  #define GETSPNAM_R_PROTO 0       /**/
2121  
2122  /* HAS_GETSERVBYNAME:
2123   *    This symbol, if defined, indicates that the getservbyname()
2124   *    routine is available to look up services by their name.
2125   */
2126  /* HAS_GETSERVBYPORT:
2127   *    This symbol, if defined, indicates that the getservbyport()
2128   *    routine is available to look up services by their port.
2129   */
2130  /*#define HAS_GETSERVBYNAME        / **/
2131  /*#define HAS_GETSERVBYPORT        / **/
2132  
2133  /* HAS_GMTIME_R:
2134   *    This symbol, if defined, indicates that the gmtime_r routine
2135   *    is available to gmtime re-entrantly.
2136   */
2137  /* GMTIME_R_PROTO:
2138   *    This symbol encodes the prototype of gmtime_r.
2139   *    It is zero if d_gmtime_r is undef, and one of the
2140   *    REENTRANT_PROTO_T_ABC macros of reentr.h if d_gmtime_r
2141   *    is defined.
2142   */
2143  /*#define HAS_GMTIME_R       / **/
2144  #define GMTIME_R_PROTO 0       /**/
2145  
2146  /* HAS_GNULIBC:
2147   *    This symbol, if defined, indicates to the C program that 
2148   *    the GNU C library is being used.  A better check is to use
2149   *    the __GLIBC__ and __GLIBC_MINOR__ symbols supplied with glibc.
2150   */
2151  /*#define HAS_GNULIBC      / **/
2152  #if defined(HAS_GNULIBC) && !defined(_GNU_SOURCE)
2153  #   define _GNU_SOURCE
2154  #endif
2155  /* HAS_HASMNTOPT:
2156   *    This symbol, if defined, indicates that the hasmntopt routine is
2157   *    available to query the mount options of file systems.
2158   */
2159  /*#define HAS_HASMNTOPT        / **/
2160  
2161  /* HAS_HTONL:
2162   *    This symbol, if defined, indicates that the htonl() routine (and
2163   *    friends htons() ntohl() ntohs()) are available to do network
2164   *    order byte swapping.
2165   */
2166  /* HAS_HTONS:
2167   *    This symbol, if defined, indicates that the htons() routine (and
2168   *    friends htonl() ntohl() ntohs()) are available to do network
2169   *    order byte swapping.
2170   */
2171  /* HAS_NTOHL:
2172   *    This symbol, if defined, indicates that the ntohl() routine (and
2173   *    friends htonl() htons() ntohs()) are available to do network
2174   *    order byte swapping.
2175   */
2176  /* HAS_NTOHS:
2177   *    This symbol, if defined, indicates that the ntohs() routine (and
2178   *    friends htonl() htons() ntohl()) are available to do network
2179   *    order byte swapping.
2180   */
2181  /*#define HAS_HTONL        / **/
2182  /*#define HAS_HTONS        / **/
2183  /*#define HAS_NTOHL        / **/
2184  /*#define HAS_NTOHS        / **/
2185  
2186  /* HAS_ILOGBL:
2187   *    This symbol, if defined, indicates that the ilogbl routine is
2188   *    available.  If scalbnl is also present we can emulate frexpl.
2189   */
2190  /*#define HAS_ILOGBL        / **/
2191  
2192  /* HAS_INT64_T:
2193   *     This symbol will defined if the C compiler supports int64_t.
2194   *     Usually the <inttypes.h> needs to be included, but sometimes
2195   *    <sys/types.h> is enough.
2196   */
2197  /*#define     HAS_INT64_T               / **/
2198  
2199  /* HAS_ISASCII:
2200   *    This manifest constant lets the C program know that isascii 
2201   *    is available.
2202   */
2203  /*#define HAS_ISASCII        / **/
2204  
2205  /* HAS_ISFINITE:
2206   *    This symbol, if defined, indicates that the isfinite routine is
2207   *    available to check whether a double is finite (non-infinity non-NaN).
2208   */
2209  /*#define HAS_ISFINITE        / **/
2210  
2211  /* HAS_ISINF:
2212   *    This symbol, if defined, indicates that the isinf routine is
2213   *    available to check whether a double is an infinity.
2214   */
2215  /*#define HAS_ISINF        / **/
2216  
2217  /* HAS_ISNAN:
2218   *    This symbol, if defined, indicates that the isnan routine is
2219   *    available to check whether a double is a NaN.
2220   */
2221  /*#define HAS_ISNAN        / **/
2222  
2223  /* HAS_ISNANL:
2224   *    This symbol, if defined, indicates that the isnanl routine is
2225   *    available to check whether a long double is a NaN.
2226   */
2227  /*#define HAS_ISNANL        / **/
2228  
2229  /* HAS_LCHOWN:
2230   *    This symbol, if defined, indicates that the lchown routine is
2231   *    available to operate on a symbolic link (instead of following the
2232   *    link).
2233   */
2234  /*#define HAS_LCHOWN        / **/
2235  
2236  /* HAS_LDBL_DIG:
2237   *    This symbol, if defined, indicates that this system's <float.h>
2238   *    or <limits.h> defines the symbol LDBL_DIG, which is the number
2239   *    of significant digits in a long double precision number. Unlike
2240   *    for DBL_DIG, there's no good guess for LDBL_DIG if it is undefined.
2241   */
2242  /*#define HAS_LDBL_DIG     / * */
2243  
2244  /* LIBM_LIB_VERSION:
2245   *    This symbol, if defined, indicates that libm exports _LIB_VERSION
2246   *    and that math.h defines the enum to manipulate it.
2247   */
2248  /*#define LIBM_LIB_VERSION        / **/
2249  
2250  /* HAS_LOCALTIME_R:
2251   *    This symbol, if defined, indicates that the localtime_r routine
2252   *    is available to localtime re-entrantly.
2253   */
2254  /* LOCALTIME_R_NEEDS_TZSET:
2255   *    Many libc's localtime_r implementations do not call tzset,
2256   *    making them differ from localtime(), and making timezone
2257   *    changes using $ENV{TZ} without explicitly calling tzset
2258   *    impossible. This symbol makes us call tzset before localtime_r
2259   */
2260  /* LOCALTIME_R_PROTO:
2261   *    This symbol encodes the prototype of localtime_r.
2262   *    It is zero if d_localtime_r is undef, and one of the
2263   *    REENTRANT_PROTO_T_ABC macros of reentr.h if d_localtime_r
2264   *    is defined.
2265   */
2266  /*#define HAS_LOCALTIME_R       / **/
2267  /*#define LOCALTIME_R_NEEDS_TZSET       / **/
2268  #define LOCALTIME_R_PROTO 0       /**/
2269  
2270  /* HAS_LONG_DOUBLE:
2271   *    This symbol will be defined if the C compiler supports long
2272   *    doubles.
2273   */
2274  /* LONG_DOUBLESIZE:
2275   *    This symbol contains the size of a long double, so that the 
2276   *    C preprocessor can make decisions based on it.  It is only
2277   *    defined if the system supports long doubles.
2278   */
2279  /*#define HAS_LONG_DOUBLE        / **/
2280  #ifdef HAS_LONG_DOUBLE
2281  #define LONG_DOUBLESIZE 8        /**/
2282  #endif
2283  
2284  /* HAS_LONG_LONG:
2285   *    This symbol will be defined if the C compiler supports long long.
2286   */
2287  /* LONGLONGSIZE:
2288   *    This symbol contains the size of a long long, so that the 
2289   *    C preprocessor can make decisions based on it.  It is only
2290   *    defined if the system supports long long.
2291   */
2292  /*#define HAS_LONG_LONG        / **/
2293  #ifdef HAS_LONG_LONG
2294  #define LONGLONGSIZE 8        /**/
2295  #endif
2296  
2297  /* HAS_LSEEK_PROTO:
2298   *    This symbol, if defined, indicates that the system provides
2299   *    a prototype for the lseek() function.  Otherwise, it is up
2300   *    to the program to supply one.  A good guess is
2301   *        extern off_t lseek(int, off_t, int);
2302   */
2303  /*#define    HAS_LSEEK_PROTO    / **/
2304  
2305  /* HAS_MADVISE:
2306   *    This symbol, if defined, indicates that the madvise system call is
2307   *    available to map a file into memory.
2308   */
2309  /*#define HAS_MADVISE        / **/
2310  
2311  /* HAS_MALLOC_SIZE:
2312   *    This symbol, if defined, indicates that the malloc_size
2313   *    routine is available for use.
2314   */
2315  /*#define HAS_MALLOC_SIZE        / **/
2316  
2317  /* HAS_MALLOC_GOOD_SIZE:
2318   *    This symbol, if defined, indicates that the malloc_good_size
2319   *    routine is available for use.
2320   */
2321  /*#define HAS_MALLOC_GOOD_SIZE    / **/
2322  
2323  /* HAS_MEMCHR:
2324   *    This symbol, if defined, indicates that the memchr routine is available
2325   *    to locate characters within a C string.
2326   */
2327  #define HAS_MEMCHR    /**/
2328  
2329  /* HAS_MKDTEMP:
2330   *    This symbol, if defined, indicates that the mkdtemp routine is
2331   *    available to exclusively create a uniquely named temporary directory.
2332   */
2333  /*#define HAS_MKDTEMP        / **/
2334  
2335  /* HAS_MKSTEMP:
2336   *    This symbol, if defined, indicates that the mkstemp routine is
2337   *    available to exclusively create and open a uniquely named
2338   *    temporary file.
2339   */
2340  /*#define HAS_MKSTEMP        / **/
2341  
2342  /* HAS_MKSTEMPS:
2343   *    This symbol, if defined, indicates that the mkstemps routine is
2344   *    available to excluslvely create and open a uniquely named
2345   *    (with a suffix) temporary file.
2346   */
2347  /*#define HAS_MKSTEMPS        / **/
2348  
2349  /* HAS_MMAP:
2350   *    This symbol, if defined, indicates that the mmap system call is
2351   *    available to map a file into memory.
2352   */
2353  /* Mmap_t:
2354   *    This symbol holds the return type of the mmap() system call
2355   *    (and simultaneously the type of the first argument).
2356   *    Usually set to 'void *' or 'cadd_t'.
2357   */
2358  /*#define HAS_MMAP        / **/
2359  #define Mmap_t     /**/
2360  
2361  /* HAS_MODFL:
2362   *    This symbol, if defined, indicates that the modfl routine is
2363   *    available to split a long double x into a fractional part f and
2364   *    an integer part i such that |f| < 1.0 and (f + i) = x.
2365   */
2366  /* HAS_MODFL_PROTO:
2367   *    This symbol, if defined, indicates that the system provides
2368   *    a prototype for the modfl() function.  Otherwise, it is up
2369   *    to the program to supply one.
2370   */
2371  /* HAS_MODFL_POW32_BUG:
2372   *    This symbol, if defined, indicates that the modfl routine is
2373   *    broken for long doubles >= pow(2, 32).
2374   *    For example from 4294967303.150000 one would get 4294967302.000000
2375   *    and 1.150000.  The bug has been seen in certain versions of glibc,
2376   *    release 2.2.2 is known to be okay.
2377   */
2378  /*#define HAS_MODFL        / **/
2379  /*#define HAS_MODFL_PROTO        / **/
2380  /*#define HAS_MODFL_POW32_BUG        / **/
2381  
2382  /* HAS_MPROTECT:
2383   *    This symbol, if defined, indicates that the mprotect system call is
2384   *    available to modify the access protection of a memory mapped file.
2385   */
2386  /*#define HAS_MPROTECT        / **/
2387  
2388  /* HAS_MSG:
2389   *    This symbol, if defined, indicates that the entire msg*(2) library is
2390   *    supported (IPC mechanism based on message queues).
2391   */
2392  /*#define HAS_MSG        / **/
2393  
2394  /* HAS_STRUCT_MSGHDR:
2395   *    This symbol, if defined, indicates that the struct msghdr
2396   *    is supported.
2397   */
2398  /*#define HAS_STRUCT_MSGHDR    / **/
2399  
2400  /* HAS_NL_LANGINFO:
2401   *    This symbol, if defined, indicates that the nl_langinfo routine is
2402   *    available to return local data.  You will also need <langinfo.h>
2403   *    and therefore I_LANGINFO.
2404   */
2405  /*#define HAS_NL_LANGINFO        / **/
2406  
2407  /* HAS_OFF64_T:
2408   *    This symbol will be defined if the C compiler supports off64_t.
2409   */
2410  /*#define    HAS_OFF64_T            / **/
2411  
2412  /* HAS_OPEN3:
2413   *    This manifest constant lets the C program know that the three
2414   *    argument form of open(2) is available.
2415   */
2416  /*#define HAS_OPEN3        / **/
2417  
2418  /* HAS_PROCSELFEXE:
2419   *    This symbol is defined if PROCSELFEXE_PATH is a symlink
2420   *    to the absolute pathname of the executing program.
2421   */
2422  /* PROCSELFEXE_PATH:
2423   *    If HAS_PROCSELFEXE is defined this symbol is the filename
2424   *    of the symbolic link pointing to the absolute pathname of
2425   *    the executing program.
2426   */
2427  /*#define HAS_PROCSELFEXE    / **/
2428  #if defined(HAS_PROCSELFEXE) && !defined(PROCSELFEXE_PATH)
2429  #define PROCSELFEXE_PATH        /**/
2430  #endif
2431  
2432  /* OLD_PTHREAD_CREATE_JOINABLE:
2433   *    This symbol, if defined, indicates how to create pthread
2434   *    in joinable (aka undetached) state.  NOTE: not defined
2435   *    if pthread.h already has defined PTHREAD_CREATE_JOINABLE
2436   *    (the new version of the constant).
2437   *    If defined, known values are PTHREAD_CREATE_UNDETACHED
2438   *    and __UNDETACHED.
2439   */
2440  /*#define OLD_PTHREAD_CREATE_JOINABLE  / **/
2441  
2442  /* HAS_PTHREAD_ATFORK:
2443   *    This symbol, if defined, indicates that the pthread_atfork routine
2444   *    is available to setup fork handlers.
2445   */
2446  /*#define HAS_PTHREAD_ATFORK        / **/
2447  
2448  /* HAS_PTHREAD_ATTR_SETSCOPE:
2449   *    This symbol, if defined, indicates that the pthread_attr_setscope
2450   *    system call is available to set the contention scope attribute of
2451   *    a thread attribute object.
2452   */
2453  /*#define HAS_PTHREAD_ATTR_SETSCOPE        / **/
2454  
2455  /* HAS_PTHREAD_YIELD:
2456   *    This symbol, if defined, indicates that the pthread_yield 
2457   *    routine is available to yield the execution of the current
2458   *    thread.     sched_yield is preferable to pthread_yield.
2459   */
2460  /* SCHED_YIELD:
2461   *    This symbol defines the way to yield the execution of
2462   *    the current thread.  Known ways are sched_yield,
2463   *    pthread_yield, and pthread_yield with NULL.
2464   */
2465  /* HAS_SCHED_YIELD:
2466   *    This symbol, if defined, indicates that the sched_yield
2467   *    routine is available to yield the execution of the current
2468   *    thread.     sched_yield is preferable to pthread_yield.
2469   */
2470  /*#define HAS_PTHREAD_YIELD    / **/
2471  #define SCHED_YIELD    sched_yield()    /**/
2472  /*#define HAS_SCHED_YIELD    / **/
2473  
2474  /* HAS_RANDOM_R:
2475   *    This symbol, if defined, indicates that the random_r routine
2476   *    is available to random re-entrantly.
2477   */
2478  /* RANDOM_R_PROTO:
2479   *    This symbol encodes the prototype of random_r.
2480   *    It is zero if d_random_r is undef, and one of the
2481   *    REENTRANT_PROTO_T_ABC macros of reentr.h if d_random_r
2482   *    is defined.
2483   */
2484  /*#define HAS_RANDOM_R       / **/
2485  #define RANDOM_R_PROTO 0       /**/
2486  
2487  /* HAS_READDIR64_R:
2488   *    This symbol, if defined, indicates that the readdir64_r routine
2489   *    is available to readdir64 re-entrantly.
2490   */
2491  /* READDIR64_R_PROTO:
2492   *    This symbol encodes the prototype of readdir64_r.
2493   *    It is zero if d_readdir64_r is undef, and one of the
2494   *    REENTRANT_PROTO_T_ABC macros of reentr.h if d_readdir64_r
2495   *    is defined.
2496   */
2497  /*#define HAS_READDIR64_R       / **/
2498  #define READDIR64_R_PROTO 0       /**/
2499  
2500  /* HAS_READDIR_R:
2501   *    This symbol, if defined, indicates that the readdir_r routine
2502   *    is available to readdir re-entrantly.
2503   */
2504  /* READDIR_R_PROTO:
2505   *    This symbol encodes the prototype of readdir_r.
2506   *    It is zero if d_readdir_r is undef, and one of the
2507   *    REENTRANT_PROTO_T_ABC macros of reentr.h if d_readdir_r
2508   *    is defined.
2509   */
2510  /*#define HAS_READDIR_R       / **/
2511  #define READDIR_R_PROTO 0       /**/
2512  
2513  /* HAS_READV:
2514   *    This symbol, if defined, indicates that the readv routine is
2515   *    available to do gather reads.  You will also need <sys/uio.h>
2516   *    and there I_SYSUIO.
2517   */
2518  /*#define HAS_READV        / **/
2519  
2520  /* HAS_RECVMSG:
2521   *    This symbol, if defined, indicates that the recvmsg routine is
2522   *    available to send structured socket messages.
2523   */
2524  /*#define HAS_RECVMSG        / **/
2525  
2526  /* HAS_SAFE_BCOPY:
2527   *    This symbol, if defined, indicates that the bcopy routine is available
2528   *    to copy potentially overlapping memory blocks. Normally, you should
2529   *    probably use memmove() or memcpy(). If neither is defined, roll your
2530   *    own version.
2531   */
2532  /*#define HAS_SAFE_BCOPY    / **/
2533  
2534  /* HAS_SAFE_MEMCPY:
2535   *    This symbol, if defined, indicates that the memcpy routine is available
2536   *    to copy potentially overlapping memory blocks.  If you need to
2537   *    copy overlapping memory blocks, you should check HAS_MEMMOVE and
2538   *    use memmove() instead, if available.
2539   */
2540  /*#define HAS_SAFE_MEMCPY    / **/
2541  
2542  /* HAS_SANE_MEMCMP:
2543   *    This symbol, if defined, indicates that the memcmp routine is available
2544   *    and can be used to compare relative magnitudes of chars with their high
2545   *    bits set.  If it is not defined, roll your own version.
2546   */
2547  /*#define HAS_SANE_MEMCMP    / **/
2548  
2549  /* HAS_SBRK_PROTO:
2550   *    This symbol, if defined, indicates that the system provides
2551   *    a prototype for the sbrk() function.  Otherwise, it is up
2552   *    to the program to supply one.  Good guesses are
2553   *        extern void* sbrk(int);
2554   *        extern void* sbrk(size_t);
2555   */
2556  /*#define    HAS_SBRK_PROTO    / **/
2557  
2558  /* HAS_SCALBNL:
2559   *    This symbol, if defined, indicates that the scalbnl routine is
2560   *    available.  If ilogbl is also present we can emulate frexpl.
2561   */
2562  /*#define HAS_SCALBNL        / **/
2563  
2564  /* HAS_SEM:
2565   *    This symbol, if defined, indicates that the entire sem*(2) library is
2566   *    supported.
2567   */
2568  /*#define HAS_SEM        / **/
2569  
2570  /* HAS_SENDMSG:
2571   *    This symbol, if defined, indicates that the sendmsg routine is
2572   *    available to send structured socket messages.
2573   */
2574  /*#define HAS_SENDMSG        / **/
2575  
2576  /* HAS_SETGRENT:
2577   *    This symbol, if defined, indicates that the setgrent routine is
2578   *    available for initializing sequential access of the group database.
2579   */
2580  /*#define HAS_SETGRENT        / **/
2581  
2582  /* HAS_SETGRENT_R:
2583   *    This symbol, if defined, indicates that the setgrent_r routine
2584   *    is available to setgrent re-entrantly.
2585   */
2586  /* SETGRENT_R_PROTO:
2587   *    This symbol encodes the prototype of setgrent_r.
2588   *    It is zero if d_setgrent_r is undef, and one of the
2589   *    REENTRANT_PROTO_T_ABC macros of reentr.h if d_setgrent_r
2590   *    is defined.
2591   */
2592  /*#define HAS_SETGRENT_R       / **/
2593  #define SETGRENT_R_PROTO 0       /**/
2594  
2595  /* HAS_SETGROUPS:
2596   *    This symbol, if defined, indicates that the setgroups() routine is
2597   *    available to set the list of process groups.  If unavailable, multiple
2598   *    groups are probably not supported.
2599   */
2600  /*#define HAS_SETGROUPS        / **/
2601  
2602  /* HAS_SETHOSTENT:
2603   *    This symbol, if defined, indicates that the sethostent() routine is
2604   *    available.
2605   */
2606  /*#define HAS_SETHOSTENT        / **/
2607  
2608  /* HAS_SETHOSTENT_R:
2609   *    This symbol, if defined, indicates that the sethostent_r routine
2610   *    is available to sethostent re-entrantly.
2611   */
2612  /* SETHOSTENT_R_PROTO:
2613   *    This symbol encodes the prototype of sethostent_r.
2614   *    It is zero if d_sethostent_r is undef, and one of the
2615   *    REENTRANT_PROTO_T_ABC macros of reentr.h if d_sethostent_r
2616   *    is defined.
2617   */
2618  /*#define HAS_SETHOSTENT_R       / **/
2619  #define SETHOSTENT_R_PROTO 0       /**/
2620  
2621  /* HAS_SETITIMER:
2622   *    This symbol, if defined, indicates that the setitimer routine is
2623   *    available to set interval timers.
2624   */
2625  /*#define HAS_SETITIMER        / **/
2626  
2627  /* HAS_SETLOCALE_R:
2628   *    This symbol, if defined, indicates that the setlocale_r routine
2629   *    is available to setlocale re-entrantly.
2630   */
2631  /* SETLOCALE_R_PROTO:
2632   *    This symbol encodes the prototype of setlocale_r.
2633   *    It is zero if d_setlocale_r is undef, and one of the
2634   *    REENTRANT_PROTO_T_ABC macros of reentr.h if d_setlocale_r
2635   *    is defined.
2636   */
2637  /*#define HAS_SETLOCALE_R       / **/
2638  #define SETLOCALE_R_PROTO 0       /**/
2639  
2640  /* HAS_SETNETENT:
2641   *    This symbol, if defined, indicates that the setnetent() routine is
2642   *    available.
2643   */
2644  /*#define HAS_SETNETENT        / **/
2645  
2646  /* HAS_SETNETENT_R:
2647   *    This symbol, if defined, indicates that the setnetent_r routine
2648   *    is available to setnetent re-entrantly.
2649   */
2650  /* SETNETENT_R_PROTO:
2651   *    This symbol encodes the prototype of setnetent_r.
2652   *    It is zero if d_setnetent_r is undef, and one of the
2653   *    REENTRANT_PROTO_T_ABC macros of reentr.h if d_setnetent_r
2654   *    is defined.
2655   */
2656  /*#define HAS_SETNETENT_R       / **/
2657  #define SETNETENT_R_PROTO 0       /**/
2658  
2659  /* HAS_SETPROTOENT:
2660   *    This symbol, if defined, indicates that the setprotoent() routine is
2661   *    available.
2662   */
2663  /*#define HAS_SETPROTOENT        / **/
2664  
2665  /* HAS_SETPGRP:
2666   *    This symbol, if defined, indicates that the setpgrp routine is
2667   *    available to set the current process group.
2668   */
2669  /* USE_BSD_SETPGRP:
2670   *    This symbol, if defined, indicates that setpgrp needs two
2671   *    arguments whereas USG one needs none.  See also HAS_SETPGID
2672   *    for a POSIX interface.
2673   */
2674  /*#define HAS_SETPGRP        / **/
2675  /*#define USE_BSD_SETPGRP    / **/
2676  
2677  /* HAS_SETPROCTITLE:
2678   *    This symbol, if defined, indicates that the setproctitle routine is
2679   *    available to set process title.
2680   */
2681  /*#define HAS_SETPROCTITLE        / **/
2682  
2683  /* HAS_SETPROTOENT_R:
2684   *    This symbol, if defined, indicates that the setprotoent_r routine
2685   *    is available to setprotoent re-entrantly.
2686   */
2687  /* SETPROTOENT_R_PROTO:
2688   *    This symbol encodes the prototype of setprotoent_r.
2689   *    It is zero if d_setprotoent_r is undef, and one of the
2690   *    REENTRANT_PROTO_T_ABC macros of reentr.h if d_setprotoent_r
2691   *    is defined.
2692   */
2693  /*#define HAS_SETPROTOENT_R       / **/
2694  #define SETPROTOENT_R_PROTO 0       /**/
2695  
2696  /* HAS_SETPWENT:
2697   *    This symbol, if defined, indicates that the setpwent routine is
2698   *    available for initializing sequential access of the passwd database.
2699   */
2700  /*#define HAS_SETPWENT        / **/
2701  
2702  /* HAS_SETPWENT_R:
2703   *    This symbol, if defined, indicates that the setpwent_r routine
2704   *    is available to setpwent re-entrantly.
2705   */
2706  /* SETPWENT_R_PROTO:
2707   *    This symbol encodes the prototype of setpwent_r.
2708   *    It is zero if d_setpwent_r is undef, and one of the
2709   *    REENTRANT_PROTO_T_ABC macros of reentr.h if d_setpwent_r
2710   *    is defined.
2711   */
2712  /*#define HAS_SETPWENT_R       / **/
2713  #define SETPWENT_R_PROTO 0       /**/
2714  
2715  /* HAS_SETSERVENT:
2716   *    This symbol, if defined, indicates that the setservent() routine is
2717   *    available.
2718   */
2719  /*#define HAS_SETSERVENT        / **/
2720  
2721  /* HAS_SETSERVENT_R:
2722   *    This symbol, if defined, indicates that the setservent_r routine
2723   *    is available to setservent re-entrantly.
2724   */
2725  /* SETSERVENT_R_PROTO:
2726   *    This symbol encodes the prototype of setservent_r.
2727   *    It is zero if d_setservent_r is undef, and one of the
2728   *    REENTRANT_PROTO_T_ABC macros of reentr.h if d_setservent_r
2729   *    is defined.
2730   */
2731  /*#define HAS_SETSERVENT_R       / **/
2732  #define SETSERVENT_R_PROTO 0       /**/
2733  
2734  /* HAS_SETVBUF:
2735   *    This symbol, if defined, indicates that the setvbuf routine is
2736   *    available to change buffering on an open stdio stream.
2737   *    to a line-buffered mode.
2738   */
2739  /*#define HAS_SETVBUF        / **/
2740  
2741  /* USE_SFIO:
2742   *    This symbol, if defined, indicates that sfio should
2743   *    be used.
2744   */
2745  /*#define    USE_SFIO        / **/
2746  
2747  /* HAS_SHM:
2748   *    This symbol, if defined, indicates that the entire shm*(2) library is
2749   *    supported.
2750   */
2751  /*#define HAS_SHM        / **/
2752  
2753  /* Shmat_t:
2754   *    This symbol holds the return type of the shmat() system call.
2755   *    Usually set to 'void *' or 'char *'.
2756   */
2757  /* HAS_SHMAT_PROTOTYPE:
2758   *    This symbol, if defined, indicates that the sys/shm.h includes
2759   *    a prototype for shmat().  Otherwise, it is up to the program to
2760   *    guess one.  Shmat_t shmat(int, Shmat_t, int) is a good guess,
2761   *    but not always right so it should be emitted by the program only
2762   *    when HAS_SHMAT_PROTOTYPE is not defined to avoid conflicting defs.
2763   */
2764  #define Shmat_t void *    /**/
2765  /*#define HAS_SHMAT_PROTOTYPE    / **/
2766  
2767  /* HAS_SIGACTION:
2768   *    This symbol, if defined, indicates that Vr4's sigaction() routine
2769   *    is available.
2770   */
2771  /*#define HAS_SIGACTION    / **/
2772  
2773  /* HAS_SIGPROCMASK:
2774   *    This symbol, if defined, indicates that the sigprocmask
2775   *    system call is available to examine or change the signal mask
2776   *    of the calling process.
2777   */
2778  /*#define HAS_SIGPROCMASK        / **/
2779  
2780  /* HAS_SIGSETJMP:
2781   *    This variable indicates to the C program that the sigsetjmp()
2782   *    routine is available to save the calling process's registers
2783   *    and stack environment for later use by siglongjmp(), and
2784   *    to optionally save the process's signal mask.  See
2785   *    Sigjmp_buf, Sigsetjmp, and Siglongjmp.
2786   */
2787  /* Sigjmp_buf:
2788   *    This is the buffer type to be used with Sigsetjmp and Siglongjmp.
2789   */
2790  /* Sigsetjmp:
2791   *    This macro is used in the same way as sigsetjmp(), but will invoke
2792   *    traditional setjmp() if sigsetjmp isn't available.
2793   *    See HAS_SIGSETJMP.
2794   */
2795  /* Siglongjmp:
2796   *    This macro is used in the same way as siglongjmp(), but will invoke
2797   *    traditional longjmp() if siglongjmp isn't available.
2798   *    See HAS_SIGSETJMP.
2799   */
2800  /*#define HAS_SIGSETJMP    / **/
2801  #ifdef HAS_SIGSETJMP
2802  #define Sigjmp_buf sigjmp_buf
2803  #define Sigsetjmp(buf,save_mask) sigsetjmp((buf),(save_mask))
2804  #define Siglongjmp(buf,retval) siglongjmp((buf),(retval))
2805  #else
2806  #define Sigjmp_buf jmp_buf
2807  #define Sigsetjmp(buf,save_mask) setjmp((buf))
2808  #define Siglongjmp(buf,retval) longjmp((buf),(retval))
2809  #endif
2810  
2811  /* USE_SITECUSTOMIZE:
2812   *    This symbol, if defined, indicates that sitecustomize should
2813   *    be used.
2814   */
2815  #ifndef USE_SITECUSTOMIZE
2816  /*#define    USE_SITECUSTOMIZE        / **/
2817  #endif
2818  
2819  /* HAS_SNPRINTF:
2820   *    This symbol, if defined, indicates that the snprintf () library
2821   *    function is available for use.
2822   */
2823  /* HAS_VSNPRINTF:
2824   *    This symbol, if defined, indicates that the vsnprintf () library
2825   *    function is available for use.
2826   */
2827  /*#define HAS_SNPRINTF    / **/
2828  /*#define HAS_VSNPRINTF    / **/
2829  
2830  /* HAS_SOCKATMARK:
2831   *    This symbol, if defined, indicates that the sockatmark routine is
2832   *    available to test whether a socket is at the out-of-band mark.
2833   */
2834  /*#define HAS_SOCKATMARK        / **/
2835  
2836  /* HAS_SOCKATMARK_PROTO:
2837   *    This symbol, if defined, indicates that the system provides
2838   *    a prototype for the sockatmark() function.  Otherwise, it is up
2839   *    to the program to supply one.  A good guess is
2840   *        extern int sockatmark(int);
2841   */
2842  /*#define    HAS_SOCKATMARK_PROTO    / **/
2843  
2844  /* HAS_SOCKET:
2845   *    This symbol, if defined, indicates that the BSD socket interface is
2846   *    supported.
2847   */
2848  /* HAS_SOCKETPAIR:
2849   *    This symbol, if defined, indicates that the BSD socketpair() call is
2850   *    supported.
2851   */
2852  /* HAS_MSG_CTRUNC:
2853   *    This symbol, if defined, indicates that the MSG_CTRUNC is supported.
2854   *    Checking just with #ifdef might not be enough because this symbol
2855   *    has been known to be an enum.
2856   */
2857  /* HAS_MSG_DONTROUTE:
2858   *    This symbol, if defined, indicates that the MSG_DONTROUTE is supported.
2859   *    Checking just with #ifdef might not be enough because this symbol
2860   *    has been known to be an enum.
2861   */
2862  /* HAS_MSG_OOB:
2863   *    This symbol, if defined, indicates that the MSG_OOB is supported.
2864   *    Checking just with #ifdef might not be enough because this symbol
2865   *    has been known to be an enum.
2866   */
2867  /* HAS_MSG_PEEK:
2868   *    This symbol, if defined, indicates that the MSG_PEEK is supported.
2869   *    Checking just with #ifdef might not be enough because this symbol
2870   *    has been known to be an enum.
2871   */
2872  /* HAS_MSG_PROXY:
2873   *    This symbol, if defined, indicates that the MSG_PROXY is supported.
2874   *    Checking just with #ifdef might not be enough because this symbol
2875   *    has been known to be an enum.
2876   */
2877  /* HAS_SCM_RIGHTS:
2878   *    This symbol, if defined, indicates that the SCM_RIGHTS is supported.
2879   *    Checking just with #ifdef might not be enough because this symbol
2880   *    has been known to be an enum.
2881   */
2882  /*#define    HAS_SOCKET        / **/
2883  /*#define    HAS_SOCKETPAIR    / **/
2884  /*#define    HAS_MSG_CTRUNC    / **/
2885  /*#define    HAS_MSG_DONTROUTE    / **/
2886  /*#define    HAS_MSG_OOB    / **/
2887  /*#define    HAS_MSG_PEEK    / **/
2888  /*#define    HAS_MSG_PROXY    / **/
2889  /*#define    HAS_SCM_RIGHTS    / **/
2890  
2891  /* HAS_SOCKS5_INIT:
2892   *    This symbol, if defined, indicates that the socks5_init routine is
2893   *    available to initialize SOCKS 5.
2894   */
2895  /*#define HAS_SOCKS5_INIT        / **/
2896  
2897  /* SPRINTF_RETURNS_STRLEN:
2898   *    This variable defines whether sprintf returns the length of the string
2899   *    (as per the ANSI spec). Some C libraries retain compatibility with
2900   *    pre-ANSI C and return a pointer to the passed in buffer; for these
2901   *    this variable will be undef.
2902   */
2903  /*#define SPRINTF_RETURNS_STRLEN    / **/
2904  
2905  /* HAS_SQRTL:
2906   *    This symbol, if defined, indicates that the sqrtl routine is
2907   *    available to do long double square roots.
2908   */
2909  /*#define HAS_SQRTL        / **/
2910  
2911  /* HAS_SRAND48_R:
2912   *    This symbol, if defined, indicates that the srand48_r routine
2913   *    is available to srand48 re-entrantly.
2914   */
2915  /* SRAND48_R_PROTO:
2916   *    This symbol encodes the prototype of srand48_r.
2917   *    It is zero if d_srand48_r is undef, and one of the
2918   *    REENTRANT_PROTO_T_ABC macros of reentr.h if d_srand48_r
2919   *    is defined.
2920   */
2921  /*#define HAS_SRAND48_R       / **/
2922  #define SRAND48_R_PROTO 0       /**/
2923  
2924  /* HAS_SRANDOM_R:
2925   *    This symbol, if defined, indicates that the srandom_r routine
2926   *    is available to srandom re-entrantly.
2927   */
2928  /* SRANDOM_R_PROTO:
2929   *    This symbol encodes the prototype of srandom_r.
2930   *    It is zero if d_srandom_r is undef, and one of the
2931   *    REENTRANT_PROTO_T_ABC macros of reentr.h if d_srandom_r
2932   *    is defined.
2933   */
2934  /*#define HAS_SRANDOM_R       / **/
2935  #define SRANDOM_R_PROTO 0       /**/
2936  
2937  /* HAS_SETRESGID_PROTO:
2938   *    This symbol, if defined, indicates that the system provides
2939   *    a prototype for the setresgid() function.  Otherwise, it is up
2940   *    to the program to supply one.  Good guesses are
2941   *        extern int setresgid(uid_t ruid, uid_t euid, uid_t suid);
2942   */
2943  /*#define    HAS_SETRESGID_PROTO    / **/
2944  
2945  /* HAS_SETRESUID_PROTO:
2946   *    This symbol, if defined, indicates that the system provides
2947   *    a prototype for the setresuid() function.  Otherwise, it is up
2948   *    to the program to supply one.  Good guesses are
2949   *        extern int setresuid(uid_t ruid, uid_t euid, uid_t suid);
2950   */
2951  /*#define    HAS_SETRESUID_PROTO    / **/
2952  
2953  /* USE_STAT_BLOCKS:
2954   *    This symbol is defined if this system has a stat structure declaring
2955   *    st_blksize and st_blocks.
2956   */
2957  #ifndef USE_STAT_BLOCKS
2958  /*#define USE_STAT_BLOCKS     / **/
2959  #endif
2960  
2961  /* HAS_STRUCT_STATFS_F_FLAGS:
2962   *    This symbol, if defined, indicates that the struct statfs
2963   *    does have the f_flags member containing the mount flags of
2964   *    the filesystem containing the file.
2965   *    This kind of struct statfs is coming from <sys/mount.h> (BSD 4.3),
2966   *    not from <sys/statfs.h> (SYSV).  Older BSDs (like Ultrix) do not
2967   *    have statfs() and struct statfs, they have ustat() and getmnt()
2968   *    with struct ustat and struct fs_data.
2969   */
2970  /*#define HAS_STRUCT_STATFS_F_FLAGS        / **/
2971  
2972  /* HAS_STRUCT_STATFS:
2973   *    This symbol, if defined, indicates that the struct statfs
2974   *    to do statfs() is supported.
2975   */
2976  /*#define HAS_STRUCT_STATFS    / **/
2977  
2978  /* HAS_FSTATVFS:
2979   *    This symbol, if defined, indicates that the fstatvfs routine is
2980   *    available to stat filesystems by file descriptors.
2981   */
2982  /*#define HAS_FSTATVFS        / **/
2983  
2984  /* USE_STDIO_PTR:
2985   *    This symbol is defined if the _ptr and _cnt fields (or similar)
2986   *    of the stdio FILE structure can be used to access the stdio buffer
2987   *    for a file handle.  If this is defined, then the FILE_ptr(fp)
2988   *    and FILE_cnt(fp) macros will also be defined and should be used
2989   *    to access these fields.
2990   */
2991  /* FILE_ptr:
2992   *    This macro is used to access the _ptr field (or equivalent) of the
2993   *    FILE structure pointed to by its argument. This macro will always be
2994   *    defined if USE_STDIO_PTR is defined.
2995   */
2996  /* STDIO_PTR_LVALUE:
2997   *    This symbol is defined if the FILE_ptr macro can be used as an
2998   *    lvalue.
2999   */
3000  /* FILE_cnt:
3001   *    This macro is used to access the _cnt field (or equivalent) of the
3002   *    FILE structure pointed to by its argument. This macro will always be
3003   *    defined if USE_STDIO_PTR is defined.
3004   */
3005  /* STDIO_CNT_LVALUE:
3006   *    This symbol is defined if the FILE_cnt macro can be used as an
3007   *    lvalue.
3008   */
3009  /* STDIO_PTR_LVAL_SETS_CNT:
3010   *    This symbol is defined if using the FILE_ptr macro as an lvalue
3011   *    to increase the pointer by n has the side effect of decreasing the
3012   *    value of File_cnt(fp) by n.
3013   */
3014  /* STDIO_PTR_LVAL_NOCHANGE_CNT:
3015   *    This symbol is defined if using the FILE_ptr macro as an lvalue
3016   *    to increase the pointer by n leaves File_cnt(fp) unchanged.
3017   */
3018  /*#define USE_STDIO_PTR     / **/
3019  #ifdef USE_STDIO_PTR
3020  #define FILE_ptr(fp)    ((fp)->_IO_read_ptr)
3021  /*#define STDIO_PTR_LVALUE         / **/
3022  #define FILE_cnt(fp)    ((fp)->_IO_read_end - (fp)->_IO_read_ptr)
3023  /*#define STDIO_CNT_LVALUE         / **/
3024  /*#define STDIO_PTR_LVAL_SETS_CNT    / **/
3025  /*#define STDIO_PTR_LVAL_NOCHANGE_CNT    / **/
3026  #endif
3027  
3028  /* USE_STDIO_BASE:
3029   *    This symbol is defined if the _base field (or similar) of the
3030   *    stdio FILE structure can be used to access the stdio buffer for
3031   *    a file handle.  If this is defined, then the FILE_base(fp) macro
3032   *    will also be defined and should be used to access this field.
3033   *    Also, the FILE_bufsiz(fp) macro will be defined and should be used
3034   *    to determine the number of bytes in the buffer.  USE_STDIO_BASE
3035   *    will never be defined unless USE_STDIO_PTR is.
3036   */
3037  /* FILE_base:
3038   *    This macro is used to access the _base field (or equivalent) of the
3039   *    FILE structure pointed to by its argument. This macro will always be
3040   *    defined if USE_STDIO_BASE is defined.
3041   */
3042  /* FILE_bufsiz:
3043   *    This macro is used to determine the number of bytes in the I/O
3044   *    buffer pointed to by _base field (or equivalent) of the FILE
3045   *    structure pointed to its argument. This macro will always be defined
3046   *    if USE_STDIO_BASE is defined.
3047   */
3048  /*#define USE_STDIO_BASE     / **/
3049  #ifdef USE_STDIO_BASE
3050  #define FILE_base(fp)    ((fp)->_IO_read_base)
3051  #define FILE_bufsiz(fp)    ((fp)->_IO_read_end - (fp)->_IO_read_base)
3052  #endif
3053  
3054  /* HAS_STRERROR:
3055   *    This symbol, if defined, indicates that the strerror routine is
3056   *    available to translate error numbers to strings. See the writeup
3057   *    of Strerror() in this file before you try to define your own.
3058   */
3059  /* HAS_SYS_ERRLIST:
3060   *    This symbol, if defined, indicates that the sys_errlist array is
3061   *    available to translate error numbers to strings. The extern int
3062   *    sys_nerr gives the size of that table.
3063   */
3064  /* Strerror:
3065   *    This preprocessor symbol is defined as a macro if strerror() is
3066   *    not available to translate error numbers to strings but sys_errlist[]
3067   *    array is there.
3068   */
3069  /*#define HAS_STRERROR        / **/
3070  /*#define HAS_SYS_ERRLIST    / **/
3071  #define Strerror(e) strerror(e)
3072  
3073  /* HAS_STRERROR_R:
3074   *    This symbol, if defined, indicates that the strerror_r routine
3075   *    is available to strerror re-entrantly.
3076   */
3077  /* STRERROR_R_PROTO:
3078   *    This symbol encodes the prototype of strerror_r.
3079   *    It is zero if d_strerror_r is undef, and one of the
3080   *    REENTRANT_PROTO_T_ABC macros of reentr.h if d_strerror_r
3081   *    is defined.
3082   */
3083  /*#define HAS_STRERROR_R       / **/
3084  #define STRERROR_R_PROTO 0       /**/
3085  
3086  /* HAS_STRFTIME:
3087   *    This symbol, if defined, indicates that the strftime routine is
3088   *    available to do time formatting.
3089   */
3090  /*#define HAS_STRFTIME        / **/
3091  
3092  /* HAS_STRLCAT:
3093   *    This symbol, if defined, indicates that the strlcat () routine is
3094   *    available to do string concatenation.
3095   */
3096  /*#define HAS_STRLCAT        / **/
3097  
3098  /* HAS_STRLCPY:
3099   *    This symbol, if defined, indicates that the strlcpy () routine is
3100   *    available to do string copying.
3101   */
3102  /*#define HAS_STRLCPY        / **/
3103  
3104  /* HAS_STRTOLD:
3105   *    This symbol, if defined, indicates that the strtold routine is
3106   *    available to convert strings to long doubles.
3107   */
3108  /*#define HAS_STRTOLD        / **/
3109  
3110  /* HAS_STRTOLL:
3111   *    This symbol, if defined, indicates that the strtoll routine is
3112   *    available to convert strings to long longs.
3113   */
3114  /*#define HAS_STRTOLL        / **/
3115  
3116  /* HAS_STRTOQ:
3117   *    This symbol, if defined, indicates that the strtoq routine is
3118   *    available to convert strings to long longs (quads).
3119   */
3120  /*#define HAS_STRTOQ        / **/
3121  
3122  /* HAS_STRTOUL:
3123   *    This symbol, if defined, indicates that the strtoul routine is
3124   *    available to provide conversion of strings to unsigned long.
3125   */
3126  #define HAS_STRTOUL    /**/
3127  
3128  /* HAS_STRTOULL:
3129   *    This symbol, if defined, indicates that the strtoull routine is
3130   *    available to convert strings to unsigned long longs.
3131   */
3132  /*#define HAS_STRTOULL        / **/
3133  
3134  /* HAS_STRTOUQ:
3135   *    This symbol, if defined, indicates that the strtouq routine is
3136   *    available to convert strings to unsigned long longs (quads).
3137   */
3138  /*#define HAS_STRTOUQ        / **/
3139  
3140  /* HAS_SYSCALL_PROTO:
3141   *    This symbol, if defined, indicates that the system provides
3142   *    a prototype for the syscall() function.  Otherwise, it is up
3143   *    to the program to supply one.  Good guesses are
3144   *        extern int syscall(int,  ...);
3145   *        extern int syscall(long, ...);
3146   */
3147  /*#define    HAS_SYSCALL_PROTO    / **/
3148  
3149  /* HAS_TELLDIR_PROTO:
3150   *    This symbol, if defined, indicates that the system provides
3151   *    a prototype for the telldir() function.  Otherwise, it is up
3152   *    to the program to supply one.  A good guess is
3153   *        extern long telldir(DIR*);
3154   */
3155  /*#define    HAS_TELLDIR_PROTO    / **/
3156  
3157  /* HAS_TIME:
3158   *    This symbol, if defined, indicates that the time() routine exists.
3159   */
3160  /* Time_t:
3161   *    This symbol holds the type returned by time(). It can be long,
3162   *    or time_t on BSD sites (in which case <sys/types.h> should be
3163   *    included).
3164   */
3165  #define HAS_TIME        /**/
3166  #define Time_t time_t        /* Time type */
3167  
3168  /* HAS_TIMES:
3169   *    This symbol, if defined, indicates that the times() routine exists.
3170   *    Note that this became obsolete on some systems (SUNOS), which now
3171   * use getrusage(). It may be necessary to include <sys/times.h>.
3172   */
3173  /*#define HAS_TIMES        / **/
3174  
3175  /* HAS_TMPNAM_R:
3176   *    This symbol, if defined, indicates that the tmpnam_r routine
3177   *    is available to tmpnam re-entrantly.
3178   */
3179  /* TMPNAM_R_PROTO:
3180   *    This symbol encodes the prototype of tmpnam_r.
3181   *    It is zero if d_tmpnam_r is undef, and one of the
3182   *    REENTRANT_PROTO_T_ABC macros of reentr.h if d_tmpnam_r
3183   *    is defined.
3184   */
3185  /*#define HAS_TMPNAM_R       / **/
3186  #define TMPNAM_R_PROTO 0       /**/
3187  
3188  /* HAS_TTYNAME_R:
3189   *    This symbol, if defined, indicates that the ttyname_r routine
3190   *    is available to ttyname re-entrantly.
3191   */
3192  /* TTYNAME_R_PROTO:
3193   *    This symbol encodes the prototype of ttyname_r.
3194   *    It is zero if d_ttyname_r is undef, and one of the
3195   *    REENTRANT_PROTO_T_ABC macros of reentr.h if d_ttyname_r
3196   *    is defined.
3197   */
3198  /*#define HAS_TTYNAME_R       / **/
3199  #define TTYNAME_R_PROTO 0       /**/
3200  
3201  /* U32_ALIGNMENT_REQUIRED:
3202   *    This symbol, if defined, indicates that you must access
3203   *    character data through U32-aligned pointers.
3204   */
3205  #ifndef U32_ALIGNMENT_REQUIRED
3206  #define U32_ALIGNMENT_REQUIRED    /**/
3207  #endif
3208  
3209  /* HAS_UALARM:
3210   *    This symbol, if defined, indicates that the ualarm routine is
3211   *    available to do alarms with microsecond granularity.
3212   */
3213  /*#define HAS_UALARM        / **/
3214  
3215  /* HAS_UNION_SEMUN:
3216   *    This symbol, if defined, indicates that the union semun is
3217   *    defined by including <sys/sem.h>.  If not, the user code
3218   *    probably needs to define it as:
3219   *    union semun {
3220   *        int val;
3221   *        struct semid_ds *buf;
3222   *        unsigned short *array;
3223   *    }
3224   */
3225  /* USE_SEMCTL_SEMUN:
3226   *    This symbol, if defined, indicates that union semun is
3227   *    used for semctl IPC_STAT.
3228   */
3229  /* USE_SEMCTL_SEMID_DS:
3230   *    This symbol, if defined, indicates that struct semid_ds * is
3231   *    used for semctl IPC_STAT.
3232   */
3233  /*#define HAS_UNION_SEMUN    / **/
3234  /*#define USE_SEMCTL_SEMUN    / **/
3235  /*#define USE_SEMCTL_SEMID_DS    / **/
3236  
3237  /* HAS_UNORDERED:
3238   *    This symbol, if defined, indicates that the unordered routine is
3239   *    available to check whether two doubles are unordered
3240   *    (effectively: whether either of them is NaN)
3241   */
3242  /*#define HAS_UNORDERED        / **/
3243  
3244  /* HAS_UNSETENV:
3245   *    This symbol, if defined, indicates that the unsetenv () routine is
3246   *    available for use.
3247   */
3248  /*#define HAS_UNSETENV        / **/
3249  
3250  /* HAS_USLEEP_PROTO:
3251   *    This symbol, if defined, indicates that the system provides
3252   *    a prototype for the usleep() function.  Otherwise, it is up
3253   *    to the program to supply one.  A good guess is
3254   *        extern int usleep(useconds_t);
3255   */
3256  /*#define    HAS_USLEEP_PROTO    / **/
3257  
3258  /* HAS_USTAT:
3259   *    This symbol, if defined, indicates that the ustat system call is
3260   *    available to query file system statistics by dev_t.
3261   */
3262  /*#define HAS_USTAT        / **/
3263  
3264  /* HAS_VFORK:
3265   *    This symbol, if defined, indicates that vfork() exists.
3266   */
3267  /*#define HAS_VFORK    / **/
3268  
3269  /* Signal_t:
3270   *    This symbol's value is either "void" or "int", corresponding to the
3271   *    appropriate return type of a signal handler.  Thus, you can declare
3272   *    a signal handler using "Signal_t (*handler)()", and define the
3273   *    handler using "Signal_t handler(sig)".
3274   */
3275  #define Signal_t int    /* Signal handler's return type */
3276  
3277  /* HAS_VPRINTF:
3278   *    This symbol, if defined, indicates that the vprintf routine is available
3279   *    to printf with a pointer to an argument list.  If unavailable, you
3280   *    may need to write your own, probably in terms of _doprnt().
3281   */
3282  /* USE_CHAR_VSPRINTF:
3283   *    This symbol is defined if this system has vsprintf() returning type
3284   *    (char*).  The trend seems to be to declare it as "int vsprintf()".  It
3285   *    is up to the package author to declare vsprintf correctly based on the
3286   *    symbol.
3287   */
3288  #define HAS_VPRINTF    /**/
3289  /*#define USE_CHAR_VSPRINTF     / **/
3290  
3291  /* HAS_WRITEV:
3292   *    This symbol, if defined, indicates that the writev routine is
3293   *    available to do scatter writes.
3294   */
3295  /*#define HAS_WRITEV        / **/
3296  
3297  /* USE_DYNAMIC_LOADING:
3298   *    This symbol, if defined, indicates that dynamic loading of
3299   *    some sort is available.
3300   */
3301  /*#define USE_DYNAMIC_LOADING        / **/
3302  
3303  /* DOUBLESIZE:
3304   *    This symbol contains the size of a double, so that the C preprocessor
3305   *    can make decisions based on it.
3306   */
3307  #define DOUBLESIZE 8        /**/
3308  
3309  /* EBCDIC:
3310   *     This symbol, if defined, indicates that this system uses
3311   *    EBCDIC encoding.
3312   */
3313  /*#define    EBCDIC         / **/
3314  
3315  /* FFLUSH_NULL:
3316   *    This symbol, if defined, tells that fflush(NULL) does flush
3317   *    all pending stdio output.
3318   */
3319  /* FFLUSH_ALL:
3320   *    This symbol, if defined, tells that to flush
3321   *    all pending stdio output one must loop through all
3322   *    the stdio file handles stored in an array and fflush them.
3323   *    Note that if fflushNULL is defined, fflushall will not
3324   *    even be probed for and will be left undefined.
3325   */
3326  /*#define    FFLUSH_NULL         / **/
3327  /*#define    FFLUSH_ALL         / **/
3328  
3329  /* Fpos_t:
3330   *    This symbol holds the type used to declare file positions in libc.
3331   *    It can be fpos_t, long, uint, etc... It may be necessary to include
3332   *    <sys/types.h> to get any typedef'ed information.
3333   */
3334  #define Fpos_t int        /* File position type */
3335  
3336  /* Gid_t_f:
3337   *    This symbol defines the format string used for printing a Gid_t.
3338   */
3339  #define    Gid_t_f        "lu"        /**/
3340  
3341  /* Gid_t_sign:
3342   *    This symbol holds the signedess of a Gid_t.
3343   *    1 for unsigned, -1 for signed.
3344   */
3345  #define Gid_t_sign    1        /* GID sign */
3346  
3347  /* Gid_t_size:
3348   *    This symbol holds the size of a Gid_t in bytes.
3349   */
3350  #define Gid_t_size 4        /* GID size */
3351  
3352  /* Gid_t:
3353   *    This symbol holds the return type of getgid() and the type of
3354   *    argument to setrgid() and related functions.  Typically,
3355   *    it is the type of group ids in the kernel. It can be int, ushort,
3356   *    gid_t, etc... It may be necessary to include <sys/types.h> to get
3357   *    any typedef'ed information.
3358   */
3359  #define Gid_t int        /* Type for getgid(), etc... */
3360  
3361  /* Groups_t:
3362   *    This symbol holds the type used for the second argument to
3363   *    getgroups() and setgroups().  Usually, this is the same as
3364   *    gidtype (gid_t) , but sometimes it isn't.
3365   *    It can be int, ushort, gid_t, etc... 
3366   *    It may be necessary to include <sys/types.h> to get any 
3367   *    typedef'ed information.  This is only required if you have
3368   *    getgroups() or setgroups()..
3369   */
3370  #if defined(HAS_GETGROUPS) || defined(HAS_SETGROUPS)
3371  #define Groups_t int    /* Type for 2nd arg to [sg]etgroups() */
3372  #endif
3373  
3374  /* I_CRYPT:
3375   *    This symbol, if defined, indicates that <crypt.h> exists and
3376   *    should be included.
3377   */
3378  /*#define    I_CRYPT        / **/
3379  
3380  /* DB_Prefix_t:
3381   *    This symbol contains the type of the prefix structure element
3382   *    in the <db.h> header file.  In older versions of DB, it was
3383   *    int, while in newer ones it is u_int32_t.
3384   */
3385  /* DB_Hash_t:
3386   *    This symbol contains the type of the prefix structure element
3387   *    in the <db.h> header file.  In older versions of DB, it was
3388   *    int, while in newer ones it is size_t.
3389   */
3390  /* DB_VERSION_MAJOR_CFG:
3391   *    This symbol, if defined, defines the major version number of
3392   *    Berkeley DB found in the <db.h> header when Perl was configured.
3393   */
3394  /* DB_VERSION_MINOR_CFG:
3395   *    This symbol, if defined, defines the minor version number of
3396   *    Berkeley DB found in the <db.h> header when Perl was configured.
3397   *    For DB version 1 this is always 0.
3398   */
3399  /* DB_VERSION_PATCH_CFG:
3400   *    This symbol, if defined, defines the patch version number of
3401   *    Berkeley DB found in the <db.h> header when Perl was configured.
3402   *    For DB version 1 this is always 0.
3403   */
3404  #define DB_Hash_t    u_int32_t        /**/
3405  #define DB_Prefix_t    size_t      /**/
3406  #define DB_VERSION_MAJOR_CFG          /**/
3407  #define DB_VERSION_MINOR_CFG          /**/
3408  #define DB_VERSION_PATCH_CFG          /**/
3409  
3410  /* I_FP:
3411   *    This symbol, if defined, indicates that <fp.h> exists and
3412   *    should be included.
3413   */
3414  /*#define    I_FP        / **/
3415  
3416  /* I_FP_CLASS:
3417   *    This symbol, if defined, indicates that <fp_class.h> exists and
3418   *    should be included.
3419   */
3420  /*#define    I_FP_CLASS        / **/
3421  
3422  /* I_GRP:
3423   *    This symbol, if defined, indicates to the C program that it should
3424   *    include <grp.h>.
3425   */
3426  /* GRPASSWD:
3427   *    This symbol, if defined, indicates to the C program that struct group
3428   *    in <grp.h> contains gr_passwd.
3429   */
3430  /*#define I_GRP        / **/
3431  /*#define GRPASSWD    / **/
3432  
3433  /* I_IEEEFP:
3434   *    This symbol, if defined, indicates that <ieeefp.h> exists and
3435   *    should be included.
3436   */
3437  /*#define    I_IEEEFP        / **/
3438  
3439  /* I_INTTYPES:
3440   *     This symbol, if defined, indicates to the C program that it should
3441   *     include <inttypes.h>.
3442   */
3443  /*#define   I_INTTYPES                / **/
3444  
3445  /* I_LANGINFO:
3446   *    This symbol, if defined, indicates that <langinfo.h> exists and
3447   *    should be included.
3448   */
3449  /*#define    I_LANGINFO        / **/
3450  
3451  /* I_LIBUTIL:
3452   *    This symbol, if defined, indicates that <libutil.h> exists and
3453   *    should be included.
3454   */
3455  /*#define    I_LIBUTIL        / **/
3456  
3457  /* I_MACH_CTHREADS:
3458   *     This symbol, if defined, indicates to the C program that it should
3459   *     include <mach/cthreads.h>.
3460   */
3461  /*#define   I_MACH_CTHREADS    / **/
3462  
3463  /* I_MNTENT:
3464   *    This symbol, if defined, indicates that <mntent.h> exists and
3465   *    should be included.
3466   */
3467  /*#define    I_MNTENT        / **/
3468  
3469  /* I_NDBM:
3470   *    This symbol, if defined, indicates that <ndbm.h> exists and should
3471   *    be included.
3472   */
3473  /*#define I_NDBM    / **/
3474  
3475  /* I_NETDB:
3476   *    This symbol, if defined, indicates that <netdb.h> exists and
3477   *    should be included.
3478   */
3479  /*#define I_NETDB        / **/
3480  
3481  /* I_NETINET_TCP:
3482   *     This symbol, if defined, indicates to the C program that it should
3483   *     include <netinet/tcp.h>.
3484   */
3485  /*#define   I_NETINET_TCP                / **/
3486  
3487  /* I_POLL:
3488   *    This symbol, if defined, indicates that <poll.h> exists and
3489   *    should be included. (see also HAS_POLL)
3490   */
3491  /*#define    I_POLL        / **/
3492  
3493  /* I_PROT:
3494   *    This symbol, if defined, indicates that <prot.h> exists and
3495   *    should be included.
3496   */
3497  /*#define    I_PROT        / **/
3498  
3499  /* I_PTHREAD:
3500   *     This symbol, if defined, indicates to the C program that it should
3501   *     include <pthread.h>.
3502   */
3503  /*#define   I_PTHREAD    / **/
3504  
3505  /* I_PWD:
3506   *    This symbol, if defined, indicates to the C program that it should
3507   *    include <pwd.h>.
3508   */
3509  /* PWQUOTA:
3510   *    This symbol, if defined, indicates to the C program that struct passwd
3511   *    contains pw_quota.
3512   */
3513  /* PWAGE:
3514   *    This symbol, if defined, indicates to the C program that struct passwd
3515   *    contains pw_age.
3516   */
3517  /* PWCHANGE:
3518   *    This symbol, if defined, indicates to the C program that struct passwd
3519   *    contains pw_change.
3520   */
3521  /* PWCLASS:
3522   *    This symbol, if defined, indicates to the C program that struct passwd
3523   *    contains pw_class.
3524   */
3525  /* PWEXPIRE:
3526   *    This symbol, if defined, indicates to the C program that struct passwd
3527   *    contains pw_expire.
3528   */
3529  /* PWCOMMENT:
3530   *    This symbol, if defined, indicates to the C program that struct passwd
3531   *    contains pw_comment.
3532   */
3533  /* PWGECOS:
3534   *    This symbol, if defined, indicates to the C program that struct passwd
3535   *    contains pw_gecos.
3536   */
3537  /* PWPASSWD:
3538   *    This symbol, if defined, indicates to the C program that struct passwd
3539   *    contains pw_passwd.
3540   */
3541  /*#define I_PWD        / **/
3542  /*#define PWQUOTA    / **/
3543  /*#define PWAGE    / **/
3544  /*#define PWCHANGE    / **/
3545  /*#define PWCLASS    / **/
3546  /*#define PWEXPIRE    / **/
3547  /*#define PWCOMMENT    / **/
3548  /*#define PWGECOS    / **/
3549  /*#define PWPASSWD    / **/
3550  
3551  /* I_SHADOW:
3552   *    This symbol, if defined, indicates that <shadow.h> exists and
3553   *    should be included.
3554   */
3555  /*#define    I_SHADOW        / **/
3556  
3557  /* I_SOCKS:
3558   *    This symbol, if defined, indicates that <socks.h> exists and
3559   *    should be included.
3560   */
3561  /*#define    I_SOCKS        / **/
3562  
3563  /* I_SUNMATH:
3564   *    This symbol, if defined, indicates that <sunmath.h> exists and
3565   *    should be included.
3566   */
3567  /*#define    I_SUNMATH        / **/
3568  
3569  /* I_SYSLOG:
3570   *    This symbol, if defined, indicates that <syslog.h> exists and
3571   *    should be included.
3572   */
3573  /*#define    I_SYSLOG        / **/
3574  
3575  /* I_SYSMODE:
3576   *    This symbol, if defined, indicates that <sys/mode.h> exists and
3577   *    should be included.
3578   */
3579  /*#define    I_SYSMODE        / **/
3580  
3581  /* I_SYS_MOUNT:
3582   *    This symbol, if defined, indicates that <sys/mount.h> exists and
3583   *    should be included.
3584   */
3585  /*#define    I_SYS_MOUNT        / **/
3586  
3587  /* I_SYS_STATFS:
3588   *    This symbol, if defined, indicates that <sys/statfs.h> exists.
3589   */
3590  /*#define    I_SYS_STATFS        / **/
3591  
3592  /* I_SYS_STATVFS:
3593   *    This symbol, if defined, indicates that <sys/statvfs.h> exists and
3594   *    should be included.
3595   */
3596  /*#define    I_SYS_STATVFS        / **/
3597  
3598  /* I_SYSUIO:
3599   *    This symbol, if defined, indicates that <sys/uio.h> exists and
3600   *    should be included.
3601   */
3602  /*#define    I_SYSUIO        / **/
3603  
3604  /* I_SYSUTSNAME:
3605   *    This symbol, if defined, indicates that <sys/utsname.h> exists and
3606   *    should be included.
3607   */
3608  /*#define    I_SYSUTSNAME        / **/
3609  
3610  /* I_SYS_VFS:
3611   *    This symbol, if defined, indicates that <sys/vfs.h> exists and
3612   *    should be included.
3613   */
3614  /*#define    I_SYS_VFS        / **/
3615  
3616  /* I_TIME:
3617   *    This symbol, if defined, indicates to the C program that it should
3618   *    include <time.h>.
3619   */
3620  /* I_SYS_TIME:
3621   *    This symbol, if defined, indicates to the C program that it should
3622   *    include <sys/time.h>.
3623   */
3624  /* I_SYS_TIME_KERNEL:
3625   *    This symbol, if defined, indicates to the C program that it should
3626   *    include <sys/time.h> with KERNEL defined.
3627   */
3628  /* HAS_TM_TM_ZONE:
3629   *    This symbol, if defined, indicates to the C program that
3630   *    the struct tm has a tm_zone field.
3631   */
3632  /* HAS_TM_TM_GMTOFF:
3633   *    This symbol, if defined, indicates to the C program that
3634   *    the struct tm has a tm_gmtoff field.
3635   */
3636  #define I_TIME        /**/
3637  /*#define I_SYS_TIME        / **/
3638  /*#define I_SYS_TIME_KERNEL        / **/
3639  /*#define HAS_TM_TM_ZONE        / **/
3640  /*#define HAS_TM_TM_GMTOFF        / **/
3641  
3642  /* I_USTAT:
3643   *    This symbol, if defined, indicates that <ustat.h> exists and
3644   *    should be included.
3645   */
3646  /*#define    I_USTAT        / **/
3647  
3648  /* I_STDARG:
3649   *    This symbol, if defined, indicates that <stdarg.h> exists and should
3650   *    be included.
3651   */
3652  /* I_VARARGS:
3653   *    This symbol, if defined, indicates to the C program that it should
3654   *    include <varargs.h>.
3655   */
3656  #define I_STDARG        /**/
3657  /*#define I_VARARGS    / **/
3658  
3659  /* PERL_INC_VERSION_LIST:
3660   *    This variable specifies the list of subdirectories in over
3661   *    which perl.c:incpush() and lib/lib.pm will automatically
3662   *    search when adding directories to @INC, in a format suitable
3663   *    for a C initialization string.  See the inc_version_list entry
3664   *    in Porting/Glossary for more details.
3665   */
3666  /*#define PERL_INC_VERSION_LIST NULL        / **/
3667  
3668  /* INSTALL_USR_BIN_PERL:
3669   *    This symbol, if defined, indicates that Perl is to be installed
3670   *     also as /usr/bin/perl.
3671   */
3672  /*#define INSTALL_USR_BIN_PERL    / **/
3673  
3674  /* PERL_PRIfldbl:
3675   *    This symbol, if defined, contains the string used by stdio to
3676   *    format long doubles (format 'f') for output.
3677   */
3678  /* PERL_PRIgldbl:
3679   *    This symbol, if defined, contains the string used by stdio to
3680   *    format long doubles (format 'g') for output.
3681   */
3682  /* PERL_PRIeldbl:
3683   *    This symbol, if defined, contains the string used by stdio to
3684   *    format long doubles (format 'e') for output.
3685   */
3686  /* PERL_SCNfldbl:
3687   *    This symbol, if defined, contains the string used by stdio to
3688   *    format long doubles (format 'f') for input.
3689   */
3690  /*#define PERL_PRIfldbl    "llf"    / **/
3691  /*#define PERL_PRIgldbl    "llg"    / **/
3692  /*#define PERL_PRIeldbl    "lle"    / **/
3693  /*#define PERL_SCNfldbl    "llf"    / **/
3694  
3695  /* Off_t:
3696   *    This symbol holds the type used to declare offsets in the kernel.
3697   *    It can be int, long, off_t, etc... It may be necessary to include
3698   *    <sys/types.h> to get any typedef'ed information.
3699   */
3700  /* LSEEKSIZE:
3701   *    This symbol holds the number of bytes used by the Off_t.
3702   */
3703  /* Off_t_size:
3704   *    This symbol holds the number of bytes used by the Off_t.
3705   */
3706  #define Off_t int        /* <offset> type */
3707  #define LSEEKSIZE 4        /* <offset> size */
3708  #define Off_t_size 4    /* <offset> size */
3709  
3710  /* PERL_MAD:
3711   *    This symbol, if defined, indicates that the Misc Attribution
3712   *    Declaration code should be conditionally compiled.
3713   */
3714  /*#define    PERL_MAD        / **/
3715  
3716  /* Free_t:
3717   *    This variable contains the return type of free().  It is usually
3718   * void, but occasionally int.
3719   */
3720  /* Malloc_t:
3721   *    This symbol is the type of pointer returned by malloc and realloc.
3722   */
3723  #define Malloc_t void *            /**/
3724  #define Free_t void            /**/
3725  
3726  /* PERL_MALLOC_WRAP:
3727   *    This symbol, if defined, indicates that we'd like malloc wrap checks.
3728   */
3729  /*#define PERL_MALLOC_WRAP        / **/
3730  
3731  /* MYMALLOC:
3732   *    This symbol, if defined, indicates that we're using our own malloc.
3733   */
3734  /*#define MYMALLOC            / **/
3735  
3736  /* Mode_t:
3737   *    This symbol holds the type used to declare file modes 
3738   *    for systems calls.  It is usually mode_t, but may be
3739   *    int or unsigned short.  It may be necessary to include <sys/types.h>
3740   *    to get any typedef'ed information.
3741   */
3742  #define Mode_t int     /* file mode parameter for system calls */
3743  
3744  /* VAL_O_NONBLOCK:
3745   *    This symbol is to be used during open() or fcntl(F_SETFL) to turn on
3746   *    non-blocking I/O for the file descriptor. Note that there is no way
3747   *    back, i.e. you cannot turn it blocking again this way. If you wish to
3748   *    alternatively switch between blocking and non-blocking, use the
3749   *    ioctl(FIOSNBIO) call instead, but that is not supported by all devices.
3750   */
3751  /* VAL_EAGAIN:
3752   *    This symbol holds the errno error code set by read() when no data was
3753   *    present on the non-blocking file descriptor.
3754   */
3755  /* RD_NODATA:
3756   *    This symbol holds the return code from read() when no data is present
3757   *    on the non-blocking file descriptor. Be careful! If EOF_NONBLOCK is
3758   *    not defined, then you can't distinguish between no data and EOF by
3759   *    issuing a read(). You'll have to find another way to tell for sure!
3760   */
3761  /* EOF_NONBLOCK:
3762   *    This symbol, if defined, indicates to the C program that a read() on
3763   *    a non-blocking file descriptor will return 0 on EOF, and not the value
3764   *    held in RD_NODATA (-1 usually, in that case!).
3765   */
3766  #define VAL_O_NONBLOCK O_NONBLOCK
3767  #define VAL_EAGAIN EAGAIN
3768  #define RD_NODATA -1
3769  #undef EOF_NONBLOCK
3770  
3771  /* NEED_VA_COPY:
3772   *    This symbol, if defined, indicates that the system stores
3773   *    the variable argument list datatype, va_list, in a format
3774   *    that cannot be copied by simple assignment, so that some
3775   *    other means must be used when copying is required.
3776   *    As such systems vary in their provision (or non-provision)
3777   *    of copying mechanisms, handy.h defines a platform-
3778   *    independent macro, Perl_va_copy(src, dst), to do the job.
3779   */
3780  /*#define    NEED_VA_COPY        / **/
3781  
3782  /* Netdb_host_t:
3783   *    This symbol holds the type used for the 1st argument
3784   *    to gethostbyaddr().
3785   */
3786  /* Netdb_hlen_t:
3787   *    This symbol holds the type used for the 2nd argument
3788   *    to gethostbyaddr().
3789   */
3790  /* Netdb_name_t:
3791   *    This symbol holds the type used for the argument to
3792   *    gethostbyname().
3793   */
3794  /* Netdb_net_t:
3795   *    This symbol holds the type used for the 1st argument to
3796   *    getnetbyaddr().
3797   */
3798  #define Netdb_host_t        const char * /**/
3799  #define Netdb_hlen_t        int /**/
3800  #define Netdb_name_t        const char * /**/
3801  #define Netdb_net_t        unsigned long /**/
3802  
3803  /* PERL_OTHERLIBDIRS:
3804   *    This variable contains a colon-separated set of paths for the perl
3805   *    binary to search for additional library files or modules.
3806   *    These directories will be tacked to the end of @INC.
3807   *    Perl will automatically search below each path for version-
3808   *    and architecture-specific directories.  See PERL_INC_VERSION_LIST
3809   *    for more details.
3810   */
3811  /*#define PERL_OTHERLIBDIRS ""        / **/
3812  
3813  /* HAS_QUAD:
3814   *    This symbol, if defined, tells that there's a 64-bit integer type,
3815   *    Quad_t, and its unsigned counterpar, Uquad_t. QUADKIND will be one
3816   *    of QUAD_IS_INT, QUAD_IS_LONG, QUAD_IS_LONG_LONG, or QUAD_IS_INT64_T.
3817   */
3818  /*#define HAS_QUAD    / **/
3819  #ifdef HAS_QUAD
3820  #   define Quad_t int64_t    /**/
3821  #   define Uquad_t uint64_t    /**/
3822  #   define QUADKIND 4    /**/
3823  #   define QUAD_IS_INT    1
3824  #   define QUAD_IS_LONG    2
3825  #   define QUAD_IS_LONG_LONG    3
3826  #   define QUAD_IS_INT64_T    4
3827  #endif
3828  
3829  /* IVTYPE:
3830   *    This symbol defines the C type used for Perl's IV.
3831   */
3832  /* UVTYPE:
3833   *    This symbol defines the C type used for Perl's UV.
3834   */
3835  /* I8TYPE:
3836   *    This symbol defines the C type used for Perl's I8.
3837   */
3838  /* U8TYPE:
3839   *    This symbol defines the C type used for Perl's U8.
3840   */
3841  /* I16TYPE:
3842   *    This symbol defines the C type used for Perl's I16.
3843   */
3844  /* U16TYPE:
3845   *    This symbol defines the C type used for Perl's U16.
3846   */
3847  /* I32TYPE:
3848   *    This symbol defines the C type used for Perl's I32.
3849   */
3850  /* U32TYPE:
3851   *    This symbol defines the C type used for Perl's U32.
3852   */
3853  /* I64TYPE:
3854   *    This symbol defines the C type used for Perl's I64.
3855   */
3856  /* U64TYPE:
3857   *    This symbol defines the C type used for Perl's U64.
3858   */
3859  /* NVTYPE:
3860   *    This symbol defines the C type used for Perl's NV.
3861   */
3862  /* IVSIZE:
3863   *    This symbol contains the sizeof(IV).
3864   */
3865  /* UVSIZE:
3866   *    This symbol contains the sizeof(UV).
3867   */
3868  /* I8SIZE:
3869   *    This symbol contains the sizeof(I8).
3870   */
3871  /* U8SIZE:
3872   *    This symbol contains the sizeof(U8).
3873   */
3874  /* I16SIZE:
3875   *    This symbol contains the sizeof(I16).
3876   */
3877  /* U16SIZE:
3878   *    This symbol contains the sizeof(U16).
3879   */
3880  /* I32SIZE:
3881   *    This symbol contains the sizeof(I32).
3882   */
3883  /* U32SIZE:
3884   *    This symbol contains the sizeof(U32).
3885   */
3886  /* I64SIZE:
3887   *    This symbol contains the sizeof(I64).
3888   */
3889  /* U64SIZE:
3890   *    This symbol contains the sizeof(U64).
3891   */
3892  /* NVSIZE:
3893   *    This symbol contains the sizeof(NV).
3894   */
3895  /* NV_PRESERVES_UV:
3896   *    This symbol, if defined, indicates that a variable of type NVTYPE
3897   *    can preserve all the bits of a variable of type UVTYPE.
3898   */
3899  /* NV_PRESERVES_UV_BITS:
3900   *    This symbol contains the number of bits a variable of type NVTYPE
3901   *    can preserve of a variable of type UVTYPE.
3902   */
3903  /* NV_ZERO_IS_ALLBITS_ZERO:
3904   *    This symbol, if defined, indicates that a variable of type NVTYPE
3905   *    stores 0.0 in memory as all bits zero.
3906   */
3907  #define    IVTYPE        long        /**/
3908  #define    UVTYPE        unsigned long        /**/
3909  #define    I8TYPE        char        /**/
3910  #define    U8TYPE        unsigned char        /**/
3911  #define    I16TYPE        short    /**/
3912  #define    U16TYPE        unsigned short    /**/
3913  #define    I32TYPE        long    /**/
3914  #define    U32TYPE        unsigned long    /**/
3915  #ifdef HAS_QUAD
3916  #define    I64TYPE        int64_t    /**/
3917  #define    U64TYPE        uint64_t    /**/
3918  #endif
3919  #define    NVTYPE        double        /**/
3920  #define    IVSIZE        4        /**/
3921  #define    UVSIZE        4        /**/
3922  #define    I8SIZE        1        /**/
3923  #define    U8SIZE        1        /**/
3924  #define    I16SIZE        2    /**/
3925  #define    U16SIZE        2    /**/
3926  #define    I32SIZE        4    /**/
3927  #define    U32SIZE        4    /**/
3928  #ifdef HAS_QUAD
3929  #define    I64SIZE        8    /**/
3930  #define    U64SIZE        8    /**/
3931  #endif
3932  #define    NVSIZE        8        /**/
3933  #undef    NV_PRESERVES_UV
3934  #define    NV_PRESERVES_UV_BITS    0
3935  #undef    NV_ZERO_IS_ALLBITS_ZERO
3936  #if UVSIZE == 8
3937  #   ifdef BYTEORDER
3938  #       if BYTEORDER == 0x1234
3939  #           undef BYTEORDER
3940  #           define BYTEORDER 0x12345678
3941  #       else
3942  #           if BYTEORDER == 0x4321
3943  #               undef BYTEORDER
3944  #               define BYTEORDER 0x87654321
3945  #           endif
3946  #       endif
3947  #   endif
3948  #endif
3949  
3950  /* IVdf:
3951   *    This symbol defines the format string used for printing a Perl IV
3952   *    as a signed decimal integer.
3953   */
3954  /* UVuf:
3955   *    This symbol defines the format string used for printing a Perl UV
3956   *    as an unsigned decimal integer.
3957   */
3958  /* UVof:
3959   *    This symbol defines the format string used for printing a Perl UV
3960   *    as an unsigned octal integer.
3961   */
3962  /* UVxf:
3963   *    This symbol defines the format string used for printing a Perl UV
3964   *    as an unsigned hexadecimal integer in lowercase abcdef.
3965   */
3966  /* UVXf:
3967   *    This symbol defines the format string used for printing a Perl UV
3968   *    as an unsigned hexadecimal integer in uppercase ABCDEF.
3969   */
3970  /* NVef:
3971   *    This symbol defines the format string used for printing a Perl NV
3972   *    using %e-ish floating point format.
3973   */
3974  /* NVff:
3975   *    This symbol defines the format string used for printing a Perl NV
3976   *    using %f-ish floating point format.
3977   */
3978  /* NVgf:
3979   *    This symbol defines the format string used for printing a Perl NV
3980   *    using %g-ish floating point format.
3981   */
3982  #define    IVdf        "ld"        /**/
3983  #define    UVuf        "lu"        /**/
3984  #define    UVof        "lo"        /**/
3985  #define    UVxf        "lx"        /**/
3986  #define    UVXf        "lX"        /**/
3987  #define    NVef        "e"        /**/
3988  #define    NVff        "f"        /**/
3989  #define    NVgf        "g"        /**/
3990  
3991  /* Pid_t:
3992   *    This symbol holds the type used to declare process ids in the kernel.
3993   *    It can be int, uint, pid_t, etc... It may be necessary to include
3994   *    <sys/types.h> to get any typedef'ed information.
3995   */
3996  #define Pid_t int        /* PID type */
3997  
3998  /* PRIVLIB:
3999   *    This symbol contains the name of the private library for this package.
4000   *    The library is private in the sense that it needn't be in anyone's
4001   *    execution path, but it should be accessible by the world.  The program
4002   *    should be prepared to do ~ expansion.
4003   */
4004  /* PRIVLIB_EXP:
4005   *    This symbol contains the ~name expanded version of PRIVLIB, to be used
4006   *    in programs that are not prepared to deal with ~ expansion at run-time.
4007   */
4008  #define PRIVLIB "/usr/local/lib/perl5/5.9"        /**/
4009  #define PRIVLIB_EXP "/usr/local/lib/perl5/5.9"        /**/
4010  
4011  /* CAN_PROTOTYPE:
4012   *    If defined, this macro indicates that the C compiler can handle
4013   *    function prototypes.
4014   */
4015  /* _:
4016   *    This macro is used to declare function parameters for folks who want
4017   *    to make declarations with prototypes using a different style than
4018   *    the above macros.  Use double parentheses.  For example:
4019   *
4020   *        int main _((int argc, char *argv[]));
4021   */
4022  /*#define    CAN_PROTOTYPE    / **/
4023  #ifdef CAN_PROTOTYPE
4024  #define    _(args) args
4025  #else
4026  #define    _(args) ()
4027  #endif
4028  
4029  /* PTRSIZE:
4030   *    This symbol contains the size of a pointer, so that the C preprocessor
4031   *    can make decisions based on it.  It will be sizeof(void *) if
4032   *    the compiler supports (void *); otherwise it will be
4033   *    sizeof(char *).
4034   */
4035  #define PTRSIZE 4        /**/
4036  
4037  /* Drand01:
4038   *    This macro is to be used to generate uniformly distributed
4039   *    random numbers over the range [0., 1.[.  You may have to supply
4040   *    an 'extern double drand48();' in your program since SunOS 4.1.3
4041   *    doesn't provide you with anything relevant in its headers.
4042   *    See HAS_DRAND48_PROTO.
4043   */
4044  /* Rand_seed_t:
4045   *    This symbol defines the type of the argument of the
4046   *    random seed function.
4047   */
4048  /* seedDrand01:
4049   *    This symbol defines the macro to be used in seeding the
4050   *    random number generator (see Drand01).
4051   */
4052  /* RANDBITS:
4053   *    This symbol indicates how many bits are produced by the
4054   *    function used to generate normalized random numbers.
4055   *    Values include 15, 16, 31, and 48.
4056   */
4057  #define Drand01()        ((rand() & 0x7FFF) / (double) ((unsigned long)1 << 15))        /**/
4058  #define Rand_seed_t        int        /**/
4059  #define seedDrand01(x)    srand((Rand_seed_t)x)    /**/
4060  #define RANDBITS        48        /**/
4061  
4062  /* SELECT_MIN_BITS:
4063   *    This symbol holds the minimum number of bits operated by select.
4064   *    That is, if you do select(n, ...), how many bits at least will be
4065   *    cleared in the masks if some activity is detected.  Usually this
4066   *    is either n or 32*ceil(n/32), especially many little-endians do
4067   *    the latter.  This is only useful if you have select(), naturally.
4068   */
4069  #define SELECT_MIN_BITS     32    /**/
4070  
4071  /* Select_fd_set_t:
4072   *    This symbol holds the type used for the 2nd, 3rd, and 4th
4073   *    arguments to select.  Usually, this is 'fd_set *', if HAS_FD_SET
4074   *    is defined, and 'int *' otherwise.  This is only useful if you 
4075   *    have select(), of course.
4076   */
4077  #define Select_fd_set_t     int    /**/
4078  
4079  /* SH_PATH:
4080   *    This symbol contains the full pathname to the shell used on this
4081   *    on this system to execute Bourne shell scripts.  Usually, this will be
4082   *    /bin/sh, though it's possible that some systems will have /bin/ksh,
4083   *    /bin/pdksh, /bin/ash, /bin/bash, or even something such as
4084   *    D:/bin/sh.exe.
4085   */
4086  #define SH_PATH ""  /**/
4087  
4088  /* SIG_NAME:
4089   *    This symbol contains a list of signal names in order of
4090   *    signal number. This is intended
4091   *    to be used as a static array initialization, like this:
4092   *        char *sig_name[] = { SIG_NAME };
4093   *    The signals in the list are separated with commas, and each signal
4094   *    is surrounded by double quotes. There is no leading SIG in the signal
4095   *    name, i.e. SIGQUIT is known as "QUIT".
4096   *    Gaps in the signal numbers (up to NSIG) are filled in with NUMnn,
4097   *    etc., where nn is the actual signal number (e.g. NUM37).
4098   *    The signal number for sig_name[i] is stored in sig_num[i].
4099   *    The last element is 0 to terminate the list with a NULL.  This
4100   *    corresponds to the 0 at the end of the sig_name_init list.
4101   *    Note that this variable is initialized from the sig_name_init,
4102   *    not from sig_name (which is unused).
4103   */
4104  /* SIG_NUM:
4105   *    This symbol contains a list of signal numbers, in the same order as the
4106   *    SIG_NAME list. It is suitable for static array initialization, as in:
4107   *        int sig_num[] = { SIG_NUM };
4108   *    The signals in the list are separated with commas, and the indices
4109   *    within that list and the SIG_NAME list match, so it's easy to compute
4110   *    the signal name from a number or vice versa at the price of a small
4111   *    dynamic linear lookup. 
4112   *    Duplicates are allowed, but are moved to the end of the list.
4113   *    The signal number corresponding to sig_name[i] is sig_number[i].
4114   *    if (i < NSIG) then sig_number[i] == i.  
4115   *    The last element is 0, corresponding to the 0 at the end of
4116   *    the sig_name_init list.
4117   *    Note that this variable is initialized from the sig_num_init,
4118   *    not from sig_num (which is unused).
4119   */
4120  /* SIG_SIZE:
4121   *    This variable contains the number of elements of the SIG_NAME
4122   *    and SIG_NUM arrays, excluding the final NULL entry.
4123   */
4124  #define SIG_NAME 0        /**/
4125  #define SIG_NUM  0        /**/
4126  #define SIG_SIZE 1            /**/
4127  
4128  /* SITEARCH:
4129   *    This symbol contains the name of the private library for this package.
4130   *    The library is private in the sense that it needn't be in anyone's
4131   *    execution path, but it should be accessible by the world.  The program
4132   *    should be prepared to do ~ expansion.
4133   *    The standard distribution will put nothing in this directory.
4134   *    After perl has been installed, users may install their own local
4135   *    architecture-dependent modules in this directory with
4136   *        MakeMaker Makefile.PL
4137   *    or equivalent.  See INSTALL for details.
4138   */
4139  /* SITEARCH_EXP:
4140   *    This symbol contains the ~name expanded version of SITEARCH, to be used
4141   *    in programs that are not prepared to deal with ~ expansion at run-time.
4142   */
4143  /*#define SITEARCH ""        / **/
4144  /*#define SITEARCH_EXP ""        / **/
4145  
4146  /* SITELIB:
4147   *    This symbol contains the name of the private library for this package.
4148   *    The library is private in the sense that it needn't be in anyone's
4149   *    execution path, but it should be accessible by the world.  The program
4150   *    should be prepared to do ~ expansion.
4151   *    The standard distribution will put nothing in this directory.
4152   *    After perl has been installed, users may install their own local
4153   *    architecture-independent modules in this directory with
4154   *        MakeMaker Makefile.PL
4155   *    or equivalent.  See INSTALL for details.
4156   */
4157  /* SITELIB_EXP:
4158   *    This symbol contains the ~name expanded version of SITELIB, to be used
4159   *    in programs that are not prepared to deal with ~ expansion at run-time.
4160   */
4161  /* SITELIB_STEM:
4162   *    This define is SITELIB_EXP with any trailing version-specific component
4163   *    removed.  The elements in inc_version_list (inc_version_list.U) can
4164   *    be tacked onto this variable to generate a list of directories to search.
4165   */
4166  #define SITELIB ""        /**/
4167  #define SITELIB_EXP ""        /**/
4168  #define SITELIB_STEM ""        /**/
4169  
4170  /* Size_t_size:
4171   *    This symbol holds the size of a Size_t in bytes.
4172   */
4173  #define Size_t_size 4        /* */
4174  
4175  /* Size_t:
4176   *    This symbol holds the type used to declare length parameters
4177   *    for string functions.  It is usually size_t, but may be
4178   *    unsigned long, int, etc.  It may be necessary to include
4179   *    <sys/types.h> to get any typedef'ed information.
4180   */
4181  #define Size_t size_t     /* length paramater for string functions */
4182  
4183  /* Sock_size_t:
4184   *    This symbol holds the type used for the size argument of
4185   *    various socket calls (just the base type, not the pointer-to).
4186   */
4187  #define Sock_size_t        int /**/
4188  
4189  /* SSize_t:
4190   *    This symbol holds the type used by functions that return
4191   *    a count of bytes or an error condition.  It must be a signed type.
4192   *    It is usually ssize_t, but may be long or int, etc.
4193   *    It may be necessary to include <sys/types.h> or <unistd.h>
4194   *    to get any typedef'ed information.
4195   *    We will pick a type such that sizeof(SSize_t) == sizeof(Size_t).
4196   */
4197  #define SSize_t int     /* signed count of bytes */
4198  
4199  /* STARTPERL:
4200   *    This variable contains the string to put in front of a perl
4201   *    script to make sure (one hopes) that it runs with perl and not
4202   *    some shell.
4203   */
4204  #define STARTPERL ""        /**/
4205  
4206  /* STDCHAR:
4207   *    This symbol is defined to be the type of char used in stdio.h.
4208   *    It has the values "unsigned char" or "char".
4209   */
4210  #define STDCHAR char    /**/
4211  
4212  /* HAS_STDIO_STREAM_ARRAY:
4213   *    This symbol, if defined, tells that there is an array
4214   *    holding the stdio streams.
4215   */
4216  /* STDIO_STREAM_ARRAY:
4217   *    This symbol tells the name of the array holding the stdio streams.
4218   *    Usual values include _iob, __iob, and __sF.
4219   */
4220  /*#define    HAS_STDIO_STREAM_ARRAY    / **/
4221  #define STDIO_STREAM_ARRAY    
4222  
4223  /* Uid_t_f:
4224   *    This symbol defines the format string used for printing a Uid_t.
4225   */
4226  #define    Uid_t_f        "lu"        /**/
4227  
4228  /* Uid_t_sign:
4229   *    This symbol holds the signedess of a Uid_t.
4230   *    1 for unsigned, -1 for signed.
4231   */
4232  #define Uid_t_sign    1        /* UID sign */
4233  
4234  /* Uid_t_size:
4235   *    This symbol holds the size of a Uid_t in bytes.
4236   */
4237  #define Uid_t_size 4        /* UID size */
4238  
4239  /* Uid_t:
4240   *    This symbol holds the type used to declare user ids in the kernel.
4241   *    It can be int, ushort, uid_t, etc... It may be necessary to include
4242   *    <sys/types.h> to get any typedef'ed information.
4243   */
4244  #define Uid_t int        /* UID type */
4245  
4246  /* USE_64_BIT_INT:
4247   *    This symbol, if defined, indicates that 64-bit integers should
4248   *    be used when available.  If not defined, the native integers
4249   *    will be employed (be they 32 or 64 bits).  The minimal possible
4250   *    64-bitness is used, just enough to get 64-bit integers into Perl.
4251   *    This may mean using for example "long longs", while your memory
4252   *    may still be limited to 2 gigabytes.
4253   */
4254  /* USE_64_BIT_ALL:
4255   *    This symbol, if defined, indicates that 64-bit integers should
4256   *    be used when available.  If not defined, the native integers
4257   *    will be used (be they 32 or 64 bits).  The maximal possible
4258   *    64-bitness is employed: LP64 or ILP64, meaning that you will
4259   *    be able to use more than 2 gigabytes of memory.  This mode is
4260   *    even more binary incompatible than USE_64_BIT_INT. You may not
4261   *    be able to run the resulting executable in a 32-bit CPU at all or
4262   *    you may need at least to reboot your OS to 64-bit mode.
4263   */
4264  #ifndef USE_64_BIT_INT
4265  /*#define    USE_64_BIT_INT        / **/
4266  #endif
4267  
4268  #ifndef USE_64_BIT_ALL
4269  /*#define    USE_64_BIT_ALL        / **/
4270  #endif
4271  
4272  /* USE_FAST_STDIO:
4273   *    This symbol, if defined, indicates that Perl should
4274   *    be built to use 'fast stdio'.
4275   *    Defaults to define in Perls 5.8 and earlier, to undef later.
4276   */
4277  #ifndef USE_FAST_STDIO
4278  /*#define    USE_FAST_STDIO        / **/
4279  #endif
4280  
4281  /* USE_LARGE_FILES:
4282   *    This symbol, if defined, indicates that large file support
4283   *    should be used when available.
4284   */
4285  #ifndef USE_LARGE_FILES
4286  /*#define    USE_LARGE_FILES        / **/
4287  #endif
4288  
4289  /* USE_LONG_DOUBLE:
4290   *    This symbol, if defined, indicates that long doubles should
4291   *    be used when available.
4292   */
4293  #ifndef USE_LONG_DOUBLE
4294  /*#define    USE_LONG_DOUBLE        / **/
4295  #endif
4296  
4297  /* USE_MORE_BITS:
4298   *    This symbol, if defined, indicates that 64-bit interfaces and
4299   *    long doubles should be used when available.
4300   */
4301  #ifndef USE_MORE_BITS
4302  /*#define    USE_MORE_BITS        / **/
4303  #endif
4304  
4305  /* MULTIPLICITY:
4306   *    This symbol, if defined, indicates that Perl should
4307   *    be built to use multiplicity.
4308   */
4309  #ifndef MULTIPLICITY
4310  /*#define    MULTIPLICITY        / **/
4311  #endif
4312  
4313  /* USE_PERLIO:
4314   *    This symbol, if defined, indicates that the PerlIO abstraction should
4315   *    be used throughout.  If not defined, stdio should be
4316   *    used in a fully backward compatible manner.
4317   */
4318  #ifndef USE_PERLIO
4319  /*#define    USE_PERLIO        / **/
4320  #endif
4321  
4322  /* USE_SOCKS:
4323   *    This symbol, if defined, indicates that Perl should
4324   *    be built to use socks.
4325   */
4326  #ifndef USE_SOCKS
4327  /*#define    USE_SOCKS        / **/
4328  #endif
4329  
4330  /* USE_ITHREADS:
4331   *    This symbol, if defined, indicates that Perl should be built to
4332   *    use the interpreter-based threading implementation.
4333   */
4334  /* USE_5005THREADS:
4335   *    This symbol, if defined, indicates that Perl should be built to
4336   *    use the 5.005-based threading implementation.
4337   */
4338  /* OLD_PTHREADS_API:
4339   *    This symbol, if defined, indicates that Perl should
4340   *    be built to use the old draft POSIX threads API.
4341   */
4342  /* USE_REENTRANT_API:
4343   *    This symbol, if defined, indicates that Perl should
4344   *    try to use the various _r versions of library functions.
4345   *    This is extremely experimental.
4346   */
4347  /*#define    USE_5005THREADS        / **/
4348  /*#define    USE_ITHREADS        / **/
4349  #if defined(USE_5005THREADS) && !defined(USE_ITHREADS)
4350  #define        USE_THREADS        /* until src is revised*/
4351  #endif
4352  /*#define    OLD_PTHREADS_API        / **/
4353  /*#define    USE_REENTRANT_API    / **/
4354  
4355  /* PERL_VENDORARCH:
4356   *    If defined, this symbol contains the name of a private library.
4357   *    The library is private in the sense that it needn't be in anyone's
4358   *    execution path, but it should be accessible by the world.
4359   *    It may have a ~ on the front.
4360   *    The standard distribution will put nothing in this directory.
4361   *    Vendors who distribute perl may wish to place their own
4362   *    architecture-dependent modules and extensions in this directory with
4363   *        MakeMaker Makefile.PL INSTALLDIRS=vendor
4364   *    or equivalent.  See INSTALL for details.
4365   */
4366  /* PERL_VENDORARCH_EXP:
4367   *    This symbol contains the ~name expanded version of PERL_VENDORARCH, to be used
4368   *    in programs that are not prepared to deal with ~ expansion at run-time.
4369   */
4370  /*#define PERL_VENDORARCH ""        / **/
4371  /*#define PERL_VENDORARCH_EXP ""        / **/
4372  
4373  /* PERL_VENDORLIB_EXP:
4374   *    This symbol contains the ~name expanded version of VENDORLIB, to be used
4375   *    in programs that are not prepared to deal with ~ expansion at run-time.
4376   */
4377  /* PERL_VENDORLIB_STEM:
4378   *    This define is PERL_VENDORLIB_EXP with any trailing version-specific component
4379   *    removed.  The elements in inc_version_list (inc_version_list.U) can
4380   *    be tacked onto this variable to generate a list of directories to search.
4381   */
4382  /*#define PERL_VENDORLIB_EXP ""        / **/
4383  /*#define PERL_VENDORLIB_STEM ""        / **/
4384  
4385  /* VOIDFLAGS:
4386   *    This symbol indicates how much support of the void type is given by this
4387   *    compiler.  What various bits mean:
4388   *
4389   *        1 = supports declaration of void
4390   *        2 = supports arrays of pointers to functions returning void
4391   *        4 = supports comparisons between pointers to void functions and
4392   *            addresses of void functions
4393   *        8 = suports declaration of generic void pointers
4394   *
4395   *    The package designer should define VOIDUSED to indicate the requirements
4396   *    of the package.  This can be done either by #defining VOIDUSED before
4397   *    including config.h, or by defining defvoidused in Myinit.U.  If the
4398   *    latter approach is taken, only those flags will be tested.  If the
4399   *    level of void support necessary is not present, defines void to int.
4400   */
4401  #ifndef VOIDUSED
4402  #define VOIDUSED 1
4403  #endif
4404  #define VOIDFLAGS 1
4405  #if (VOIDFLAGS & VOIDUSED) != VOIDUSED
4406  #define void int        /* is void to be avoided? */
4407  #define M_VOID            /* Xenix strikes again */
4408  #endif
4409  
4410  /* HAS_POLL:
4411   *    This symbol, if defined, indicates that the poll routine is
4412   *    available to poll active file descriptors. You may safely
4413   *    include <poll.h> when both this symbol *and* I_POLL are defined.
4414   */
4415  /*#define HAS_POLL        / **/
4416  
4417  #endif


Generated: Tue Mar 17 22:47:18 2015 Cross-referenced by PHPXref 0.7.1