Integrate the PerlCE (WinCE Perl) port;
[p5sagit/p5-mst-13.2.git] / wince / config.h
1 /*\r
2  * This file was produced by running the config_h.SH script, which\r
3  * gets its values from undef, which is generally produced by\r
4  * running Configure.\r
5  *\r
6  * Feel free to modify any of this as the need arises.  Note, however,\r
7  * that running config_h.SH again will wipe out any changes you've made.\r
8  * For a more permanent change edit undef and rerun config_h.SH.\r
9  *\r
10  * $Id: Config_h.U,v 3.0.1.5 1997/02/28 14:57:43 ram Exp $\r
11  */\r
12 \r
13 /*\r
14  * Package name      : perl5\r
15  * Source directory  : \r
16  * Configuration time: Wed Aug  1 21:35:14 2001\r
17  * Configured by     : Rainer Keuchel\r
18  * Target system     : \r
19  */\r
20 \r
21 #ifndef _config_h_\r
22 #define _config_h_\r
23 \r
24 /* LOC_SED:\r
25  *      This symbol holds the complete pathname to the sed program.\r
26  */\r
27 #define LOC_SED         ""      /**/\r
28 \r
29 /* HAS_ALARM:\r
30  *      This symbol, if defined, indicates that the alarm routine is\r
31  *      available.\r
32  */\r
33 /*#define HAS_ALARM             /**/\r
34 \r
35 /* HASATTRIBUTE:\r
36  *      This symbol indicates the C compiler can check for function attributes,\r
37  *      such as printf formats. This is normally only supported by GNU cc.\r
38  */\r
39 /*#define HASATTRIBUTE  /**/\r
40 #ifndef HASATTRIBUTE\r
41 #define __attribute__(_arg_)\r
42 #endif\r
43 \r
44 /* HAS_BCMP:\r
45  *      This symbol is defined if the bcmp() routine is available to\r
46  *      compare blocks of memory.\r
47  */\r
48 /*#define HAS_BCMP      /**/\r
49 \r
50 /* HAS_BCOPY:\r
51  *      This symbol is defined if the bcopy() routine is available to\r
52  *      copy blocks of memory.\r
53  */\r
54 /*#define HAS_BCOPY     /**/\r
55 \r
56 /* HAS_BZERO:\r
57  *      This symbol is defined if the bzero() routine is available to\r
58  *      set a memory block to 0.\r
59  */\r
60 /*#define HAS_BZERO     /**/\r
61 \r
62 /* HAS_CHOWN:\r
63  *      This symbol, if defined, indicates that the chown routine is\r
64  *      available.\r
65  */\r
66 /*#define HAS_CHOWN             /**/\r
67 \r
68 /* HAS_CHROOT:\r
69  *      This symbol, if defined, indicates that the chroot routine is\r
70  *      available.\r
71  */\r
72 /*#define HAS_CHROOT            /**/\r
73 \r
74 /* HAS_CHSIZE:\r
75  *      This symbol, if defined, indicates that the chsize routine is available\r
76  *      to truncate files.  You might need a -lx to get this routine.\r
77  */\r
78 #define HAS_CHSIZE              /**/\r
79 \r
80 /* HASCONST:\r
81  *      This symbol, if defined, indicates that this C compiler knows about\r
82  *      the const type. There is no need to actually test for that symbol\r
83  *      within your programs. The mere use of the "const" keyword will\r
84  *      trigger the necessary tests.\r
85  */\r
86 #define HASCONST        /**/\r
87 #ifndef HASCONST\r
88 #define const\r
89 #endif\r
90 \r
91 /* HAS_CRYPT:\r
92  *      This symbol, if defined, indicates that the crypt routine is available\r
93  *      to encrypt passwords and the like.\r
94  */\r
95 /*#define HAS_CRYPT             /**/\r
96 \r
97 /* HAS_CUSERID:\r
98  *      This symbol, if defined, indicates that the cuserid routine is\r
99  *      available to get character login names.\r
100  */\r
101 /*#define HAS_CUSERID           /**/\r
102 \r
103 /* HAS_DBL_DIG:\r
104  *      This symbol, if defined, indicates that this system's <float.h>\r
105  *      or <limits.h> defines the symbol DBL_DIG, which is the number\r
106  *      of significant digits in a double precision number.  If this\r
107  *      symbol is not defined, a guess of 15 is usually pretty good.\r
108  */\r
109 #define HAS_DBL_DIG     /**/\r
110 \r
111 /* HAS_DIFFTIME:\r
112  *      This symbol, if defined, indicates that the difftime routine is\r
113  *      available.\r
114  */\r
115 #define HAS_DIFFTIME            /**/\r
116 \r
117 /* HAS_DLERROR:\r
118  *      This symbol, if defined, indicates that the dlerror routine is\r
119  *      available to return a string describing the last error that\r
120  *      occurred from a call to dlopen(), dlclose() or dlsym().\r
121  */\r
122 #define HAS_DLERROR     /**/\r
123 \r
124 /* HAS_DUP2:\r
125  *      This symbol, if defined, indicates that the dup2 routine is\r
126  *      available to duplicate file descriptors.\r
127  */\r
128 #define HAS_DUP2        /**/\r
129 \r
130 /* HAS_FCHMOD:\r
131  *      This symbol, if defined, indicates that the fchmod routine is available\r
132  *      to change mode of opened files.  If unavailable, use chmod().\r
133  */\r
134 /*#define HAS_FCHMOD            /**/\r
135 \r
136 /* HAS_FCHOWN:\r
137  *      This symbol, if defined, indicates that the fchown routine is available\r
138  *      to change ownership of opened files.  If unavailable, use chown().\r
139  */\r
140 /*#define HAS_FCHOWN            /**/\r
141 \r
142 /* HAS_FCNTL:\r
143  *      This symbol, if defined, indicates to the C program that\r
144  *      the fcntl() function exists.\r
145  */\r
146 /*#define HAS_FCNTL             /**/\r
147 \r
148 /* HAS_FGETPOS:\r
149  *      This symbol, if defined, indicates that the fgetpos routine is\r
150  *      available to get the file position indicator, similar to ftell().\r
151  */\r
152 #define HAS_FGETPOS     /**/\r
153 \r
154 /* HAS_FLOCK:\r
155  *      This symbol, if defined, indicates that the flock routine is\r
156  *      available to do file locking.\r
157  */\r
158 /*#define HAS_FLOCK             /**/\r
159 \r
160 /* HAS_FORK:\r
161  *      This symbol, if defined, indicates that the fork routine is\r
162  *      available.\r
163  */\r
164 /*#define HAS_FORK              /**/\r
165 \r
166 /* HAS_FSETPOS:\r
167  *      This symbol, if defined, indicates that the fsetpos routine is\r
168  *      available to set the file position indicator, similar to fseek().\r
169  */\r
170 #define HAS_FSETPOS     /**/\r
171 \r
172 /* HAS_GETTIMEOFDAY:\r
173  *      This symbol, if defined, indicates that the gettimeofday() system\r
174  *      call is available for a sub-second accuracy clock. Usually, the file\r
175  *      <sys/resource.h> needs to be included (see I_SYS_RESOURCE).\r
176  *      The type "Timeval" should be used to refer to "struct timeval".\r
177  */\r
178 /*#define HAS_GETTIMEOFDAY      /**/\r
179 #ifdef HAS_GETTIMEOFDAY\r
180 #define Timeval struct timeval  /* Structure used by gettimeofday() */\r
181 #endif\r
182 \r
183 /* HAS_GETGROUPS:\r
184  *      This symbol, if defined, indicates that the getgroups() routine is\r
185  *      available to get the list of process groups.  If unavailable, multiple\r
186  *      groups are probably not supported.\r
187  */\r
188 /*#define HAS_GETGROUPS         /**/\r
189 \r
190 /* HAS_GETLOGIN:\r
191  *      This symbol, if defined, indicates that the getlogin routine is\r
192  *      available to get the login name.\r
193  */\r
194 #define HAS_GETLOGIN            /**/\r
195 \r
196 /* HAS_GETPGID:\r
197  *      This symbol, if defined, indicates to the C program that \r
198  *      the getpgid(pid) function is available to get the\r
199  *      process group id.\r
200  */\r
201 /*#define HAS_GETPGID           /**/\r
202 \r
203 /* HAS_GETPGRP2:\r
204  *      This symbol, if defined, indicates that the getpgrp2() (as in DG/UX)\r
205  *      routine is available to get the current process group.\r
206  */\r
207 /*#define HAS_GETPGRP2          /**/\r
208 \r
209 /* HAS_GETPPID:\r
210  *      This symbol, if defined, indicates that the getppid routine is\r
211  *      available to get the parent process ID.\r
212  */\r
213 /*#define HAS_GETPPID           /**/\r
214 \r
215 /* HAS_GETPRIORITY:\r
216  *      This symbol, if defined, indicates that the getpriority routine is\r
217  *      available to get a process's priority.\r
218  */\r
219 /*#define HAS_GETPRIORITY               /**/\r
220 \r
221 /* HAS_INET_ATON:\r
222  *      This symbol, if defined, indicates to the C program that the\r
223  *      inet_aton() function is available to parse IP address "dotted-quad"\r
224  *      strings.\r
225  */\r
226 /*#define HAS_INET_ATON         /**/\r
227 \r
228 /* HAS_KILLPG:\r
229  *      This symbol, if defined, indicates that the killpg routine is available\r
230  *      to kill process groups.  If unavailable, you probably should use kill\r
231  *      with a negative process number.\r
232  */\r
233 /*#define HAS_KILLPG    /**/\r
234 \r
235 /* HAS_LINK:\r
236  *      This symbol, if defined, indicates that the link routine is\r
237  *      available to create hard links.\r
238  */\r
239 #define HAS_LINK        /**/\r
240 \r
241 /* HAS_LOCALECONV:\r
242  *      This symbol, if defined, indicates that the localeconv routine is\r
243  *      available for numeric and monetary formatting conventions.\r
244  */\r
245 #define HAS_LOCALECONV  /**/\r
246 \r
247 /* HAS_LOCKF:\r
248  *      This symbol, if defined, indicates that the lockf routine is\r
249  *      available to do file locking.\r
250  */\r
251 /*#define HAS_LOCKF             /**/\r
252 \r
253 /* HAS_LSTAT:\r
254  *      This symbol, if defined, indicates that the lstat routine is\r
255  *      available to do file stats on symbolic links.\r
256  */\r
257 /*#define HAS_LSTAT             /**/\r
258 \r
259 /* HAS_MBLEN:\r
260  *      This symbol, if defined, indicates that the mblen routine is available\r
261  *      to find the number of bytes in a multibye character.\r
262  */\r
263 #define HAS_MBLEN               /**/\r
264 \r
265 /* HAS_MBSTOWCS:\r
266  *      This symbol, if defined, indicates that the mbstowcs routine is\r
267  *      available to covert a multibyte string into a wide character string.\r
268  */\r
269 #define HAS_MBSTOWCS            /**/\r
270 \r
271 /* HAS_MBTOWC:\r
272  *      This symbol, if defined, indicates that the mbtowc routine is available\r
273  *      to covert a multibyte to a wide character.\r
274  */\r
275 #define HAS_MBTOWC              /**/\r
276 \r
277 /* HAS_MEMCMP:\r
278  *      This symbol, if defined, indicates that the memcmp routine is available\r
279  *      to compare blocks of memory.\r
280  */\r
281 #define HAS_MEMCMP      /**/\r
282 \r
283 /* HAS_MEMCPY:\r
284  *      This symbol, if defined, indicates that the memcpy routine is available\r
285  *      to copy blocks of memory.\r
286  */\r
287 #define HAS_MEMCPY      /**/\r
288 \r
289 /* HAS_MEMMOVE:\r
290  *      This symbol, if defined, indicates that the memmove routine is available\r
291  *      to copy potentially overlapping blocks of memory. This should be used\r
292  *      only when HAS_SAFE_BCOPY is not defined. If neither is there, roll your\r
293  *      own version.\r
294  */\r
295 #define HAS_MEMMOVE     /**/\r
296 \r
297 /* HAS_MEMSET:\r
298  *      This symbol, if defined, indicates that the memset routine is available\r
299  *      to set blocks of memory.\r
300  */\r
301 #define HAS_MEMSET      /**/\r
302 \r
303 /* HAS_MKDIR:\r
304  *      This symbol, if defined, indicates that the mkdir routine is available\r
305  *      to create directories.  Otherwise you should fork off a new process to\r
306  *      exec /bin/mkdir.\r
307  */\r
308 #define HAS_MKDIR               /**/\r
309 \r
310 /* HAS_MKFIFO:\r
311  *      This symbol, if defined, indicates that the mkfifo routine is\r
312  *      available to create FIFOs. Otherwise, mknod should be able to\r
313  *      do it for you. However, if mkfifo is there, mknod might require\r
314  *      super-user privileges which mkfifo will not.\r
315  */\r
316 /*#define HAS_MKFIFO            /**/\r
317 \r
318 /* HAS_MKTIME:\r
319  *      This symbol, if defined, indicates that the mktime routine is\r
320  *      available.\r
321  */\r
322 #define HAS_MKTIME              /**/\r
323 \r
324 /* HAS_MSYNC:\r
325  *      This symbol, if defined, indicates that the msync system call is\r
326  *      available to synchronize a mapped file.\r
327  */\r
328 /*#define HAS_MSYNC             /**/\r
329 \r
330 /* HAS_MUNMAP:\r
331  *      This symbol, if defined, indicates that the munmap system call is\r
332  *      available to unmap a region, usually mapped by mmap().\r
333  */\r
334 /*#define HAS_MUNMAP            /**/\r
335 \r
336 /* HAS_NICE:\r
337  *      This symbol, if defined, indicates that the nice routine is\r
338  *      available.\r
339  */\r
340 /*#define HAS_NICE              /**/\r
341 \r
342 /* HAS_PATHCONF:\r
343  *      This symbol, if defined, indicates that pathconf() is available\r
344  *      to determine file-system related limits and options associated\r
345  *      with a given filename.\r
346  */\r
347 /* HAS_FPATHCONF:\r
348  *      This symbol, if defined, indicates that pathconf() is available\r
349  *      to determine file-system related limits and options associated\r
350  *      with a given open file descriptor.\r
351  */\r
352 /*#define HAS_PATHCONF          /**/\r
353 /*#define HAS_FPATHCONF         /**/\r
354 \r
355 /* HAS_PAUSE:\r
356  *      This symbol, if defined, indicates that the pause routine is\r
357  *      available to suspend a process until a signal is received.\r
358  */\r
359 #define HAS_PAUSE               /**/\r
360 \r
361 /* HAS_PIPE:\r
362  *      This symbol, if defined, indicates that the pipe routine is\r
363  *      available to create an inter-process channel.\r
364  */\r
365 /*#define HAS_PIPE              /**/\r
366 \r
367 /* HAS_POLL:\r
368  *      This symbol, if defined, indicates that the poll routine is\r
369  *      available to poll active file descriptors. You may safely\r
370  *      include <poll.h> when this symbol is defined.\r
371  */\r
372 /*#define HAS_POLL              /**/\r
373 \r
374 /* HAS_READDIR:\r
375  *      This symbol, if defined, indicates that the readdir routine is\r
376  *      available to read directory entries. You may have to include\r
377  *      <dirent.h>. See I_DIRENT.\r
378  */\r
379 #define HAS_READDIR             /**/\r
380 \r
381 /* HAS_SEEKDIR:\r
382  *      This symbol, if defined, indicates that the seekdir routine is\r
383  *      available. You may have to include <dirent.h>. See I_DIRENT.\r
384  */\r
385 #define HAS_SEEKDIR             /**/\r
386 \r
387 /* HAS_TELLDIR:\r
388  *      This symbol, if defined, indicates that the telldir routine is\r
389  *      available. You may have to include <dirent.h>. See I_DIRENT.\r
390  */\r
391 #define HAS_TELLDIR             /**/\r
392 \r
393 /* HAS_REWINDDIR:\r
394  *      This symbol, if defined, indicates that the rewinddir routine is\r
395  *      available. You may have to include <dirent.h>. See I_DIRENT.\r
396  */\r
397 #define HAS_REWINDDIR           /**/\r
398 \r
399 /* HAS_READLINK:\r
400  *      This symbol, if defined, indicates that the readlink routine is\r
401  *      available to read the value of a symbolic link.\r
402  */\r
403 /*#define HAS_READLINK          /**/\r
404 \r
405 /* HAS_RENAME:\r
406  *      This symbol, if defined, indicates that the rename routine is available\r
407  *      to rename files.  Otherwise you should do the unlink(), link(), unlink()\r
408  *      trick.\r
409  */\r
410 #define HAS_RENAME      /**/\r
411 \r
412 /* HAS_RMDIR:\r
413  *      This symbol, if defined, indicates that the rmdir routine is\r
414  *      available to remove directories. Otherwise you should fork off a\r
415  *      new process to exec /bin/rmdir.\r
416  */\r
417 #define HAS_RMDIR               /**/\r
418 \r
419 /* HAS_SELECT:\r
420  *      This symbol, if defined, indicates that the select routine is\r
421  *      available to select active file descriptors. If the timeout field\r
422  *      is used, <sys/time.h> may need to be included.\r
423  */\r
424 #define HAS_SELECT      /**/\r
425 \r
426 /* HAS_SETEGID:\r
427  *      This symbol, if defined, indicates that the setegid routine is available\r
428  *      to change the effective gid of the current program.\r
429  */\r
430 /*#define HAS_SETEGID           /**/\r
431 \r
432 /* HAS_SETEUID:\r
433  *      This symbol, if defined, indicates that the seteuid routine is available\r
434  *      to change the effective uid of the current program.\r
435  */\r
436 /*#define HAS_SETEUID           /**/\r
437 \r
438 /* HAS_SETLINEBUF:\r
439  *      This symbol, if defined, indicates that the setlinebuf routine is\r
440  *      available to change stderr or stdout from block-buffered or unbuffered\r
441  *      to a line-buffered mode.\r
442  */\r
443 /*#define HAS_SETLINEBUF                /**/\r
444 \r
445 /* HAS_SETLOCALE:\r
446  *      This symbol, if defined, indicates that the setlocale routine is\r
447  *      available to handle locale-specific ctype implementations.\r
448  */\r
449 /*#define HAS_SETLOCALE /**/\r
450 \r
451 /* HAS_SETPGID:\r
452  *      This symbol, if defined, indicates that the setpgid(pid, gpid)\r
453  *      routine is available to set process group ID.\r
454  */\r
455 /*#define HAS_SETPGID   /**/\r
456 \r
457 /* HAS_SETPGRP2:\r
458  *      This symbol, if defined, indicates that the setpgrp2() (as in DG/UX)\r
459  *      routine is available to set the current process group.\r
460  */\r
461 /*#define HAS_SETPGRP2          /**/\r
462 \r
463 /* HAS_SETPRIORITY:\r
464  *      This symbol, if defined, indicates that the setpriority routine is\r
465  *      available to set a process's priority.\r
466  */\r
467 /*#define HAS_SETPRIORITY               /**/\r
468 \r
469 /* HAS_SETREGID:\r
470  *      This symbol, if defined, indicates that the setregid routine is\r
471  *      available to change the real and effective gid of the current\r
472  *      process.\r
473  */\r
474 /* HAS_SETRESGID:\r
475  *      This symbol, if defined, indicates that the setresgid routine is\r
476  *      available to change the real, effective and saved gid of the current\r
477  *      process.\r
478  */\r
479 /*#define HAS_SETREGID          /**/\r
480 /*#define HAS_SETRESGID         /**/\r
481 \r
482 /* HAS_SETREUID:\r
483  *      This symbol, if defined, indicates that the setreuid routine is\r
484  *      available to change the real and effective uid of the current\r
485  *      process.\r
486  */\r
487 /* HAS_SETRESUID:\r
488  *      This symbol, if defined, indicates that the setresuid routine is\r
489  *      available to change the real, effective and saved uid of the current\r
490  *      process.\r
491  */\r
492 /*#define HAS_SETREUID          /**/\r
493 /*#define HAS_SETRESUID         /**/\r
494 \r
495 /* HAS_SETRGID:\r
496  *      This symbol, if defined, indicates that the setrgid routine is available\r
497  *      to change the real gid of the current program.\r
498  */\r
499 /*#define HAS_SETRGID           /**/\r
500 \r
501 /* HAS_SETRUID:\r
502  *      This symbol, if defined, indicates that the setruid routine is available\r
503  *      to change the real uid of the current program.\r
504  */\r
505 /*#define HAS_SETRUID           /**/\r
506 \r
507 /* HAS_SETSID:\r
508  *      This symbol, if defined, indicates that the setsid routine is\r
509  *      available to set the process group ID.\r
510  */\r
511 /*#define HAS_SETSID    /**/\r
512 \r
513 /* Shmat_t:\r
514  *      This symbol holds the return type of the shmat() system call.\r
515  *      Usually set to 'void *' or 'char *'.\r
516  */\r
517 /* HAS_SHMAT_PROTOTYPE:\r
518  *      This symbol, if defined, indicates that the sys/shm.h includes\r
519  *      a prototype for shmat().  Otherwise, it is up to the program to\r
520  *      guess one.  Shmat_t shmat _((int, Shmat_t, int)) is a good guess,\r
521  *      but not always right so it should be emitted by the program only\r
522  *      when HAS_SHMAT_PROTOTYPE is not defined to avoid conflicting defs.\r
523  */\r
524 #define Shmat_t void *  /**/\r
525 /*#define HAS_SHMAT_PROTOTYPE   /**/\r
526 \r
527 /* HAS_STRCHR:\r
528  *      This symbol is defined to indicate that the strchr()/strrchr()\r
529  *      functions are available for string searching. If not, try the\r
530  *      index()/rindex() pair.\r
531  */\r
532 /* HAS_INDEX:\r
533  *      This symbol is defined to indicate that the index()/rindex()\r
534  *      functions are available for string searching.\r
535  */\r
536 #define HAS_STRCHR      /**/\r
537 /*#define HAS_INDEX     /**/\r
538 \r
539 /* HAS_STRCOLL:\r
540  *      This symbol, if defined, indicates that the strcoll routine is\r
541  *      available to compare strings using collating information.\r
542  */\r
543 /*#define HAS_STRCOLL   /**/\r
544 \r
545 /* USE_STRUCT_COPY:\r
546  *      This symbol, if defined, indicates that this C compiler knows how\r
547  *      to copy structures.  If undefined, you'll need to use a block copy\r
548  *      routine of some sort instead.\r
549  */\r
550 #define USE_STRUCT_COPY /**/\r
551 \r
552 /* HAS_STRTOD:\r
553  *      This symbol, if defined, indicates that the strtod routine is\r
554  *      available to provide better numeric string conversion than atof().\r
555  */\r
556 #define HAS_STRTOD      /**/\r
557 \r
558 /* HAS_STRTOL:\r
559  *      This symbol, if defined, indicates that the strtol routine is available\r
560  *      to provide better numeric string conversion than atoi() and friends.\r
561  */\r
562 #define HAS_STRTOL      /**/\r
563 \r
564 /* HAS_STRXFRM:\r
565  *      This symbol, if defined, indicates that the strxfrm() routine is\r
566  *      available to transform strings.\r
567  */\r
568 /*#define HAS_STRXFRM   /**/\r
569 \r
570 /* HAS_SYMLINK:\r
571  *      This symbol, if defined, indicates that the symlink routine is available\r
572  *      to create symbolic links.\r
573  */\r
574 /*#define HAS_SYMLINK   /**/\r
575 \r
576 /* HAS_SYSCALL:\r
577  *      This symbol, if defined, indicates that the syscall routine is\r
578  *      available to call arbitrary system calls. If undefined, that's tough.\r
579  */\r
580 /*#define HAS_SYSCALL   /**/\r
581 \r
582 /* HAS_SYSCONF:\r
583  *      This symbol, if defined, indicates that sysconf() is available\r
584  *      to determine system related limits and options.\r
585  */\r
586 /*#define HAS_SYSCONF   /**/\r
587 \r
588 /* HAS_SYSTEM:\r
589  *      This symbol, if defined, indicates that the system routine is\r
590  *      available to issue a shell command.\r
591  */\r
592 #define HAS_SYSTEM      /**/\r
593 \r
594 /* HAS_TCGETPGRP:\r
595  *      This symbol, if defined, indicates that the tcgetpgrp routine is\r
596  *      available to get foreground process group ID.\r
597  */\r
598 /*#define HAS_TCGETPGRP         /**/\r
599 \r
600 /* HAS_TCSETPGRP:\r
601  *      This symbol, if defined, indicates that the tcsetpgrp routine is\r
602  *      available to set foreground process group ID.\r
603  */\r
604 /*#define HAS_TCSETPGRP         /**/\r
605 \r
606 /* HAS_TRUNCATE:\r
607  *      This symbol, if defined, indicates that the truncate routine is\r
608  *      available to truncate files.\r
609  */\r
610 /*#define HAS_TRUNCATE  /**/\r
611 \r
612 /* HAS_TZNAME:\r
613  *      This symbol, if defined, indicates that the tzname[] array is\r
614  *      available to access timezone names.\r
615  */\r
616 #define HAS_TZNAME              /**/\r
617 \r
618 /* HAS_UMASK:\r
619  *      This symbol, if defined, indicates that the umask routine is\r
620  *      available to set and get the value of the file creation mask.\r
621  */\r
622 #define HAS_UMASK               /**/\r
623 \r
624 /* HAS_USLEEP:\r
625  *      This symbol, if defined, indicates that the usleep routine is\r
626  *      available to let the process sleep on a sub-second accuracy.\r
627  */\r
628 /*#define HAS_USLEEP            /**/\r
629 \r
630 /* HASVOLATILE:\r
631  *      This symbol, if defined, indicates that this C compiler knows about\r
632  *      the volatile declaration.\r
633  */\r
634 #define HASVOLATILE     /**/\r
635 #ifndef HASVOLATILE\r
636 #define volatile\r
637 #endif\r
638 \r
639 /* HAS_WAIT4:\r
640  *      This symbol, if defined, indicates that wait4() exists.\r
641  */\r
642 /*#define HAS_WAIT4     /**/\r
643 \r
644 /* HAS_WAITPID:\r
645  *      This symbol, if defined, indicates that the waitpid routine is\r
646  *      available to wait for child process.\r
647  */\r
648 #define HAS_WAITPID     /**/\r
649 \r
650 /* HAS_WCSTOMBS:\r
651  *      This symbol, if defined, indicates that the wcstombs routine is\r
652  *      available to convert wide character strings to multibyte strings.\r
653  */\r
654 #define HAS_WCSTOMBS    /**/\r
655 \r
656 /* HAS_WCTOMB:\r
657  *      This symbol, if defined, indicates that the wctomb routine is available\r
658  *      to covert a wide character to a multibyte.\r
659  */\r
660 #define HAS_WCTOMB              /**/\r
661 \r
662 /* I_ARPA_INET:\r
663  *      This symbol, if defined, indicates to the C program that it should\r
664  *      include <arpa/inet.h> to get inet_addr and friends declarations.\r
665  */\r
666 #define I_ARPA_INET             /**/\r
667 \r
668 /* I_DBM:\r
669  *      This symbol, if defined, indicates that <dbm.h> exists and should\r
670  *      be included.\r
671  */\r
672 /* I_RPCSVC_DBM:\r
673  *      This symbol, if defined, indicates that <rpcsvc/dbm.h> exists and\r
674  *      should be included.\r
675  */\r
676 /*#define I_DBM /**/\r
677 #define I_RPCSVC_DBM    /**/\r
678 \r
679 /* I_DIRENT:\r
680  *      This symbol, if defined, indicates to the C program that it should\r
681  *      include <dirent.h>. Using this symbol also triggers the definition\r
682  *      of the Direntry_t define which ends up being 'struct dirent' or\r
683  *      'struct direct' depending on the availability of <dirent.h>.\r
684  */\r
685 /* DIRNAMLEN:\r
686  *      This symbol, if defined, indicates to the C program that the length\r
687  *      of directory entry names is provided by a d_namlen field.  Otherwise\r
688  *      you need to do strlen() on the d_name field.\r
689  */\r
690 /* Direntry_t:\r
691  *      This symbol is set to 'struct direct' or 'struct dirent' depending on\r
692  *      whether dirent is available or not. You should use this pseudo type to\r
693  *      portably declare your directory entries.\r
694  */\r
695 #define I_DIRENT                /**/\r
696 #define DIRNAMLEN       /**/\r
697 #define Direntry_t struct direct\r
698 \r
699 /* I_DLFCN:\r
700  *      This symbol, if defined, indicates that <dlfcn.h> exists and should\r
701  *      be included.\r
702  */\r
703 #define I_DLFCN         /**/\r
704 \r
705 /* I_FCNTL:\r
706  *      This manifest constant tells the C program to include <fcntl.h>.\r
707  */\r
708 #define I_FCNTL /**/\r
709 \r
710 /* I_FLOAT:\r
711  *      This symbol, if defined, indicates to the C program that it should\r
712  *      include <float.h> to get definition of symbols like DBL_MAX or\r
713  *      DBL_MIN, i.e. machine dependent floating point values.\r
714  */\r
715 #define I_FLOAT         /**/\r
716 \r
717 /* I_LIMITS:\r
718  *      This symbol, if defined, indicates to the C program that it should\r
719  *      include <limits.h> to get definition of symbols like WORD_BIT or\r
720  *      LONG_MAX, i.e. machine dependant limitations.\r
721  */\r
722 #define I_LIMITS                /**/\r
723 \r
724 /* I_LOCALE:\r
725  *      This symbol, if defined, indicates to the C program that it should\r
726  *      include <locale.h>.\r
727  */\r
728 /*#define       I_LOCALE                /**/\r
729 \r
730 /* I_MATH:\r
731  *      This symbol, if defined, indicates to the C program that it should\r
732  *      include <math.h>.\r
733  */\r
734 #define I_MATH          /**/\r
735 \r
736 /* I_MEMORY:\r
737  *      This symbol, if defined, indicates to the C program that it should\r
738  *      include <memory.h>.\r
739  */\r
740 /*#define I_MEMORY              /**/\r
741 \r
742 /* I_NDBM:\r
743  *      This symbol, if defined, indicates that <ndbm.h> exists and should\r
744  *      be included.\r
745  */\r
746 /*#define I_NDBM        /**/\r
747 \r
748 /* I_NET_ERRNO:\r
749  *      This symbol, if defined, indicates that <net/errno.h> exists and \r
750  *      should be included.\r
751  */\r
752 /*#define I_NET_ERRNO           /**/\r
753 \r
754 /* I_NETINET_IN:\r
755  *      This symbol, if defined, indicates to the C program that it should\r
756  *      include <netinet/in.h>. Otherwise, you may try <sys/in.h>.\r
757  */\r
758 /*#define I_NETINET_IN  /**/\r
759 \r
760 /* I_SFIO:\r
761  *      This symbol, if defined, indicates to the C program that it should\r
762  *      include <sfio.h>.\r
763  */\r
764 /*#define       I_SFIO          /**/\r
765 \r
766 /* I_STDDEF:\r
767  *      This symbol, if defined, indicates that <stddef.h> exists and should\r
768  *      be included.\r
769  */\r
770 #define I_STDDEF        /**/\r
771 \r
772 /* I_STDLIB:\r
773  *      This symbol, if defined, indicates that <stdlib.h> exists and should\r
774  *      be included.\r
775  */\r
776 #define I_STDLIB                /**/\r
777 \r
778 /* I_STRING:\r
779  *      This symbol, if defined, indicates to the C program that it should\r
780  *      include <string.h> (USG systems) instead of <strings.h> (BSD systems).\r
781  */\r
782 #define I_STRING                /**/\r
783 \r
784 /* I_SYS_DIR:\r
785  *      This symbol, if defined, indicates to the C program that it should\r
786  *      include <sys/dir.h>.\r
787  */\r
788 /*#define I_SYS_DIR             /**/\r
789 \r
790 /* I_SYS_FILE:\r
791  *      This symbol, if defined, indicates to the C program that it should\r
792  *      include <sys/file.h> to get definition of R_OK and friends.\r
793  */\r
794 /*#define I_SYS_FILE            /**/\r
795 \r
796 /* I_SYS_IOCTL:\r
797  *      This symbol, if defined, indicates that <sys/ioctl.h> exists and should\r
798  *      be included. Otherwise, include <sgtty.h> or <termio.h>.\r
799  */\r
800 /* I_SYS_SOCKIO:\r
801  *      This symbol, if defined, indicates the <sys/sockio.h> should be included\r
802  *      to get socket ioctl options, like SIOCATMARK.\r
803  */\r
804 /*#define       I_SYS_IOCTL             /**/\r
805 /*#define I_SYS_SOCKIO  /**/\r
806 \r
807 /* I_SYS_NDIR:\r
808  *      This symbol, if defined, indicates to the C program that it should\r
809  *      include <sys/ndir.h>.\r
810  */\r
811 /*#define I_SYS_NDIR    /**/\r
812 \r
813 /* I_SYS_PARAM:\r
814  *      This symbol, if defined, indicates to the C program that it should\r
815  *      include <sys/param.h>.\r
816  */\r
817 /*#define I_SYS_PARAM           /**/\r
818 \r
819 /* I_SYS_RESOURCE:\r
820  *      This symbol, if defined, indicates to the C program that it should\r
821  *      include <sys/resource.h>.\r
822  */\r
823 /*#define I_SYS_RESOURCE                /**/\r
824 \r
825 /* I_SYS_SELECT:\r
826  *      This symbol, if defined, indicates to the C program that it should\r
827  *      include <sys/select.h> in order to get definition of struct timeval.\r
828  */\r
829 /*#define I_SYS_SELECT  /**/\r
830 \r
831 /* I_SYS_STAT:\r
832  *      This symbol, if defined, indicates to the C program that it should\r
833  *      include <sys/stat.h>.\r
834  */\r
835 #define I_SYS_STAT              /**/\r
836 \r
837 /* I_SYS_TIMES:\r
838  *      This symbol, if defined, indicates to the C program that it should\r
839  *      include <sys/times.h>.\r
840  */\r
841 /*#define       I_SYS_TIMES             /**/\r
842 \r
843 /* I_SYS_TYPES:\r
844  *      This symbol, if defined, indicates to the C program that it should\r
845  *      include <sys/types.h>.\r
846  */\r
847 /*#define       I_SYS_TYPES             /**/\r
848 \r
849 /* I_SYS_UN:\r
850  *      This symbol, if defined, indicates to the C program that it should\r
851  *      include <sys/un.h> to get UNIX domain socket definitions.\r
852  */\r
853 /*#define I_SYS_UN              /**/\r
854 \r
855 /* I_SYS_WAIT:\r
856  *      This symbol, if defined, indicates to the C program that it should\r
857  *      include <sys/wait.h>.\r
858  */\r
859 /*#define I_SYS_WAIT    /**/\r
860 \r
861 /* I_TERMIO:\r
862  *      This symbol, if defined, indicates that the program should include\r
863  *      <termio.h> rather than <sgtty.h>.  There are also differences in\r
864  *      the ioctl() calls that depend on the value of this symbol.\r
865  */\r
866 /* I_TERMIOS:\r
867  *      This symbol, if defined, indicates that the program should include\r
868  *      the POSIX termios.h rather than sgtty.h or termio.h.\r
869  *      There are also differences in the ioctl() calls that depend on the\r
870  *      value of this symbol.\r
871  */\r
872 /* I_SGTTY:\r
873  *      This symbol, if defined, indicates that the program should include\r
874  *      <sgtty.h> rather than <termio.h>.  There are also differences in\r
875  *      the ioctl() calls that depend on the value of this symbol.\r
876  */\r
877 /*#define I_TERMIO              /**/\r
878 /*#define I_TERMIOS             /**/\r
879 /*#define I_SGTTY               /**/\r
880 \r
881 /* I_UNISTD:\r
882  *      This symbol, if defined, indicates to the C program that it should\r
883  *      include <unistd.h>.\r
884  */\r
885 /*#define I_UNISTD              /**/\r
886 \r
887 /* I_UTIME:\r
888  *      This symbol, if defined, indicates to the C program that it should\r
889  *      include <utime.h>.\r
890  */\r
891 #define I_UTIME         /**/\r
892 \r
893 /* I_VALUES:\r
894  *      This symbol, if defined, indicates to the C program that it should\r
895  *      include <values.h> to get definition of symbols like MINFLOAT or\r
896  *      MAXLONG, i.e. machine dependant limitations.  Probably, you\r
897  *      should use <limits.h> instead, if it is available.\r
898  */\r
899 /*#define I_VALUES              /**/\r
900 \r
901 /* I_VFORK:\r
902  *      This symbol, if defined, indicates to the C program that it should\r
903  *      include vfork.h.\r
904  */\r
905 /*#define I_VFORK       /**/\r
906 \r
907 /* CAN_PROTOTYPE:\r
908  *      If defined, this macro indicates that the C compiler can handle\r
909  *      function prototypes.\r
910  */\r
911 /* _:\r
912  *      This macro is used to declare function parameters for folks who want\r
913  *      to make declarations with prototypes using a different style than\r
914  *      the above macros.  Use double parentheses.  For example:\r
915  *\r
916  *              int main _((int argc, char *argv[]));\r
917  */\r
918 #define CAN_PROTOTYPE   /**/\r
919 #ifdef CAN_PROTOTYPE\r
920 #define _(args) args\r
921 #else\r
922 #define _(args) ()\r
923 #endif\r
924 \r
925 /* SH_PATH:\r
926  *      This symbol contains the full pathname to the shell used on this\r
927  *      on this system to execute Bourne shell scripts.  Usually, this will be\r
928  *      /bin/sh, though it's possible that some systems will have /bin/ksh,\r
929  *      /bin/pdksh, /bin/ash, /bin/bash, or even something such as\r
930  *      D:/bin/sh.exe.\r
931  */\r
932 #define SH_PATH "cmd /x /c"  /**/\r
933 \r
934 /* INTSIZE:\r
935  *      This symbol contains the value of sizeof(int) so that the C\r
936  *      preprocessor can make decisions based on it.\r
937  */\r
938 /* LONGSIZE:\r
939  *      This symbol contains the value of sizeof(long) so that the C\r
940  *      preprocessor can make decisions based on it.\r
941  */\r
942 /* SHORTSIZE:\r
943  *      This symbol contains the value of sizeof(short) so that the C\r
944  *      preprocessor can make decisions based on it.\r
945  */\r
946 #define INTSIZE 4               /**/\r
947 #define LONGSIZE 4              /**/\r
948 #define SHORTSIZE 2             /**/\r
949 \r
950 /* MULTIARCH:\r
951  *      This symbol, if defined, signifies that the build\r
952  *      process will produce some binary files that are going to be\r
953  *      used in a cross-platform environment.  This is the case for\r
954  *      example with the NeXT "fat" binaries that contain executables\r
955  *      for several CPUs.\r
956  */\r
957 /*#define MULTIARCH             /**/\r
958 \r
959 /* HAS_QUAD:\r
960  *      This symbol, if defined, tells that there's a 64-bit integer type,\r
961  *      Quad_t, and its unsigned counterpar, Uquad_t. QUADKIND will be one\r
962  *      of QUAD_IS_INT, QUAD_IS_LONG, QUAD_IS_LONG_LONG, or QUAD_IS_INT64_T.\r
963  */\r
964 /*#define HAS_QUAD      /**/\r
965 #ifdef HAS_QUAD\r
966 #   define Quad_t __int64       /**/\r
967 #   define Uquad_t unsigned __int64     /**/\r
968 #   define QUADKIND 5   /**/\r
969 #   define QUAD_IS_INT  1\r
970 #   define QUAD_IS_LONG 2\r
971 #   define QUAD_IS_LONG_LONG    3\r
972 #   define QUAD_IS_INT64_T      4\r
973 #endif\r
974 \r
975 /* HAS_ACCESSX:\r
976  *      This symbol, if defined, indicates that the accessx routine is\r
977  *      available to do extended access checks.\r
978  */\r
979 /*#define HAS_ACCESSX           /**/\r
980 \r
981 /* HAS_EACCESS:\r
982  *      This symbol, if defined, indicates that the eaccess routine is\r
983  *      available to do extended access checks.\r
984  */\r
985 /*#define HAS_EACCESS           /**/\r
986 \r
987 /* I_SYS_ACCESS:\r
988  *     This symbol, if defined, indicates to the C program that it should\r
989  *     include <sys/access.h>.\r
990  */\r
991 /*#define   I_SYS_ACCESS                /**/\r
992 \r
993 /* I_SYS_SECURITY:\r
994  *     This symbol, if defined, indicates to the C program that it should\r
995  *     include <sys/security.h>.\r
996  */\r
997 /*#define   I_SYS_SECURITY      /**/\r
998 \r
999 /* OSNAME:\r
1000  *      This symbol contains the name of the operating system, as determined\r
1001  *      by Configure.  You shouldn't rely on it too much; the specific\r
1002  *      feature tests from Configure are generally more reliable.\r
1003  */\r
1004 /* OSVERS:\r
1005  *      This symbol contains the version of the operating system, as determined\r
1006  *      by Configure.  You shouldn't rely on it too much; the specific\r
1007  *      feature tests from Configure are generally more reliable.\r
1008  */\r
1009 #define OSNAME "MSWin32"                /**/\r
1010 #define OSVERS "4.0"            /**/\r
1011 \r
1012 /* MEM_ALIGNBYTES:\r
1013  *      This symbol contains the number of bytes required to align a\r
1014  *      double, or a long double when applicable. Usual values are 2,\r
1015  *      4 and 8. The default is eight, for safety.\r
1016  */\r
1017 #if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)\r
1018 #  define MEM_ALIGNBYTES 8\r
1019 #else\r
1020 #define MEM_ALIGNBYTES 8\r
1021 #endif\r
1022 \r
1023 /* ARCHLIB:\r
1024  *      This variable, if defined, holds the name of the directory in\r
1025  *      which the user wants to put architecture-dependent public\r
1026  *      library files for perl5.  It is most often a local directory\r
1027  *      such as /usr/local/lib.  Programs using this variable must be\r
1028  *      prepared to deal with filename expansion.  If ARCHLIB is the\r
1029  *      same as PRIVLIB, it is not defined, since presumably the\r
1030  *      program already searches PRIVLIB.\r
1031  */\r
1032 /* ARCHLIB_EXP:\r
1033  *      This symbol contains the ~name expanded version of ARCHLIB, to be used\r
1034  *      in programs that are not prepared to deal with ~ expansion at run-time.\r
1035  */\r
1036 #define ARCHLIB "5.7.2\\lib"            /**/\r
1037 /*#define ARCHLIB_EXP ""        /**/\r
1038 \r
1039 /* ARCHNAME:\r
1040  *      This symbol holds a string representing the architecture name.\r
1041  *      It may be used to construct an architecture-dependant pathname\r
1042  *      where library files may be held under a private library, for\r
1043  *      instance.\r
1044  */\r
1045 #define ARCHNAME "HPC2000-WCE300-ARM"           /**/\r
1046 \r
1047 /* HAS_ATOLF:\r
1048  *      This symbol, if defined, indicates that the atolf routine is\r
1049  *      available to convert strings into long doubles.\r
1050  */\r
1051 /*#define HAS_ATOLF             /**/\r
1052 \r
1053 /* HAS_ATOLL:\r
1054  *      This symbol, if defined, indicates that the atoll routine is\r
1055  *      available to convert strings into long longs.\r
1056  */\r
1057 /*#define HAS_ATOLL             /**/\r
1058 \r
1059 /* BIN:\r
1060  *      This symbol holds the path of the bin directory where the package will\r
1061  *      be installed. Program must be prepared to deal with ~name substitution.\r
1062  */\r
1063 /* BIN_EXP:\r
1064  *      This symbol is the filename expanded version of the BIN symbol, for\r
1065  *      programs that do not want to deal with that at run-time.\r
1066  */\r
1067 #define BIN "5.7.2\\bin"        /**/\r
1068 #define BIN_EXP "5.7.2\\bin"    /**/\r
1069 \r
1070 /* PERL_BINCOMPAT_5005:\r
1071  *      This symbol, if defined, indicates that this version of Perl should be\r
1072  *      binary-compatible with Perl 5.005.  This is impossible for builds\r
1073  *      that use features like threads and multiplicity it is always undef\r
1074  *      for those versions.\r
1075  */\r
1076 /*#define PERL_BINCOMPAT_5005                   /**/\r
1077 \r
1078 /* BYTEORDER:\r
1079  *      This symbol holds the hexadecimal constant defined in byteorder,\r
1080  *      i.e. 0x1234 or 0x4321, etc...\r
1081  *      If the compiler supports cross-compiling or multiple-architecture\r
1082  *      binaries (eg. on NeXT systems), use compiler-defined macros to\r
1083  *      determine the byte order.\r
1084  *      On NeXT 3.2 (and greater), you can build "Fat" Multiple Architecture\r
1085  *      Binaries (MAB) on either big endian or little endian machines.\r
1086  *      The endian-ness is available at compile-time.  This only matters\r
1087  *      for perl, where the config.h can be generated and installed on \r
1088  *      one system, and used by a different architecture to build an\r
1089  *      extension.  Older versions of NeXT that might not have\r
1090  *      defined either *_ENDIAN__ were all on Motorola 680x0 series,\r
1091  *      so the default case (for NeXT) is big endian to catch them. \r
1092  *      This might matter for NeXT 3.0.\r
1093  */\r
1094 #if defined(USE_CROSS_COMPILE) || defined(MULTIARCH)\r
1095 #  ifdef __LITTLE_ENDIAN__\r
1096 #    if LONGSIZE == 4\r
1097 #      define BYTEORDER 0x1234\r
1098 #    else\r
1099 #      if LONGSIZE == 8\r
1100 #        define BYTEORDER 0x12345678\r
1101 #      endif\r
1102 #    endif\r
1103 #  else\r
1104 #    ifdef __BIG_ENDIAN__\r
1105 #      if LONGSIZE == 4\r
1106 #        define BYTEORDER 0x4321\r
1107 #      else\r
1108 #        if LONGSIZE == 8\r
1109 #          define BYTEORDER 0x87654321\r
1110 #        endif\r
1111 #      endif\r
1112 #    endif\r
1113 #  endif\r
1114 #  if !defined(BYTEORDER) && (defined(NeXT) || defined(__NeXT__))\r
1115 #    define BYTEORDER 0x4321\r
1116 #  endif\r
1117 #else\r
1118 #define BYTEORDER 0x1234        /* large digits for MSB */\r
1119 #endif /* NeXT */\r
1120 \r
1121 /* CAT2:\r
1122  *      This macro catenates 2 tokens together.\r
1123  */\r
1124 /* STRINGIFY:\r
1125  *      This macro surrounds its token with double quotes.\r
1126  */\r
1127 #if 42 == 1\r
1128 #define CAT2(a,b)       a/**/b\r
1129 #define STRINGIFY(a)    "a"\r
1130                 /* If you can get stringification with catify, tell me how! */\r
1131 #endif\r
1132 #if 42 == 42\r
1133 #define PeRl_CaTiFy(a, b)       a ## b  \r
1134 #define PeRl_StGiFy(a)  #a\r
1135 /* the additional level of indirection enables these macros to be\r
1136  * used as arguments to other macros.  See K&R 2nd ed., page 231. */\r
1137 #define CAT2(a,b)       PeRl_CaTiFy(a,b)\r
1138 #define StGiFy(a)       PeRl_StGiFy(a)\r
1139 #define STRINGIFY(a)    PeRl_StGiFy(a)\r
1140 #endif\r
1141 #if 42 != 1 && 42 != 42\r
1142 #   include "Bletch: How does this C preprocessor catenate tokens?"\r
1143 #endif\r
1144 \r
1145 /* CPPSTDIN:\r
1146  *      This symbol contains the first part of the string which will invoke\r
1147  *      the C preprocessor on the standard input and produce to standard\r
1148  *      output.  Typical value of "cc -E" or "/lib/cpp", but it can also\r
1149  *      call a wrapper. See CPPRUN.\r
1150  */\r
1151 /* CPPMINUS:\r
1152  *      This symbol contains the second part of the string which will invoke\r
1153  *      the C preprocessor on the standard input and produce to standard\r
1154  *      output.  This symbol will have the value "-" if CPPSTDIN needs a minus\r
1155  *      to specify standard input, otherwise the value is "".\r
1156  */\r
1157 /* CPPRUN:\r
1158  *      This symbol contains the string which will invoke a C preprocessor on\r
1159  *      the standard input and produce to standard output. It needs to end\r
1160  *      with CPPLAST, after all other preprocessor flags have been specified.\r
1161  *      The main difference with CPPSTDIN is that this program will never be a\r
1162  *      pointer to a shell wrapper, i.e. it will be empty if no preprocessor is\r
1163  *      available directly to the user. Note that it may well be different from\r
1164  *      the preprocessor used to compile the C program.\r
1165  */\r
1166 /* CPPLAST:\r
1167  *      This symbol is intended to be used along with CPPRUN in the same manner\r
1168  *      symbol CPPMINUS is used with CPPSTDIN. It contains either "-" or "".\r
1169  */\r
1170 #define CPPSTDIN "cl -nologo -E"\r
1171 #define CPPMINUS ""\r
1172 #define CPPRUN "cl -nologo -E"\r
1173 #define CPPLAST ""\r
1174 \r
1175 /* HAS__FWALK:\r
1176  *      This symbol, if defined, indicates that the _fwalk system call is\r
1177  *      available to apply a function to all the file handles.\r
1178  */\r
1179 /*#define HAS__FWALK            /**/\r
1180 \r
1181 /* HAS_ACCESS:\r
1182  *      This manifest constant lets the C program know that the access()\r
1183  *      system call is available to check for accessibility using real UID/GID.\r
1184  *      (always present on UNIX.)\r
1185  */\r
1186 #define HAS_ACCESS              /**/\r
1187 \r
1188 /* CASTI32:\r
1189  *      This symbol is defined if the C compiler can cast negative\r
1190  *      or large floating point numbers to 32-bit ints.\r
1191  */\r
1192 /*#define       CASTI32         /**/\r
1193 \r
1194 /* CASTNEGFLOAT:\r
1195  *      This symbol is defined if the C compiler can cast negative\r
1196  *      numbers to unsigned longs, ints and shorts.\r
1197  */\r
1198 /* CASTFLAGS:\r
1199  *      This symbol contains flags that say what difficulties the compiler\r
1200  *      has casting odd floating values to unsigned long:\r
1201  *              0 = ok\r
1202  *              1 = couldn't cast < 0\r
1203  *              2 = couldn't cast >= 0x80000000\r
1204  *              4 = couldn't cast in argument expression list\r
1205  */\r
1206 #define CASTNEGFLOAT            /**/\r
1207 #define CASTFLAGS 0             /**/\r
1208 \r
1209 /* VOID_CLOSEDIR:\r
1210  *      This symbol, if defined, indicates that the closedir() routine\r
1211  *      does not return a value.\r
1212  */\r
1213 /*#define VOID_CLOSEDIR         /**/\r
1214 \r
1215 /* HAS_STRUCT_CMSGHDR:\r
1216  *      This symbol, if defined, indicates that the struct cmsghdr\r
1217  *      is supported.\r
1218  */\r
1219 /*#define HAS_STRUCT_CMSGHDR    /**/\r
1220 \r
1221 /* HAS_CSH:\r
1222  *      This symbol, if defined, indicates that the C-shell exists.\r
1223  */\r
1224 /* CSH:\r
1225  *      This symbol, if defined, contains the full pathname of csh.\r
1226  */\r
1227 /*#define HAS_CSH               /**/\r
1228 #ifdef HAS_CSH\r
1229 #define CSH ""  /**/\r
1230 #endif\r
1231 \r
1232 /* DLSYM_NEEDS_UNDERSCORE:\r
1233  *      This symbol, if defined, indicates that we need to prepend an\r
1234  *      underscore to the symbol name before calling dlsym().  This only\r
1235  *      makes sense if you *have* dlsym, which we will presume is the\r
1236  *      case if you're using dl_dlopen.xs.\r
1237  */\r
1238 /*#define       DLSYM_NEEDS_UNDERSCORE  /**/\r
1239 \r
1240 /* HAS_DRAND48_PROTO:\r
1241  *      This symbol, if defined, indicates that the system provides\r
1242  *      a prototype for the drand48() function.  Otherwise, it is up\r
1243  *      to the program to supply one.  A good guess is\r
1244  *              extern double drand48 _((void));\r
1245  */\r
1246 /*#define       HAS_DRAND48_PROTO       /**/\r
1247 \r
1248 /* HAS_ENDGRENT:\r
1249  *      This symbol, if defined, indicates that the getgrent routine is\r
1250  *      available for finalizing sequential access of the group database.\r
1251  */\r
1252 /*#define HAS_ENDGRENT          /**/\r
1253 \r
1254 /* HAS_ENDHOSTENT:\r
1255  *      This symbol, if defined, indicates that the endhostent() routine is\r
1256  *      available to close whatever was being used for host queries.\r
1257  */\r
1258 /*#define HAS_ENDHOSTENT                /**/\r
1259 \r
1260 /* HAS_ENDNETENT:\r
1261  *      This symbol, if defined, indicates that the endnetent() routine is\r
1262  *      available to close whatever was being used for network queries.\r
1263  */\r
1264 /*#define HAS_ENDNETENT         /**/\r
1265 \r
1266 /* HAS_ENDPROTOENT:\r
1267  *      This symbol, if defined, indicates that the endprotoent() routine is\r
1268  *      available to close whatever was being used for protocol queries.\r
1269  */\r
1270 /*#define HAS_ENDPROTOENT               /**/\r
1271 \r
1272 /* HAS_ENDPWENT:\r
1273  *      This symbol, if defined, indicates that the getgrent routine is\r
1274  *      available for finalizing sequential access of the passwd database.\r
1275  */\r
1276 /*#define HAS_ENDPWENT          /**/\r
1277 \r
1278 /* HAS_ENDSERVENT:\r
1279  *      This symbol, if defined, indicates that the endservent() routine is\r
1280  *      available to close whatever was being used for service queries.\r
1281  */\r
1282 /*#define HAS_ENDSERVENT                /**/\r
1283 \r
1284 /* HAS_FCHDIR:\r
1285  *      This symbol, if defined, indicates that the fchdir routine is\r
1286  *      available to change directory using a file descriptor.\r
1287  */\r
1288 /*#define HAS_FCHDIR            /**/\r
1289 \r
1290 /* FCNTL_CAN_LOCK:\r
1291  *      This symbol, if defined, indicates that fcntl() can be used\r
1292  *      for file locking.  Normally on Unix systems this is defined.\r
1293  *      It may be undefined on VMS.\r
1294  */\r
1295 /*#define FCNTL_CAN_LOCK                /**/\r
1296 \r
1297 /* HAS_FD_SET:\r
1298  *      This symbol, when defined, indicates presence of the fd_set typedef\r
1299  *      in <sys/types.h>\r
1300  */\r
1301 #define HAS_FD_SET      /**/\r
1302 \r
1303 /* FLEXFILENAMES:\r
1304  *      This symbol, if defined, indicates that the system supports filenames\r
1305  *      longer than 14 characters.\r
1306  */\r
1307 #define FLEXFILENAMES           /**/\r
1308 \r
1309 /* HAS_FPOS64_T:\r
1310  *      This symbol will be defined if the C compiler supports fpos64_t.\r
1311  */\r
1312 /*#define       HAS_FPOS64_T            /**/\r
1313 \r
1314 /* HAS_FREXPL:\r
1315  *      This symbol, if defined, indicates that the frexpl routine is\r
1316  *      available to break a long double floating-point number into\r
1317  *      a normalized fraction and an integral power of 2.\r
1318  */\r
1319 /*#define HAS_FREXPL            /**/\r
1320 \r
1321 /* HAS_STRUCT_FS_DATA:\r
1322  *      This symbol, if defined, indicates that the struct fs_data\r
1323  *      to do statfs() is supported.\r
1324  */\r
1325 /*#define HAS_STRUCT_FS_DATA    /**/\r
1326 \r
1327 /* HAS_FSEEKO:\r
1328  *      This symbol, if defined, indicates that the fseeko routine is\r
1329  *      available to fseek beyond 32 bits (useful for ILP32 hosts).\r
1330  */\r
1331 /*#define HAS_FSEEKO            /**/\r
1332 \r
1333 /* HAS_FSTATFS:\r
1334  *      This symbol, if defined, indicates that the fstatfs routine is\r
1335  *      available to stat filesystems by file descriptors.\r
1336  */\r
1337 /*#define HAS_FSTATFS           /**/\r
1338 \r
1339 /* HAS_FSYNC:\r
1340  *      This symbol, if defined, indicates that the fsync routine is\r
1341  *      available to write a file's modified data and attributes to\r
1342  *      permanent storage.\r
1343  */\r
1344 /*#define HAS_FSYNC             /**/\r
1345 \r
1346 /* HAS_FTELLO:\r
1347  *      This symbol, if defined, indicates that the ftello routine is\r
1348  *      available to ftell beyond 32 bits (useful for ILP32 hosts).\r
1349  */\r
1350 /*#define HAS_FTELLO            /**/\r
1351 \r
1352 /* Gconvert:\r
1353  *      This preprocessor macro is defined to convert a floating point\r
1354  *      number to a string without a trailing decimal point.  This\r
1355  *      emulates the behavior of sprintf("%g"), but is sometimes much more\r
1356  *      efficient.  If gconvert() is not available, but gcvt() drops the\r
1357  *      trailing decimal point, then gcvt() is used.  If all else fails,\r
1358  *      a macro using sprintf("%g") is used. Arguments for the Gconvert\r
1359  *      macro are: value, number of digits, whether trailing zeros should\r
1360  *      be retained, and the output buffer.\r
1361  *      Possible values are:\r
1362  *              d_Gconvert='gconvert((x),(n),(t),(b))'\r
1363  *              d_Gconvert='gcvt((x),(n),(b))'\r
1364  *              d_Gconvert='sprintf((b),"%.*g",(n),(x))'\r
1365  *      The last two assume trailing zeros should not be kept.\r
1366  */\r
1367 #define Gconvert(x,n,t,b) sprintf((b),"%.*g",(n),(x))\r
1368 \r
1369 /* HAS_GETCWD:\r
1370  *      This symbol, if defined, indicates that the getcwd routine is\r
1371  *      available to get the current working directory.\r
1372  */\r
1373 /*#define HAS_GETCWD            /**/\r
1374 \r
1375 /* HAS_GETESPWNAM:\r
1376  *      This symbol, if defined, indicates that the getespwnam system call is\r
1377  *      available to retrieve enchanced (shadow) password entries by name.\r
1378  */\r
1379 /*#define HAS_GETESPWNAM                /**/\r
1380 \r
1381 /* HAS_GETFSSTAT:\r
1382  *      This symbol, if defined, indicates that the getfsstat routine is\r
1383  *      available to stat filesystems in bulk.\r
1384  */\r
1385 /*#define HAS_GETFSSTAT         /**/\r
1386 \r
1387 /* HAS_GETGRENT:\r
1388  *      This symbol, if defined, indicates that the getgrent routine is\r
1389  *      available for sequential access of the group database.\r
1390  */\r
1391 /*#define HAS_GETGRENT          /**/\r
1392 \r
1393 /* HAS_GETHOSTBYADDR:\r
1394  *      This symbol, if defined, indicates that the gethostbyaddr() routine is\r
1395  *      available to look up hosts by their IP addresses.\r
1396  */\r
1397 #define HAS_GETHOSTBYADDR               /**/\r
1398 \r
1399 /* HAS_GETHOSTBYNAME:\r
1400  *      This symbol, if defined, indicates that the gethostbyname() routine is\r
1401  *      available to look up host names in some data base or other.\r
1402  */\r
1403 #define HAS_GETHOSTBYNAME               /**/\r
1404 \r
1405 /* HAS_GETHOSTENT:\r
1406  *      This symbol, if defined, indicates that the gethostent() routine is\r
1407  *      available to look up host names in some data base or another.\r
1408  */\r
1409 /*#define HAS_GETHOSTENT                /**/\r
1410 \r
1411 /* HAS_GETHOSTNAME:\r
1412  *      This symbol, if defined, indicates that the C program may use the\r
1413  *      gethostname() routine to derive the host name.  See also HAS_UNAME\r
1414  *      and PHOSTNAME.\r
1415  */\r
1416 /* HAS_UNAME:\r
1417  *      This symbol, if defined, indicates that the C program may use the\r
1418  *      uname() routine to derive the host name.  See also HAS_GETHOSTNAME\r
1419  *      and PHOSTNAME.\r
1420  */\r
1421 /* PHOSTNAME:\r
1422  *      This symbol, if defined, indicates the command to feed to the\r
1423  *      popen() routine to derive the host name.  See also HAS_GETHOSTNAME\r
1424  *      and HAS_UNAME.  Note that the command uses a fully qualified path,\r
1425  *      so that it is safe even if used by a process with super-user\r
1426  *      privileges.\r
1427  */\r
1428 /* HAS_PHOSTNAME:\r
1429  *      This symbol, if defined, indicates that the C program may use the\r
1430  *      contents of PHOSTNAME as a command to feed to the popen() routine\r
1431  *      to derive the host name.\r
1432  */\r
1433 #define HAS_GETHOSTNAME /**/\r
1434 #define HAS_UNAME               /**/\r
1435 /*#define HAS_PHOSTNAME /**/\r
1436 #ifdef HAS_PHOSTNAME\r
1437 #define PHOSTNAME ""    /* How to get the host name */\r
1438 #endif\r
1439 \r
1440 /* HAS_GETHOST_PROTOS:\r
1441  *      This symbol, if defined, indicates that <netdb.h> includes\r
1442  *      prototypes for gethostent(), gethostbyname(), and\r
1443  *      gethostbyaddr().  Otherwise, it is up to the program to guess\r
1444  *      them.  See netdbtype.U for probing for various Netdb_xxx_t types.\r
1445  */\r
1446 #define HAS_GETHOST_PROTOS      /**/\r
1447 \r
1448 /* HAS_GETITIMER:\r
1449  *      This symbol, if defined, indicates that the getitimer routine is\r
1450  *      available to return interval timers.\r
1451  */\r
1452 /*#define HAS_GETITIMER         /**/\r
1453 \r
1454 /* HAS_GETMNT:\r
1455  *      This symbol, if defined, indicates that the getmnt routine is\r
1456  *      available to get filesystem mount info by filename.\r
1457  */\r
1458 /*#define HAS_GETMNT            /**/\r
1459 \r
1460 /* HAS_GETMNTENT:\r
1461  *      This symbol, if defined, indicates that the getmntent routine is\r
1462  *      available to iterate through mounted file systems to get their info.\r
1463  */\r
1464 /*#define HAS_GETMNTENT         /**/\r
1465 \r
1466 /* HAS_GETNETBYADDR:\r
1467  *      This symbol, if defined, indicates that the getnetbyaddr() routine is\r
1468  *      available to look up networks by their IP addresses.\r
1469  */\r
1470 /*#define HAS_GETNETBYADDR              /**/\r
1471 \r
1472 /* HAS_GETNETBYNAME:\r
1473  *      This symbol, if defined, indicates that the getnetbyname() routine is\r
1474  *      available to look up networks by their names.\r
1475  */\r
1476 /*#define HAS_GETNETBYNAME              /**/\r
1477 \r
1478 /* HAS_GETNETENT:\r
1479  *      This symbol, if defined, indicates that the getnetent() routine is\r
1480  *      available to look up network names in some data base or another.\r
1481  */\r
1482 /*#define HAS_GETNETENT         /**/\r
1483 \r
1484 /* HAS_GETNET_PROTOS:\r
1485  *      This symbol, if defined, indicates that <netdb.h> includes\r
1486  *      prototypes for getnetent(), getnetbyname(), and\r
1487  *      getnetbyaddr().  Otherwise, it is up to the program to guess\r
1488  *      them.  See netdbtype.U for probing for various Netdb_xxx_t types.\r
1489  */\r
1490 /*#define       HAS_GETNET_PROTOS       /**/\r
1491 \r
1492 /* HAS_GETPAGESIZE:\r
1493  *      This symbol, if defined, indicates that the getpagesize system call\r
1494  *      is available to get system page size, which is the granularity of\r
1495  *      many memory management calls.\r
1496  */\r
1497 /*#define HAS_GETPAGESIZE               /**/\r
1498 \r
1499 /* HAS_GETPROTOENT:\r
1500  *      This symbol, if defined, indicates that the getprotoent() routine is\r
1501  *      available to look up protocols in some data base or another.\r
1502  */\r
1503 /*#define HAS_GETPROTOENT               /**/\r
1504 \r
1505 /* HAS_GETPGRP:\r
1506  *      This symbol, if defined, indicates that the getpgrp routine is\r
1507  *      available to get the current process group.\r
1508  */\r
1509 /* USE_BSD_GETPGRP:\r
1510  *      This symbol, if defined, indicates that getpgrp needs one\r
1511  *      arguments whereas USG one needs none.\r
1512  */\r
1513 /*#define HAS_GETPGRP           /**/\r
1514 /*#define USE_BSD_GETPGRP       /**/\r
1515 \r
1516 /* HAS_GETPROTOBYNAME:\r
1517  *      This symbol, if defined, indicates that the getprotobyname()\r
1518  *      routine is available to look up protocols by their name.\r
1519  */\r
1520 /* HAS_GETPROTOBYNUMBER:\r
1521  *      This symbol, if defined, indicates that the getprotobynumber()\r
1522  *      routine is available to look up protocols by their number.\r
1523  */\r
1524 #define HAS_GETPROTOBYNAME              /**/\r
1525 #define HAS_GETPROTOBYNUMBER            /**/\r
1526 \r
1527 /* HAS_GETPROTO_PROTOS:\r
1528  *      This symbol, if defined, indicates that <netdb.h> includes\r
1529  *      prototypes for getprotoent(), getprotobyname(), and\r
1530  *      getprotobyaddr().  Otherwise, it is up to the program to guess\r
1531  *      them.  See netdbtype.U for probing for various Netdb_xxx_t types.\r
1532  */\r
1533 #define HAS_GETPROTO_PROTOS     /**/\r
1534 \r
1535 /* HAS_GETPRPWNAM:\r
1536  *      This symbol, if defined, indicates that the getprpwnam system call is\r
1537  *      available to retrieve protected (shadow) password entries by name.\r
1538  */\r
1539 /*#define HAS_GETPRPWNAM                /**/\r
1540 \r
1541 /* HAS_GETPWENT:\r
1542  *      This symbol, if defined, indicates that the getpwent routine is\r
1543  *      available for sequential access of the passwd database.\r
1544  *      If this is not available, the older getpw() function may be available.\r
1545  */\r
1546 /*#define HAS_GETPWENT          /**/\r
1547 \r
1548 /* HAS_GETSERVENT:\r
1549  *      This symbol, if defined, indicates that the getservent() routine is\r
1550  *      available to look up network services in some data base or another.\r
1551  */\r
1552 /*#define HAS_GETSERVENT                /**/\r
1553 \r
1554 /* HAS_GETSERV_PROTOS:\r
1555  *      This symbol, if defined, indicates that <netdb.h> includes\r
1556  *      prototypes for getservent(), getservbyname(), and\r
1557  *      getservbyaddr().  Otherwise, it is up to the program to guess\r
1558  *      them.  See netdbtype.U for probing for various Netdb_xxx_t types.\r
1559  */\r
1560 #define HAS_GETSERV_PROTOS      /**/\r
1561 \r
1562 /* HAS_GETSPNAM:\r
1563  *      This symbol, if defined, indicates that the getspnam system call is\r
1564  *      available to retrieve SysV shadow password entries by name.\r
1565  */\r
1566 /*#define HAS_GETSPNAM          /**/\r
1567 \r
1568 /* HAS_GETSERVBYNAME:\r
1569  *      This symbol, if defined, indicates that the getservbyname()\r
1570  *      routine is available to look up services by their name.\r
1571  */\r
1572 /* HAS_GETSERVBYPORT:\r
1573  *      This symbol, if defined, indicates that the getservbyport()\r
1574  *      routine is available to look up services by their port.\r
1575  */\r
1576 #define HAS_GETSERVBYNAME               /**/\r
1577 #define HAS_GETSERVBYPORT               /**/\r
1578 \r
1579 /* HAS_GNULIBC:\r
1580  *      This symbol, if defined, indicates to the C program that \r
1581  *      the GNU C library is being used.\r
1582  */\r
1583 /*#define HAS_GNULIBC   /**/\r
1584 #if defined(HAS_GNULIBC) && !defined(_GNU_SOURCE)\r
1585 #   define _GNU_SOURCE\r
1586 #endif\r
1587 /* HAS_HASMNTOPT:\r
1588  *      This symbol, if defined, indicates that the hasmntopt routine is\r
1589  *      available to query the mount options of file systems.\r
1590  */\r
1591 /*#define HAS_HASMNTOPT         /**/\r
1592 \r
1593 /* HAS_HTONL:\r
1594  *      This symbol, if defined, indicates that the htonl() routine (and\r
1595  *      friends htons() ntohl() ntohs()) are available to do network\r
1596  *      order byte swapping.\r
1597  */\r
1598 /* HAS_HTONS:\r
1599  *      This symbol, if defined, indicates that the htons() routine (and\r
1600  *      friends htonl() ntohl() ntohs()) are available to do network\r
1601  *      order byte swapping.\r
1602  */\r
1603 /* HAS_NTOHL:\r
1604  *      This symbol, if defined, indicates that the ntohl() routine (and\r
1605  *      friends htonl() htons() ntohs()) are available to do network\r
1606  *      order byte swapping.\r
1607  */\r
1608 /* HAS_NTOHS:\r
1609  *      This symbol, if defined, indicates that the ntohs() routine (and\r
1610  *      friends htonl() htons() ntohl()) are available to do network\r
1611  *      order byte swapping.\r
1612  */\r
1613 #define HAS_HTONL               /**/\r
1614 #define HAS_HTONS               /**/\r
1615 #define HAS_NTOHL               /**/\r
1616 #define HAS_NTOHS               /**/\r
1617 \r
1618 /* HAS_ICONV:\r
1619  *      This symbol, if defined, indicates that the iconv routine is\r
1620  *      available to do character set conversions.\r
1621  */\r
1622 /*#define HAS_ICONV             /**/\r
1623 \r
1624 /* HAS_INT64_T:\r
1625  *     This symbol will defined if the C compiler supports int64_t.\r
1626  *     Usually the <inttypes.h> needs to be included, but sometimes\r
1627  *      <sys/types.h> is enough.\r
1628  */\r
1629 /*#define     HAS_INT64_T               /**/\r
1630 \r
1631 /* HAS_ISASCII:\r
1632  *      This manifest constant lets the C program know that isascii \r
1633  *      is available.\r
1634  */\r
1635 #define HAS_ISASCII             /**/\r
1636 \r
1637 /* HAS_ISNAN:\r
1638  *      This symbol, if defined, indicates that the isnan routine is\r
1639  *      available to check whether a double is a NaN.\r
1640  */\r
1641 /*#define HAS_ISNAN             /**/\r
1642 \r
1643 /* HAS_ISNANL:\r
1644  *      This symbol, if defined, indicates that the isnanl routine is\r
1645  *      available to check whether a long double is a NaN.\r
1646  */\r
1647 /*#define HAS_ISNANL            /**/\r
1648 \r
1649 /* HAS_LCHOWN:\r
1650  *      This symbol, if defined, indicates that the lchown routine is\r
1651  *      available to operate on a symbolic link (instead of following the\r
1652  *      link).\r
1653  */\r
1654 /*#define HAS_LCHOWN            /**/\r
1655 \r
1656 /* HAS_LDBL_DIG:\r
1657  *      This symbol, if defined, indicates that this system's <float.h>\r
1658  *      or <limits.h> defines the symbol LDBL_DIG, which is the number\r
1659  *      of significant digits in a long double precision number. Unlike\r
1660  *      for DBL_DIG, there's no good guess for LDBL_DIG if it is undefined.\r
1661  */\r
1662 #define HAS_LDBL_DIG    /**/\r
1663 \r
1664 /* HAS_LONG_DOUBLE:\r
1665  *      This symbol will be defined if the C compiler supports long\r
1666  *      doubles.\r
1667  */\r
1668 /* LONG_DOUBLESIZE:\r
1669  *      This symbol contains the size of a long double, so that the \r
1670  *      C preprocessor can make decisions based on it.  It is only\r
1671  *      defined if the system supports long doubles.\r
1672  */\r
1673 /*#define HAS_LONG_DOUBLE               /**/\r
1674 #ifdef HAS_LONG_DOUBLE\r
1675 #define LONG_DOUBLESIZE 10              /**/\r
1676 #endif\r
1677 \r
1678 /* HAS_LONG_LONG:\r
1679  *      This symbol will be defined if the C compiler supports long long.\r
1680  */\r
1681 /* LONGLONGSIZE:\r
1682  *      This symbol contains the size of a long long, so that the \r
1683  *      C preprocessor can make decisions based on it.  It is only\r
1684  *      defined if the system supports long long.\r
1685  */\r
1686 /*#define HAS_LONG_LONG         /**/\r
1687 #ifdef HAS_LONG_LONG\r
1688 #define LONGLONGSIZE 8          /**/\r
1689 #endif\r
1690 \r
1691 /* HAS_LSEEK_PROTO:\r
1692  *      This symbol, if defined, indicates that the system provides\r
1693  *      a prototype for the lseek() function.  Otherwise, it is up\r
1694  *      to the program to supply one.  A good guess is\r
1695  *              extern off_t lseek(int, off_t, int);\r
1696  */\r
1697 #define HAS_LSEEK_PROTO /**/\r
1698 \r
1699 /* HAS_MADVISE:\r
1700  *      This symbol, if defined, indicates that the madvise system call is\r
1701  *      available to map a file into memory.\r
1702  */\r
1703 /*#define HAS_MADVISE           /**/\r
1704 \r
1705 /* HAS_MEMCHR:\r
1706  *      This symbol, if defined, indicates that the memchr routine is available\r
1707  *      to locate characters within a C string.\r
1708  */\r
1709 #define HAS_MEMCHR      /**/\r
1710 \r
1711 /* HAS_MKDTEMP:\r
1712  *      This symbol, if defined, indicates that the mkdtemp routine is\r
1713  *      available to exclusively create a uniquely named temporary directory.\r
1714  */\r
1715 /*#define HAS_MKDTEMP           /**/\r
1716 \r
1717 /* HAS_MKSTEMP:\r
1718  *      This symbol, if defined, indicates that the mkstemp routine is\r
1719  *      available to exclusively create and open a uniquely named\r
1720  *      temporary file.\r
1721  */\r
1722 /*#define HAS_MKSTEMP           /**/\r
1723 \r
1724 /* HAS_MKSTEMPS:\r
1725  *      This symbol, if defined, indicates that the mkstemps routine is\r
1726  *      available to excluslvely create and open a uniquely named\r
1727  *      (with a suffix) temporary file.\r
1728  */\r
1729 /*#define HAS_MKSTEMPS          /**/\r
1730 \r
1731 /* HAS_MMAP:\r
1732  *      This symbol, if defined, indicates that the mmap system call is\r
1733  *      available to map a file into memory.\r
1734  */\r
1735 /* Mmap_t:\r
1736  *      This symbol holds the return type of the mmap() system call\r
1737  *      (and simultaneously the type of the first argument).\r
1738  *      Usually set to 'void *' or 'cadd_t'.\r
1739  */\r
1740 /*#define HAS_MMAP              /**/\r
1741 #define Mmap_t void *   /**/\r
1742 \r
1743 /* HAS_MODFL:\r
1744  *      This symbol, if defined, indicates that the modfl routine is\r
1745  *      available to split a long double x into a fractional part f and\r
1746  *      an integer part i such that |f| < 1.0 and (f + i) = x.\r
1747  */\r
1748 /* HAS_MODFL_POW32_BUG:\r
1749  *      This symbol, if defined, indicates that the modfl routine is\r
1750  *      broken for long doubles >= pow(2, 32).\r
1751  *      For example from 4294967303.150000 one would get 4294967302.000000\r
1752  *      and 1.150000.  The bug has been seen in certain versions of glibc,\r
1753  *      release 2.2.2 is known to be okay.\r
1754  */\r
1755 /*#define HAS_MODFL             /**/\r
1756 /*#define HAS_MODFL_POW32_BUG           /**/\r
1757 \r
1758 /* HAS_MPROTECT:\r
1759  *      This symbol, if defined, indicates that the mprotect system call is\r
1760  *      available to modify the access protection of a memory mapped file.\r
1761  */\r
1762 /*#define HAS_MPROTECT          /**/\r
1763 \r
1764 /* HAS_MSG:\r
1765  *      This symbol, if defined, indicates that the entire msg*(2) library is\r
1766  *      supported (IPC mechanism based on message queues).\r
1767  */\r
1768 /*#define HAS_MSG               /**/\r
1769 \r
1770 /* HAS_STRUCT_MSGHDR:\r
1771  *      This symbol, if defined, indicates that the struct msghdr\r
1772  *      is supported.\r
1773  */\r
1774 /*#define HAS_STRUCT_MSGHDR     /**/\r
1775 \r
1776 /* HAS_OFF64_T:\r
1777  *      This symbol will be defined if the C compiler supports off64_t.\r
1778  */\r
1779 /*#define       HAS_OFF64_T             /**/\r
1780 \r
1781 /* HAS_OPEN3:\r
1782  *      This manifest constant lets the C program know that the three\r
1783  *      argument form of open(2) is available.\r
1784  */\r
1785 /*#define HAS_OPEN3             /**/\r
1786 \r
1787 /* OLD_PTHREAD_CREATE_JOINABLE:\r
1788  *      This symbol, if defined, indicates how to create pthread\r
1789  *      in joinable (aka undetached) state.  NOTE: not defined\r
1790  *      if pthread.h already has defined PTHREAD_CREATE_JOINABLE\r
1791  *      (the new version of the constant).\r
1792  *      If defined, known values are PTHREAD_CREATE_UNDETACHED\r
1793  *      and __UNDETACHED.\r
1794  */\r
1795 /*#define OLD_PTHREAD_CREATE_JOINABLE  /**/\r
1796 \r
1797 /* HAS_PTHREAD_YIELD:\r
1798  *      This symbol, if defined, indicates that the pthread_yield \r
1799  *      routine is available to yield the execution of the current\r
1800  *      thread.  sched_yield is preferable to pthread_yield.\r
1801  */\r
1802 /* SCHED_YIELD:\r
1803  *      This symbol defines the way to yield the execution of\r
1804  *      the current thread.  Known ways are sched_yield,\r
1805  *      pthread_yield, and pthread_yield with NULL.\r
1806  */\r
1807 /* HAS_SCHED_YIELD:\r
1808  *      This symbol, if defined, indicates that the sched_yield\r
1809  *      routine is available to yield the execution of the current\r
1810  *      thread.  sched_yield is preferable to pthread_yield.\r
1811  */\r
1812 /*#define HAS_PTHREAD_YIELD     /**/\r
1813 #define SCHED_YIELD             /**/\r
1814 /*#define HAS_SCHED_YIELD       /**/\r
1815 \r
1816 /* HAS_READV:\r
1817  *      This symbol, if defined, indicates that the readv routine is\r
1818  *      available to do gather reads.  You will also need <sys/uio.h>\r
1819  *      and there I_SYSUIO.\r
1820  */\r
1821 /*#define HAS_READV             /**/\r
1822 \r
1823 /* HAS_RECVMSG:\r
1824  *      This symbol, if defined, indicates that the recvmsg routine is\r
1825  *      available to send structured socket messages.\r
1826  */\r
1827 /*#define HAS_RECVMSG           /**/\r
1828 \r
1829 /* HAS_SAFE_BCOPY:\r
1830  *      This symbol, if defined, indicates that the bcopy routine is available\r
1831  *      to copy potentially overlapping memory blocks. Normally, you should\r
1832  *      probably use memmove() or memcpy(). If neither is defined, roll your\r
1833  *      own version.\r
1834  */\r
1835 /*#define HAS_SAFE_BCOPY        /**/\r
1836 \r
1837 /* HAS_SAFE_MEMCPY:\r
1838  *      This symbol, if defined, indicates that the memcpy routine is available\r
1839  *      to copy potentially overlapping memory blocks.  If you need to\r
1840  *      copy overlapping memory blocks, you should check HAS_MEMMOVE and\r
1841  *      use memmove() instead, if available.\r
1842  */\r
1843 /*#define HAS_SAFE_MEMCPY       /**/\r
1844 \r
1845 /* HAS_SANE_MEMCMP:\r
1846  *      This symbol, if defined, indicates that the memcmp routine is available\r
1847  *      and can be used to compare relative magnitudes of chars with their high\r
1848  *      bits set.  If it is not defined, roll your own version.\r
1849  */\r
1850 #define HAS_SANE_MEMCMP /**/\r
1851 \r
1852 /* HAS_SBRK_PROTO:\r
1853  *      This symbol, if defined, indicates that the system provides\r
1854  *      a prototype for the sbrk() function.  Otherwise, it is up\r
1855  *      to the program to supply one.  Good guesses are\r
1856  *              extern void* sbrk _((int));\r
1857  *              extern void* sbrk _((size_t));\r
1858  */\r
1859 /*#define       HAS_SBRK_PROTO  /**/\r
1860 \r
1861 /* HAS_SEM:\r
1862  *      This symbol, if defined, indicates that the entire sem*(2) library is\r
1863  *      supported.\r
1864  */\r
1865 /*#define HAS_SEM               /**/\r
1866 \r
1867 /* HAS_SENDMSG:\r
1868  *      This symbol, if defined, indicates that the sendmsg routine is\r
1869  *      available to send structured socket messages.\r
1870  */\r
1871 /*#define HAS_SENDMSG           /**/\r
1872 \r
1873 /* HAS_SETGRENT:\r
1874  *      This symbol, if defined, indicates that the setgrent routine is\r
1875  *      available for initializing sequential access of the group database.\r
1876  */\r
1877 /*#define HAS_SETGRENT          /**/\r
1878 \r
1879 /* HAS_SETGROUPS:\r
1880  *      This symbol, if defined, indicates that the setgroups() routine is\r
1881  *      available to set the list of process groups.  If unavailable, multiple\r
1882  *      groups are probably not supported.\r
1883  */\r
1884 /*#define HAS_SETGROUPS         /**/\r
1885 \r
1886 /* HAS_SETHOSTENT:\r
1887  *      This symbol, if defined, indicates that the sethostent() routine is\r
1888  *      available.\r
1889  */\r
1890 /*#define HAS_SETHOSTENT                /**/\r
1891 \r
1892 /* HAS_SETITIMER:\r
1893  *      This symbol, if defined, indicates that the setitimer routine is\r
1894  *      available to set interval timers.\r
1895  */\r
1896 /*#define HAS_SETITIMER         /**/\r
1897 \r
1898 /* HAS_SETNETENT:\r
1899  *      This symbol, if defined, indicates that the setnetent() routine is\r
1900  *      available.\r
1901  */\r
1902 /*#define HAS_SETNETENT         /**/\r
1903 \r
1904 /* HAS_SETPROTOENT:\r
1905  *      This symbol, if defined, indicates that the setprotoent() routine is\r
1906  *      available.\r
1907  */\r
1908 /*#define HAS_SETPROTOENT               /**/\r
1909 \r
1910 /* HAS_SETPGRP:\r
1911  *      This symbol, if defined, indicates that the setpgrp routine is\r
1912  *      available to set the current process group.\r
1913  */\r
1914 /* USE_BSD_SETPGRP:\r
1915  *      This symbol, if defined, indicates that setpgrp needs two\r
1916  *      arguments whereas USG one needs none.  See also HAS_SETPGID\r
1917  *      for a POSIX interface.\r
1918  */\r
1919 /*#define HAS_SETPGRP           /**/\r
1920 /*#define USE_BSD_SETPGRP       /**/\r
1921 \r
1922 /* HAS_SETPROCTITLE:\r
1923  *      This symbol, if defined, indicates that the setproctitle routine is\r
1924  *      available to set process title.\r
1925  */\r
1926 /*#define HAS_SETPROCTITLE              /**/\r
1927 \r
1928 /* HAS_SETPWENT:\r
1929  *      This symbol, if defined, indicates that the setpwent routine is\r
1930  *      available for initializing sequential access of the passwd database.\r
1931  */\r
1932 /*#define HAS_SETPWENT          /**/\r
1933 \r
1934 /* HAS_SETSERVENT:\r
1935  *      This symbol, if defined, indicates that the setservent() routine is\r
1936  *      available.\r
1937  */\r
1938 /*#define HAS_SETSERVENT                /**/\r
1939 \r
1940 /* HAS_SETVBUF:\r
1941  *      This symbol, if defined, indicates that the setvbuf routine is\r
1942  *      available to change buffering on an open stdio stream.\r
1943  *      to a line-buffered mode.\r
1944  */\r
1945 /*#define HAS_SETVBUF           /**/\r
1946 \r
1947 /* USE_SFIO:\r
1948  *      This symbol, if defined, indicates that sfio should\r
1949  *      be used.\r
1950  */\r
1951 /*#define       USE_SFIO                /**/\r
1952 \r
1953 /* HAS_SHM:\r
1954  *      This symbol, if defined, indicates that the entire shm*(2) library is\r
1955  *      supported.\r
1956  */\r
1957 /*#define HAS_SHM               /**/\r
1958 \r
1959 /* HAS_SIGACTION:\r
1960  *      This symbol, if defined, indicates that Vr4's sigaction() routine\r
1961  *      is available.\r
1962  */\r
1963 /*#define HAS_SIGACTION /**/\r
1964 \r
1965 /* HAS_SIGSETJMP:\r
1966  *      This variable indicates to the C program that the sigsetjmp()\r
1967  *      routine is available to save the calling process's registers\r
1968  *      and stack environment for later use by siglongjmp(), and\r
1969  *      to optionally save the process's signal mask.  See\r
1970  *      Sigjmp_buf, Sigsetjmp, and Siglongjmp.\r
1971  */\r
1972 /* Sigjmp_buf:\r
1973  *      This is the buffer type to be used with Sigsetjmp and Siglongjmp.\r
1974  */\r
1975 /* Sigsetjmp:\r
1976  *      This macro is used in the same way as sigsetjmp(), but will invoke\r
1977  *      traditional setjmp() if sigsetjmp isn't available.\r
1978  *      See HAS_SIGSETJMP.\r
1979  */\r
1980 /* Siglongjmp:\r
1981  *      This macro is used in the same way as siglongjmp(), but will invoke\r
1982  *      traditional longjmp() if siglongjmp isn't available.\r
1983  *      See HAS_SIGSETJMP.\r
1984  */\r
1985 /*#define HAS_SIGSETJMP /**/\r
1986 #ifdef HAS_SIGSETJMP\r
1987 #define Sigjmp_buf sigjmp_buf\r
1988 #define Sigsetjmp(buf,save_mask) sigsetjmp((buf),(save_mask))\r
1989 #define Siglongjmp(buf,retval) siglongjmp((buf),(retval))\r
1990 #else\r
1991 #define Sigjmp_buf jmp_buf\r
1992 #define Sigsetjmp(buf,save_mask) setjmp((buf))\r
1993 #define Siglongjmp(buf,retval) longjmp((buf),(retval))\r
1994 #endif\r
1995 \r
1996 /* HAS_SOCKET:\r
1997  *      This symbol, if defined, indicates that the BSD socket interface is\r
1998  *      supported.\r
1999  */\r
2000 /* HAS_SOCKETPAIR:\r
2001  *      This symbol, if defined, indicates that the BSD socketpair() call is\r
2002  *      supported.\r
2003  */\r
2004 /* HAS_MSG_CTRUNC:\r
2005  *      This symbol, if defined, indicates that the MSG_CTRUNC is supported.\r
2006  *      Checking just with #ifdef might not be enough because this symbol\r
2007  *      has been known to be an enum.\r
2008  */\r
2009 /* HAS_MSG_DONTROUTE:\r
2010  *      This symbol, if defined, indicates that the MSG_DONTROUTE is supported.\r
2011  *      Checking just with #ifdef might not be enough because this symbol\r
2012  *      has been known to be an enum.\r
2013  */\r
2014 /* HAS_MSG_OOB:\r
2015  *      This symbol, if defined, indicates that the MSG_OOB is supported.\r
2016  *      Checking just with #ifdef might not be enough because this symbol\r
2017  *      has been known to be an enum.\r
2018  */\r
2019 /* HAS_MSG_PEEK:\r
2020  *      This symbol, if defined, indicates that the MSG_PEEK is supported.\r
2021  *      Checking just with #ifdef might not be enough because this symbol\r
2022  *      has been known to be an enum.\r
2023  */\r
2024 /* HAS_MSG_PROXY:\r
2025  *      This symbol, if defined, indicates that the MSG_PROXY is supported.\r
2026  *      Checking just with #ifdef might not be enough because this symbol\r
2027  *      has been known to be an enum.\r
2028  */\r
2029 /* HAS_SCM_RIGHTS:\r
2030  *      This symbol, if defined, indicates that the SCM_RIGHTS is supported.\r
2031  *      Checking just with #ifdef might not be enough because this symbol\r
2032  *      has been known to be an enum.\r
2033  */\r
2034 #define HAS_SOCKET              /**/\r
2035 /*#define       HAS_SOCKETPAIR  /**/\r
2036 /*#define       HAS_MSG_CTRUNC  /**/\r
2037 /*#define       HAS_MSG_DONTROUTE       /**/\r
2038 /*#define       HAS_MSG_OOB     /**/\r
2039 /*#define       HAS_MSG_PEEK    /**/\r
2040 /*#define       HAS_MSG_PROXY   /**/\r
2041 /*#define       HAS_SCM_RIGHTS  /**/\r
2042 \r
2043 /* HAS_SOCKS5_INIT:\r
2044  *      This symbol, if defined, indicates that the socks5_init routine is\r
2045  *      available to initialize SOCKS 5.\r
2046  */\r
2047 /*#define HAS_SOCKS5_INIT               /**/\r
2048 \r
2049 /* HAS_SQRTL:\r
2050  *      This symbol, if defined, indicates that the sqrtl routine is\r
2051  *      available to do long double square roots.\r
2052  */\r
2053 /*#define HAS_SQRTL             /**/\r
2054 \r
2055 /* USE_STAT_BLOCKS:\r
2056  *      This symbol is defined if this system has a stat structure declaring\r
2057  *      st_blksize and st_blocks.\r
2058  */\r
2059 #ifndef USE_STAT_BLOCKS\r
2060 /*#define USE_STAT_BLOCKS       /**/\r
2061 #endif\r
2062 \r
2063 /* HAS_STRUCT_STATFS_F_FLAGS:\r
2064  *      This symbol, if defined, indicates that the struct statfs\r
2065  *      does have the f_flags member containing the mount flags of\r
2066  *      the filesystem containing the file.\r
2067  *      This kind of struct statfs is coming from <sys/mount.h> (BSD 4.3),\r
2068  *      not from <sys/statfs.h> (SYSV).  Older BSDs (like Ultrix) do not\r
2069  *      have statfs() and struct statfs, they have ustat() and getmnt()\r
2070  *      with struct ustat and struct fs_data.\r
2071  */\r
2072 /*#define HAS_STRUCT_STATFS_F_FLAGS             /**/\r
2073 \r
2074 /* HAS_STRUCT_STATFS:\r
2075  *      This symbol, if defined, indicates that the struct statfs\r
2076  *      to do statfs() is supported.\r
2077  */\r
2078 /*#define HAS_STRUCT_STATFS     /**/\r
2079 \r
2080 /* HAS_FSTATVFS:\r
2081  *      This symbol, if defined, indicates that the fstatvfs routine is\r
2082  *      available to stat filesystems by file descriptors.\r
2083  */\r
2084 /*#define HAS_FSTATVFS          /**/\r
2085 \r
2086 /* USE_STDIO_PTR:\r
2087  *      This symbol is defined if the _ptr and _cnt fields (or similar)\r
2088  *      of the stdio FILE structure can be used to access the stdio buffer\r
2089  *      for a file handle.  If this is defined, then the FILE_ptr(fp)\r
2090  *      and FILE_cnt(fp) macros will also be defined and should be used\r
2091  *      to access these fields.\r
2092  */\r
2093 /* FILE_ptr:\r
2094  *      This macro is used to access the _ptr field (or equivalent) of the\r
2095  *      FILE structure pointed to by its argument. This macro will always be\r
2096  *      defined if USE_STDIO_PTR is defined.\r
2097  */\r
2098 /* STDIO_PTR_LVALUE:\r
2099  *      This symbol is defined if the FILE_ptr macro can be used as an\r
2100  *      lvalue.\r
2101  */\r
2102 /* FILE_cnt:\r
2103  *      This macro is used to access the _cnt field (or equivalent) of the\r
2104  *      FILE structure pointed to by its argument. This macro will always be\r
2105  *      defined if USE_STDIO_PTR is defined.\r
2106  */\r
2107 /* STDIO_CNT_LVALUE:\r
2108  *      This symbol is defined if the FILE_cnt macro can be used as an\r
2109  *      lvalue.\r
2110  */\r
2111 /* STDIO_PTR_LVAL_SETS_CNT:\r
2112  *      This symbol is defined if using the FILE_ptr macro as an lvalue\r
2113  *      to increase the pointer by n has the side effect of decreasing the\r
2114  *      value of File_cnt(fp) by n.\r
2115  */\r
2116 /* STDIO_PTR_LVAL_NOCHANGE_CNT:\r
2117  *      This symbol is defined if using the FILE_ptr macro as an lvalue\r
2118  *      to increase the pointer by n leaves File_cnt(fp) unchanged.\r
2119  */\r
2120 /*#define USE_STDIO_PTR         /**/\r
2121 #ifdef USE_STDIO_PTR\r
2122 #define FILE_ptr(fp)    \r
2123 /*#define STDIO_PTR_LVALUE              /**/\r
2124 #define FILE_cnt(fp)    \r
2125 /*#define STDIO_CNT_LVALUE              /**/\r
2126 /*#define STDIO_PTR_LVAL_SETS_CNT       /**/\r
2127 /*#define STDIO_PTR_LVAL_NOCHANGE_CNT   /**/\r
2128 #endif\r
2129 \r
2130 /* USE_STDIO_BASE:\r
2131  *      This symbol is defined if the _base field (or similar) of the\r
2132  *      stdio FILE structure can be used to access the stdio buffer for\r
2133  *      a file handle.  If this is defined, then the FILE_base(fp) macro\r
2134  *      will also be defined and should be used to access this field.\r
2135  *      Also, the FILE_bufsiz(fp) macro will be defined and should be used\r
2136  *      to determine the number of bytes in the buffer.  USE_STDIO_BASE\r
2137  *      will never be defined unless USE_STDIO_PTR is.\r
2138  */\r
2139 /* FILE_base:\r
2140  *      This macro is used to access the _base field (or equivalent) of the\r
2141  *      FILE structure pointed to by its argument. This macro will always be\r
2142  *      defined if USE_STDIO_BASE is defined.\r
2143  */\r
2144 /* FILE_bufsiz:\r
2145  *      This macro is used to determine the number of bytes in the I/O\r
2146  *      buffer pointed to by _base field (or equivalent) of the FILE\r
2147  *      structure pointed to its argument. This macro will always be defined\r
2148  *      if USE_STDIO_BASE is defined.\r
2149  */\r
2150 /*#define USE_STDIO_BASE        /**/\r
2151 #ifdef USE_STDIO_BASE\r
2152 #define FILE_base(fp)   \r
2153 #define FILE_bufsiz(fp) \r
2154 #endif\r
2155 \r
2156 /* HAS_STRERROR:\r
2157  *      This symbol, if defined, indicates that the strerror routine is\r
2158  *      available to translate error numbers to strings. See the writeup\r
2159  *      of Strerror() in this file before you try to define your own.\r
2160  */\r
2161 /* HAS_SYS_ERRLIST:\r
2162  *      This symbol, if defined, indicates that the sys_errlist array is\r
2163  *      available to translate error numbers to strings. The extern int\r
2164  *      sys_nerr gives the size of that table.\r
2165  */\r
2166 /* Strerror:\r
2167  *      This preprocessor symbol is defined as a macro if strerror() is\r
2168  *      not available to translate error numbers to strings but sys_errlist[]\r
2169  *      array is there.\r
2170  */\r
2171 #define HAS_STRERROR            /**/\r
2172 #define HAS_SYS_ERRLIST /**/\r
2173 #define Strerror(e) strerror(e)\r
2174 \r
2175 /* HAS_STRTOLD:\r
2176  *      This symbol, if defined, indicates that the strtold routine is\r
2177  *      available to convert strings to long doubles.\r
2178  */\r
2179 /*#define HAS_STRTOLD           /**/\r
2180 \r
2181 /* HAS_STRTOLL:\r
2182  *      This symbol, if defined, indicates that the strtoll routine is\r
2183  *      available to convert strings to long longs.\r
2184  */\r
2185 /*#define HAS_STRTOLL           /**/\r
2186 \r
2187 /* HAS_STRTOQ:\r
2188  *      This symbol, if defined, indicates that the strtoq routine is\r
2189  *      available to convert strings to long longs (quads).\r
2190  */\r
2191 /*#define HAS_STRTOQ            /**/\r
2192 \r
2193 /* HAS_STRTOUL:\r
2194  *      This symbol, if defined, indicates that the strtoul routine is\r
2195  *      available to provide conversion of strings to unsigned long.\r
2196  */\r
2197 #define HAS_STRTOUL     /**/\r
2198 \r
2199 /* HAS_STRTOULL:\r
2200  *      This symbol, if defined, indicates that the strtoull routine is\r
2201  *      available to convert strings to unsigned long longs.\r
2202  */\r
2203 /*#define HAS_STRTOULL          /**/\r
2204 \r
2205 /* HAS_STRTOUQ:\r
2206  *      This symbol, if defined, indicates that the strtouq routine is\r
2207  *      available to convert strings to unsigned long longs (quads).\r
2208  */\r
2209 /*#define HAS_STRTOUQ           /**/\r
2210 \r
2211 /* HAS_TELLDIR_PROTO:\r
2212  *      This symbol, if defined, indicates that the system provides\r
2213  *      a prototype for the telldir() function.  Otherwise, it is up\r
2214  *      to the program to supply one.  A good guess is\r
2215  *              extern long telldir _((DIR*));\r
2216  */\r
2217 #define HAS_TELLDIR_PROTO       /**/\r
2218 \r
2219 /* Time_t:\r
2220  *      This symbol holds the type returned by time(). It can be long,\r
2221  *      or time_t on BSD sites (in which case <sys/types.h> should be\r
2222  *      included).\r
2223  */\r
2224 #define Time_t time_t           /* Time type */\r
2225 \r
2226 /* HAS_TIMES:\r
2227  *      This symbol, if defined, indicates that the times() routine exists.\r
2228  *      Note that this became obsolete on some systems (SUNOS), which now\r
2229  * use getrusage(). It may be necessary to include <sys/times.h>.\r
2230  */\r
2231 #define HAS_TIMES               /**/\r
2232 \r
2233 /* HAS_UALARM:\r
2234  *      This symbol, if defined, indicates that the ualarm routine is\r
2235  *      available to do alarms with microsecond granularity.\r
2236  */\r
2237 /*#define HAS_UALARM            /**/\r
2238 \r
2239 /* HAS_UNION_SEMUN:\r
2240  *      This symbol, if defined, indicates that the union semun is\r
2241  *      defined by including <sys/sem.h>.  If not, the user code\r
2242  *      probably needs to define it as:\r
2243  *      union semun {\r
2244  *          int val;\r
2245  *          struct semid_ds *buf;\r
2246  *          unsigned short *array;\r
2247  *      }\r
2248  */\r
2249 /* USE_SEMCTL_SEMUN:\r
2250  *      This symbol, if defined, indicates that union semun is\r
2251  *      used for semctl IPC_STAT.\r
2252  */\r
2253 /* USE_SEMCTL_SEMID_DS:\r
2254  *      This symbol, if defined, indicates that struct semid_ds * is\r
2255  *      used for semctl IPC_STAT.\r
2256  */\r
2257 #define HAS_UNION_SEMUN /**/\r
2258 /*#define USE_SEMCTL_SEMUN      /**/\r
2259 /*#define USE_SEMCTL_SEMID_DS   /**/\r
2260 \r
2261 /* HAS_USTAT:\r
2262  *      This symbol, if defined, indicates that the ustat system call is\r
2263  *      available to query file system statistics by dev_t.\r
2264  */\r
2265 /*#define HAS_USTAT             /**/\r
2266 \r
2267 /* HAS_VFORK:\r
2268  *      This symbol, if defined, indicates that vfork() exists.\r
2269  */\r
2270 /*#define HAS_VFORK     /**/\r
2271 \r
2272 /* Signal_t:\r
2273  *      This symbol's value is either "void" or "int", corresponding to the\r
2274  *      appropriate return type of a signal handler.  Thus, you can declare\r
2275  *      a signal handler using "Signal_t (*handler)()", and define the\r
2276  *      handler using "Signal_t handler(sig)".\r
2277  */\r
2278 #define Signal_t void   /* Signal handler's return type */\r
2279 \r
2280 /* HAS_VPRINTF:\r
2281  *      This symbol, if defined, indicates that the vprintf routine is available\r
2282  *      to printf with a pointer to an argument list.  If unavailable, you\r
2283  *      may need to write your own, probably in terms of _doprnt().\r
2284  */\r
2285 /* USE_CHAR_VSPRINTF:\r
2286  *      This symbol is defined if this system has vsprintf() returning type\r
2287  *      (char*).  The trend seems to be to declare it as "int vsprintf()".  It\r
2288  *      is up to the package author to declare vsprintf correctly based on the\r
2289  *      symbol.\r
2290  */\r
2291 #define HAS_VPRINTF     /**/\r
2292 /*#define USE_CHAR_VSPRINTF     /**/\r
2293 \r
2294 /* HAS_WRITEV:\r
2295  *      This symbol, if defined, indicates that the writev routine is\r
2296  *      available to do scatter writes.\r
2297  */\r
2298 /*#define HAS_WRITEV            /**/\r
2299 \r
2300 /* USE_DYNAMIC_LOADING:\r
2301  *      This symbol, if defined, indicates that dynamic loading of\r
2302  *      some sort is available.\r
2303  */\r
2304 #define USE_DYNAMIC_LOADING             /**/\r
2305 \r
2306 /* DOUBLESIZE:\r
2307  *      This symbol contains the size of a double, so that the C preprocessor\r
2308  *      can make decisions based on it.\r
2309  */\r
2310 #define DOUBLESIZE 8            /**/\r
2311 \r
2312 /* EBCDIC:\r
2313  *     This symbol, if defined, indicates that this system uses\r
2314  *      EBCDIC encoding.\r
2315  */\r
2316 /*#define       EBCDIC          /**/\r
2317 \r
2318 /* FFLUSH_NULL:\r
2319  *      This symbol, if defined, tells that fflush(NULL) does flush\r
2320  *      all pending stdio output.\r
2321  */\r
2322 /* FFLUSH_ALL:\r
2323  *      This symbol, if defined, tells that to flush\r
2324  *      all pending stdio output one must loop through all\r
2325  *      the stdio file handles stored in an array and fflush them.\r
2326  *      Note that if fflushNULL is defined, fflushall will not\r
2327  *      even be probed for and will be left undefined.\r
2328  */\r
2329 #define FFLUSH_NULL             /**/\r
2330 /*#define       FFLUSH_ALL              /**/\r
2331 \r
2332 /* Fpos_t:\r
2333  *      This symbol holds the type used to declare file positions in libc.\r
2334  *      It can be fpos_t, long, uint, etc... It may be necessary to include\r
2335  *      <sys/types.h> to get any typedef'ed information.\r
2336  */\r
2337 #define Fpos_t fpos_t           /* File position type */\r
2338 \r
2339 /* Gid_t_f:\r
2340  *      This symbol defines the format string used for printing a Gid_t.\r
2341  */\r
2342 #define Gid_t_f         "ld"            /**/\r
2343 \r
2344 /* Gid_t_sign:\r
2345  *      This symbol holds the signedess of a Gid_t.\r
2346  *      1 for unsigned, -1 for signed.\r
2347  */\r
2348 #define Gid_t_sign      -1              /* GID sign */\r
2349 \r
2350 /* Gid_t_size:\r
2351  *      This symbol holds the size of a Gid_t in bytes.\r
2352  */\r
2353 #define Gid_t_size 4            /* GID size */\r
2354 \r
2355 /* Gid_t:\r
2356  *      This symbol holds the return type of getgid() and the type of\r
2357  *      argument to setrgid() and related functions.  Typically,\r
2358  *      it is the type of group ids in the kernel. It can be int, ushort,\r
2359  *      gid_t, etc... It may be necessary to include <sys/types.h> to get\r
2360  *      any typedef'ed information.\r
2361  */\r
2362 #define Gid_t gid_t             /* Type for getgid(), etc... */\r
2363 \r
2364 /* Groups_t:\r
2365  *      This symbol holds the type used for the second argument to\r
2366  *      getgroups() and setgroups().  Usually, this is the same as\r
2367  *      gidtype (gid_t) , but sometimes it isn't.\r
2368  *      It can be int, ushort, gid_t, etc... \r
2369  *      It may be necessary to include <sys/types.h> to get any \r
2370  *      typedef'ed information.  This is only required if you have\r
2371  *      getgroups() or setgroups()..\r
2372  */\r
2373 #if defined(HAS_GETGROUPS) || defined(HAS_SETGROUPS)\r
2374 #define Groups_t gid_t  /* Type for 2nd arg to [sg]etgroups() */\r
2375 #endif\r
2376 \r
2377 /* DB_Prefix_t:\r
2378  *      This symbol contains the type of the prefix structure element\r
2379  *      in the <db.h> header file.  In older versions of DB, it was\r
2380  *      int, while in newer ones it is u_int32_t.\r
2381  */\r
2382 /* DB_Hash_t:\r
2383  *      This symbol contains the type of the prefix structure element\r
2384  *      in the <db.h> header file.  In older versions of DB, it was\r
2385  *      int, while in newer ones it is size_t.\r
2386  */\r
2387 /* DB_VERSION_MAJOR_CFG:\r
2388  *      This symbol, if defined, defines the major version number of\r
2389  *      Berkeley DB found in the <db.h> header when Perl was configured.\r
2390  */\r
2391 /* DB_VERSION_MINOR_CFG:\r
2392  *      This symbol, if defined, defines the minor version number of\r
2393  *      Berkeley DB found in the <db.h> header when Perl was configured.\r
2394  *      For DB version 1 this is always 0.\r
2395  */\r
2396 /* DB_VERSION_PATCH_CFG:\r
2397  *      This symbol, if defined, defines the patch version number of\r
2398  *      Berkeley DB found in the <db.h> header when Perl was configured.\r
2399  *      For DB version 1 this is always 0.\r
2400  */\r
2401 #define DB_Hash_t       int             /**/\r
2402 #define DB_Prefix_t     int     /**/\r
2403 #define DB_VERSION_MAJOR_CFG    undef   /**/\r
2404 #define DB_VERSION_MINOR_CFG    undef   /**/\r
2405 #define DB_VERSION_PATCH_CFG    undef   /**/\r
2406 \r
2407 /* I_GRP:\r
2408  *      This symbol, if defined, indicates to the C program that it should\r
2409  *      include <grp.h>.\r
2410  */\r
2411 /* GRPASSWD:\r
2412  *      This symbol, if defined, indicates to the C program that struct group\r
2413  *      in <grp.h> contains gr_passwd.\r
2414  */\r
2415 /*#define I_GRP         /**/\r
2416 /*#define GRPASSWD      /**/\r
2417 \r
2418 /* I_ICONV:\r
2419  *      This symbol, if defined, indicates that <iconv.h> exists and\r
2420  *      should be included.\r
2421  */\r
2422 /*#define       I_ICONV         /**/\r
2423 \r
2424 /* I_IEEEFP:\r
2425  *      This symbol, if defined, indicates that <ieeefp.h> exists and\r
2426  *      should be included.\r
2427  */\r
2428 /*#define       I_IEEEFP                /**/\r
2429 \r
2430 /* I_INTTYPES:\r
2431  *     This symbol, if defined, indicates to the C program that it should\r
2432  *     include <inttypes.h>.\r
2433  */\r
2434 /*#define   I_INTTYPES                /**/\r
2435 \r
2436 /* I_LIBUTIL:\r
2437  *      This symbol, if defined, indicates that <libutil.h> exists and\r
2438  *      should be included.\r
2439  */\r
2440 /*#define       I_LIBUTIL               /**/\r
2441 \r
2442 /* I_MACH_CTHREADS:\r
2443  *     This symbol, if defined, indicates to the C program that it should\r
2444  *     include <mach/cthreads.h>.\r
2445  */\r
2446 /*#define   I_MACH_CTHREADS     /**/\r
2447 \r
2448 /* I_MNTENT:\r
2449  *      This symbol, if defined, indicates that <mntent.h> exists and\r
2450  *      should be included.\r
2451  */\r
2452 /*#define       I_MNTENT                /**/\r
2453 \r
2454 /* I_NETDB:\r
2455  *      This symbol, if defined, indicates that <netdb.h> exists and\r
2456  *      should be included.\r
2457  */\r
2458 /*#define I_NETDB               /**/\r
2459 \r
2460 /* I_NETINET_TCP:\r
2461  *     This symbol, if defined, indicates to the C program that it should\r
2462  *     include <netinet/tcp.h>.\r
2463  */\r
2464 /*#define   I_NETINET_TCP                /**/\r
2465 \r
2466 /* I_POLL:\r
2467  *      This symbol, if defined, indicates that <poll.h> exists and\r
2468  *      should be included.\r
2469  */\r
2470 /*#define       I_POLL          /**/\r
2471 \r
2472 /* I_PROT:\r
2473  *      This symbol, if defined, indicates that <prot.h> exists and\r
2474  *      should be included.\r
2475  */\r
2476 /*#define       I_PROT          /**/\r
2477 \r
2478 /* I_PTHREAD:\r
2479  *     This symbol, if defined, indicates to the C program that it should\r
2480  *     include <pthread.h>.\r
2481  */\r
2482 /*#define   I_PTHREAD   /**/\r
2483 \r
2484 /* I_PWD:\r
2485  *      This symbol, if defined, indicates to the C program that it should\r
2486  *      include <pwd.h>.\r
2487  */\r
2488 /* PWQUOTA:\r
2489  *      This symbol, if defined, indicates to the C program that struct passwd\r
2490  *      contains pw_quota.\r
2491  */\r
2492 /* PWAGE:\r
2493  *      This symbol, if defined, indicates to the C program that struct passwd\r
2494  *      contains pw_age.\r
2495  */\r
2496 /* PWCHANGE:\r
2497  *      This symbol, if defined, indicates to the C program that struct passwd\r
2498  *      contains pw_change.\r
2499  */\r
2500 /* PWCLASS:\r
2501  *      This symbol, if defined, indicates to the C program that struct passwd\r
2502  *      contains pw_class.\r
2503  */\r
2504 /* PWEXPIRE:\r
2505  *      This symbol, if defined, indicates to the C program that struct passwd\r
2506  *      contains pw_expire.\r
2507  */\r
2508 /* PWCOMMENT:\r
2509  *      This symbol, if defined, indicates to the C program that struct passwd\r
2510  *      contains pw_comment.\r
2511  */\r
2512 /* PWGECOS:\r
2513  *      This symbol, if defined, indicates to the C program that struct passwd\r
2514  *      contains pw_gecos.\r
2515  */\r
2516 /* PWPASSWD:\r
2517  *      This symbol, if defined, indicates to the C program that struct passwd\r
2518  *      contains pw_passwd.\r
2519  */\r
2520 /*#define I_PWD         /**/\r
2521 /*#define PWQUOTA       /**/\r
2522 /*#define PWAGE /**/\r
2523 /*#define PWCHANGE      /**/\r
2524 /*#define PWCLASS       /**/\r
2525 /*#define PWEXPIRE      /**/\r
2526 /*#define PWCOMMENT     /**/\r
2527 /*#define PWGECOS       /**/\r
2528 /*#define PWPASSWD      /**/\r
2529 \r
2530 /* I_SHADOW:\r
2531  *      This symbol, if defined, indicates that <shadow.h> exists and\r
2532  *      should be included.\r
2533  */\r
2534 /*#define       I_SHADOW                /**/\r
2535 \r
2536 /* I_SOCKS:\r
2537  *      This symbol, if defined, indicates that <socks.h> exists and\r
2538  *      should be included.\r
2539  */\r
2540 /*#define       I_SOCKS         /**/\r
2541 \r
2542 /* I_SUNMATH:\r
2543  *      This symbol, if defined, indicates that <sunmath.h> exists and\r
2544  *      should be included.\r
2545  */\r
2546 /*#define       I_SUNMATH               /**/\r
2547 \r
2548 /* I_SYSLOG:\r
2549  *      This symbol, if defined, indicates that <syslog.h> exists and\r
2550  *      should be included.\r
2551  */\r
2552 /*#define       I_SYSLOG                /**/\r
2553 \r
2554 /* I_SYSMODE:\r
2555  *      This symbol, if defined, indicates that <sys/mode.h> exists and\r
2556  *      should be included.\r
2557  */\r
2558 /*#define       I_SYSMODE               /**/\r
2559 \r
2560 /* I_SYS_MOUNT:\r
2561  *      This symbol, if defined, indicates that <sys/mount.h> exists and\r
2562  *      should be included.\r
2563  */\r
2564 /*#define       I_SYS_MOUNT             /**/\r
2565 \r
2566 /* I_SYS_STATFS:\r
2567  *      This symbol, if defined, indicates that <sys/statfs.h> exists.\r
2568  */\r
2569 /*#define       I_SYS_STATFS            /**/\r
2570 \r
2571 /* I_SYS_STATVFS:\r
2572  *      This symbol, if defined, indicates that <sys/statvfs.h> exists and\r
2573  *      should be included.\r
2574  */\r
2575 /*#define       I_SYS_STATVFS           /**/\r
2576 \r
2577 /* I_SYSUIO:\r
2578  *      This symbol, if defined, indicates that <sys/uio.h> exists and\r
2579  *      should be included.\r
2580  */\r
2581 /*#define       I_SYSUIO                /**/\r
2582 \r
2583 /* I_SYSUTSNAME:\r
2584  *      This symbol, if defined, indicates that <sys/utsname.h> exists and\r
2585  *      should be included.\r
2586  */\r
2587 /*#define       I_SYSUTSNAME            /**/\r
2588 \r
2589 /* I_SYS_VFS:\r
2590  *      This symbol, if defined, indicates that <sys/vfs.h> exists and\r
2591  *      should be included.\r
2592  */\r
2593 /*#define       I_SYS_VFS               /**/\r
2594 \r
2595 /* I_TIME:\r
2596  *      This symbol, if defined, indicates to the C program that it should\r
2597  *      include <time.h>.\r
2598  */\r
2599 /* I_SYS_TIME:\r
2600  *      This symbol, if defined, indicates to the C program that it should\r
2601  *      include <sys/time.h>.\r
2602  */\r
2603 /* I_SYS_TIME_KERNEL:\r
2604  *      This symbol, if defined, indicates to the C program that it should\r
2605  *      include <sys/time.h> with KERNEL defined.\r
2606  */\r
2607 /*#define I_TIME                /**/\r
2608 /*#define I_SYS_TIME            /**/\r
2609 /*#define I_SYS_TIME_KERNEL             /**/\r
2610 \r
2611 /* I_USTAT:\r
2612  *      This symbol, if defined, indicates that <ustat.h> exists and\r
2613  *      should be included.\r
2614  */\r
2615 /*#define       I_USTAT         /**/\r
2616 \r
2617 /* PERL_INC_VERSION_LIST:\r
2618  *      This variable specifies the list of subdirectories in over\r
2619  *      which perl.c:incpush() and lib/lib.pm will automatically\r
2620  *      search when adding directories to @INC, in a format suitable\r
2621  *      for a C initialization string.  See the inc_version_list entry\r
2622  *      in Porting/Glossary for more details.\r
2623  */\r
2624 #define PERL_INC_VERSION_LIST 0         /**/\r
2625 \r
2626 /* INSTALL_USR_BIN_PERL:\r
2627  *      This symbol, if defined, indicates that Perl is to be installed\r
2628  *      also as /usr/bin/perl.\r
2629  */\r
2630 /*#define INSTALL_USR_BIN_PERL  /**/\r
2631 \r
2632 /* PERL_PRIfldbl:\r
2633  *      This symbol, if defined, contains the string used by stdio to\r
2634  *      format long doubles (format 'f') for output.\r
2635  */\r
2636 /* PERL_PRIgldbl:\r
2637  *      This symbol, if defined, contains the string used by stdio to\r
2638  *      format long doubles (format 'g') for output.\r
2639  */\r
2640 /* PERL_PRIeldbl:\r
2641  *      This symbol, if defined, contains the string used by stdio to\r
2642  *      format long doubles (format 'e') for output.\r
2643  */\r
2644 /* PERL_SCNfldbl:\r
2645  *      This symbol, if defined, contains the string used by stdio to\r
2646  *      format long doubles (format 'f') for input.\r
2647  */\r
2648 /*#define PERL_PRIfldbl "f"     /**/\r
2649 /*#define PERL_PRIgldbl "g"     /**/\r
2650 /*#define PERL_PRIeldbl "e"     /**/\r
2651 /*#define PERL_SCNfldbl undef   /**/\r
2652 \r
2653 /* Off_t:\r
2654  *      This symbol holds the type used to declare offsets in the kernel.\r
2655  *      It can be int, long, off_t, etc... It may be necessary to include\r
2656  *      <sys/types.h> to get any typedef'ed information.\r
2657  */\r
2658 /* LSEEKSIZE:\r
2659  *      This symbol holds the number of bytes used by the Off_t.\r
2660  */\r
2661 /* Off_t_size:\r
2662  *      This symbol holds the number of bytes used by the Off_t.\r
2663  */\r
2664 #define Off_t long              /* <offset> type */\r
2665 #define LSEEKSIZE 4             /* <offset> size */\r
2666 #define Off_t_size 4    /* <offset> size */\r
2667 \r
2668 /* Free_t:\r
2669  *      This variable contains the return type of free().  It is usually\r
2670  * void, but occasionally int.\r
2671  */\r
2672 /* Malloc_t:\r
2673  *      This symbol is the type of pointer returned by malloc and realloc.\r
2674  */\r
2675 #define Malloc_t void *                 /**/\r
2676 #define Free_t void                     /**/\r
2677 \r
2678 /* MYMALLOC:\r
2679  *      This symbol, if defined, indicates that we're using our own malloc.\r
2680  */\r
2681 /*#define MYMALLOC                      /**/\r
2682 \r
2683 /* Mode_t:\r
2684  *      This symbol holds the type used to declare file modes \r
2685  *      for systems calls.  It is usually mode_t, but may be\r
2686  *      int or unsigned short.  It may be necessary to include <sys/types.h>\r
2687  *      to get any typedef'ed information.\r
2688  */\r
2689 #define Mode_t mode_t    /* file mode parameter for system calls */\r
2690 \r
2691 /* VAL_O_NONBLOCK:\r
2692  *      This symbol is to be used during open() or fcntl(F_SETFL) to turn on\r
2693  *      non-blocking I/O for the file descriptor. Note that there is no way\r
2694  *      back, i.e. you cannot turn it blocking again this way. If you wish to\r
2695  *      alternatively switch between blocking and non-blocking, use the\r
2696  *      ioctl(FIOSNBIO) call instead, but that is not supported by all devices.\r
2697  */\r
2698 /* VAL_EAGAIN:\r
2699  *      This symbol holds the errno error code set by read() when no data was\r
2700  *      present on the non-blocking file descriptor.\r
2701  */\r
2702 /* RD_NODATA:\r
2703  *      This symbol holds the return code from read() when no data is present\r
2704  *      on the non-blocking file descriptor. Be careful! If EOF_NONBLOCK is\r
2705  *      not defined, then you can't distinguish between no data and EOF by\r
2706  *      issuing a read(). You'll have to find another way to tell for sure!\r
2707  */\r
2708 /* EOF_NONBLOCK:\r
2709  *      This symbol, if defined, indicates to the C program that a read() on\r
2710  *      a non-blocking file descriptor will return 0 on EOF, and not the value\r
2711  *      held in RD_NODATA (-1 usually, in that case!).\r
2712  */\r
2713 #define VAL_O_NONBLOCK O_NONBLOCK\r
2714 #define VAL_EAGAIN EAGAIN\r
2715 #define RD_NODATA -1\r
2716 #define EOF_NONBLOCK\r
2717 \r
2718 /* NEED_VA_COPY:\r
2719  *      This symbol, if defined, indicates that the system stores\r
2720  *      the variable argument list datatype, va_list, in a format\r
2721  *      that cannot be copied by simple assignment, so that some\r
2722  *      other means must be used when copying is required.\r
2723  *      As such systems vary in their provision (or non-provision)\r
2724  *      of copying mechanisms, handy.h defines a platform-\r
2725  *      independent macro, Perl_va_copy(src, dst), to do the job.\r
2726  */\r
2727 /*#define       NEED_VA_COPY            /**/\r
2728 \r
2729 /* Netdb_host_t:\r
2730  *      This symbol holds the type used for the 1st argument\r
2731  *      to gethostbyaddr().\r
2732  */\r
2733 /* Netdb_hlen_t:\r
2734  *      This symbol holds the type used for the 2nd argument\r
2735  *      to gethostbyaddr().\r
2736  */\r
2737 /* Netdb_name_t:\r
2738  *      This symbol holds the type used for the argument to\r
2739  *      gethostbyname().\r
2740  */\r
2741 /* Netdb_net_t:\r
2742  *      This symbol holds the type used for the 1st argument to\r
2743  *      getnetbyaddr().\r
2744  */\r
2745 #define Netdb_host_t            char * /**/\r
2746 #define Netdb_hlen_t            int /**/\r
2747 #define Netdb_name_t            char * /**/\r
2748 #define Netdb_net_t             long /**/\r
2749 \r
2750 /* PERL_OTHERLIBDIRS:\r
2751  *      This variable contains a colon-separated set of paths for the perl\r
2752  *      binary to search for additional library files or modules.\r
2753  *      These directories will be tacked to the end of @INC.\r
2754  *      Perl will automatically search below each path for version-\r
2755  *      and architecture-specific directories.  See PERL_INC_VERSION_LIST\r
2756  *      for more details.\r
2757  */\r
2758 /*#define PERL_OTHERLIBDIRS "undef"             /**/\r
2759 \r
2760 /* IVTYPE:\r
2761  *      This symbol defines the C type used for Perl's IV.\r
2762  */\r
2763 /* UVTYPE:\r
2764  *      This symbol defines the C type used for Perl's UV.\r
2765  */\r
2766 /* I8TYPE:\r
2767  *      This symbol defines the C type used for Perl's I8.\r
2768  */\r
2769 /* U8TYPE:\r
2770  *      This symbol defines the C type used for Perl's U8.\r
2771  */\r
2772 /* I16TYPE:\r
2773  *      This symbol defines the C type used for Perl's I16.\r
2774  */\r
2775 /* U16TYPE:\r
2776  *      This symbol defines the C type used for Perl's U16.\r
2777  */\r
2778 /* I32TYPE:\r
2779  *      This symbol defines the C type used for Perl's I32.\r
2780  */\r
2781 /* U32TYPE:\r
2782  *      This symbol defines the C type used for Perl's U32.\r
2783  */\r
2784 /* I64TYPE:\r
2785  *      This symbol defines the C type used for Perl's I64.\r
2786  */\r
2787 /* U64TYPE:\r
2788  *      This symbol defines the C type used for Perl's U64.\r
2789  */\r
2790 /* NVTYPE:\r
2791  *      This symbol defines the C type used for Perl's NV.\r
2792  */\r
2793 /* IVSIZE:\r
2794  *      This symbol contains the sizeof(IV).\r
2795  */\r
2796 /* UVSIZE:\r
2797  *      This symbol contains the sizeof(UV).\r
2798  */\r
2799 /* I8SIZE:\r
2800  *      This symbol contains the sizeof(I8).\r
2801  */\r
2802 /* U8SIZE:\r
2803  *      This symbol contains the sizeof(U8).\r
2804  */\r
2805 /* I16SIZE:\r
2806  *      This symbol contains the sizeof(I16).\r
2807  */\r
2808 /* U16SIZE:\r
2809  *      This symbol contains the sizeof(U16).\r
2810  */\r
2811 /* I32SIZE:\r
2812  *      This symbol contains the sizeof(I32).\r
2813  */\r
2814 /* U32SIZE:\r
2815  *      This symbol contains the sizeof(U32).\r
2816  */\r
2817 /* I64SIZE:\r
2818  *      This symbol contains the sizeof(I64).\r
2819  */\r
2820 /* U64SIZE:\r
2821  *      This symbol contains the sizeof(U64).\r
2822  */\r
2823 /* NVSIZE:\r
2824  *      This symbol contains the sizeof(NV).\r
2825  */\r
2826 /* NV_PRESERVES_UV:\r
2827  *      This symbol, if defined, indicates that a variable of type NVTYPE\r
2828  *      can preserve all the bits of a variable of type UVTYPE.\r
2829  */\r
2830 /* NV_PRESERVES_UV_BITS:\r
2831  *      This symbol contains the number of bits a variable of type NVTYPE\r
2832  *      can preserve of a variable of type UVTYPE.\r
2833  */\r
2834 #define IVTYPE          long            /**/\r
2835 #define UVTYPE          unsigned long           /**/\r
2836 #define I8TYPE          char            /**/\r
2837 #define U8TYPE          unsigned char           /**/\r
2838 #define I16TYPE         short   /**/\r
2839 #define U16TYPE         unsigned short  /**/\r
2840 #define I32TYPE         long    /**/\r
2841 #define U32TYPE         unsigned long   /**/\r
2842 #ifdef HAS_QUAD\r
2843 #define I64TYPE         __int64 /**/\r
2844 #define U64TYPE         unsigned __int64        /**/\r
2845 #endif\r
2846 #define NVTYPE          double          /**/\r
2847 #define IVSIZE          4               /**/\r
2848 #define UVSIZE          4               /**/\r
2849 #define I8SIZE          1               /**/\r
2850 #define U8SIZE          1               /**/\r
2851 #define I16SIZE         2       /**/\r
2852 #define U16SIZE         2       /**/\r
2853 #define I32SIZE         4       /**/\r
2854 #define U32SIZE         4       /**/\r
2855 #ifdef HAS_QUAD\r
2856 #define I64SIZE         8       /**/\r
2857 #define U64SIZE         8       /**/\r
2858 #endif\r
2859 #define NVSIZE          8               /**/\r
2860 #define NV_PRESERVES_UV\r
2861 #define NV_PRESERVES_UV_BITS    undef\r
2862 \r
2863 /* IVdf:\r
2864  *      This symbol defines the format string used for printing a Perl IV\r
2865  *      as a signed decimal integer.\r
2866  */\r
2867 /* UVuf:\r
2868  *      This symbol defines the format string used for printing a Perl UV\r
2869  *      as an unsigned decimal integer.\r
2870  */\r
2871 /* UVof:\r
2872  *      This symbol defines the format string used for printing a Perl UV\r
2873  *      as an unsigned octal integer.\r
2874  */\r
2875 /* UVxf:\r
2876  *      This symbol defines the format string used for printing a Perl UV\r
2877  *      as an unsigned hexadecimal integer in lowercase abcdef.\r
2878  */\r
2879 /* UVXf:\r
2880  *      This symbol defines the format string used for printing a Perl UV\r
2881  *      as an unsigned hexadecimal integer in uppercase ABCDEF.\r
2882  */\r
2883 /* NVef:\r
2884  *      This symbol defines the format string used for printing a Perl NV\r
2885  *      using %e-ish floating point format.\r
2886  */\r
2887 /* NVff:\r
2888  *      This symbol defines the format string used for printing a Perl NV\r
2889  *      using %f-ish floating point format.\r
2890  */\r
2891 /* NVgf:\r
2892  *      This symbol defines the format string used for printing a Perl NV\r
2893  *      using %g-ish floating point format.\r
2894  */\r
2895 #define IVdf            "ld"            /**/\r
2896 #define UVuf            "lu"            /**/\r
2897 #define UVof            "lo"            /**/\r
2898 #define UVxf            "lx"            /**/\r
2899 #define UVXf            undef           /**/\r
2900 #define NVef            "e"             /**/\r
2901 #define NVff            "f"             /**/\r
2902 #define NVgf            "g"             /**/\r
2903 \r
2904 /* Pid_t:\r
2905  *      This symbol holds the type used to declare process ids in the kernel.\r
2906  *      It can be int, uint, pid_t, etc... It may be necessary to include\r
2907  *      <sys/types.h> to get any typedef'ed information.\r
2908  */\r
2909 #define Pid_t int               /* PID type */\r
2910 \r
2911 /* PRIVLIB:\r
2912  *      This symbol contains the name of the private library for this package.\r
2913  *      The library is private in the sense that it needn't be in anyone's\r
2914  *      execution path, but it should be accessible by the world.  The program\r
2915  *      should be prepared to do ~ expansion.\r
2916  */\r
2917 /* PRIVLIB_EXP:\r
2918  *      This symbol contains the ~name expanded version of PRIVLIB, to be used\r
2919  *      in programs that are not prepared to deal with ~ expansion at run-time.\r
2920  */\r
2921 #define PRIVLIB "5.7.2\\lib"            /**/\r
2922 #define PRIVLIB_EXP (win32_get_privlib("5.7.2"))        /**/\r
2923 \r
2924 /* PTRSIZE:\r
2925  *      This symbol contains the size of a pointer, so that the C preprocessor\r
2926  *      can make decisions based on it.  It will be sizeof(void *) if\r
2927  *      the compiler supports (void *); otherwise it will be\r
2928  *      sizeof(char *).\r
2929  */\r
2930 #define PTRSIZE 4               /**/\r
2931 \r
2932 /* Drand01:\r
2933  *      This macro is to be used to generate uniformly distributed\r
2934  *      random numbers over the range [0., 1.[.  You may have to supply\r
2935  *      an 'extern double drand48();' in your program since SunOS 4.1.3\r
2936  *      doesn't provide you with anything relevant in its headers.\r
2937  *      See HAS_DRAND48_PROTO.\r
2938  */\r
2939 /* Rand_seed_t:\r
2940  *      This symbol defines the type of the argument of the\r
2941  *      random seed function.\r
2942  */\r
2943 /* seedDrand01:\r
2944  *      This symbol defines the macro to be used in seeding the\r
2945  *      random number generator (see Drand01).\r
2946  */\r
2947 /* RANDBITS:\r
2948  *      This symbol indicates how many bits are produced by the\r
2949  *      function used to generate normalized random numbers.\r
2950  *      Values include 15, 16, 31, and 48.\r
2951  */\r
2952 #define Drand01()               (rand()/(double)((unsigned)1<<RANDBITS))                /**/\r
2953 #define Rand_seed_t             unsigned                /**/\r
2954 #define seedDrand01(x)  srand((Rand_seed_t)x)   /**/\r
2955 #define RANDBITS                15              /**/\r
2956 \r
2957 /* SELECT_MIN_BITS:\r
2958  *      This symbol holds the minimum number of bits operated by select.\r
2959  *      That is, if you do select(n, ...), how many bits at least will be\r
2960  *      cleared in the masks if some activity is detected.  Usually this\r
2961  *      is either n or 32*ceil(n/32), especially many little-endians do\r
2962  *      the latter.  This is only useful if you have select(), naturally.\r
2963  */\r
2964 #define SELECT_MIN_BITS         32      /**/\r
2965 \r
2966 /* Select_fd_set_t:\r
2967  *      This symbol holds the type used for the 2nd, 3rd, and 4th\r
2968  *      arguments to select.  Usually, this is 'fd_set *', if HAS_FD_SET\r
2969  *      is defined, and 'int *' otherwise.  This is only useful if you \r
2970  *      have select(), of course.\r
2971  */\r
2972 #define Select_fd_set_t         Perl_fd_set *   /**/\r
2973 \r
2974 /* SIG_NAME:\r
2975  *      This symbol contains a list of signal names in order of\r
2976  *      signal number. This is intended\r
2977  *      to be used as a static array initialization, like this:\r
2978  *              char *sig_name[] = { SIG_NAME };\r
2979  *      The signals in the list are separated with commas, and each signal\r
2980  *      is surrounded by double quotes. There is no leading SIG in the signal\r
2981  *      name, i.e. SIGQUIT is known as "QUIT".\r
2982  *      Gaps in the signal numbers (up to NSIG) are filled in with NUMnn,\r
2983  *      etc., where nn is the actual signal number (e.g. NUM37).\r
2984  *      The signal number for sig_name[i] is stored in sig_num[i].\r
2985  *      The last element is 0 to terminate the list with a NULL.  This\r
2986  *      corresponds to the 0 at the end of the sig_num list.\r
2987  */\r
2988 /* SIG_NUM:\r
2989  *      This symbol contains a list of signal numbers, in the same order as the\r
2990  *      SIG_NAME list. It is suitable for static array initialization, as in:\r
2991  *              int sig_num[] = { SIG_NUM };\r
2992  *      The signals in the list are separated with commas, and the indices\r
2993  *      within that list and the SIG_NAME list match, so it's easy to compute\r
2994  *      the signal name from a number or vice versa at the price of a small\r
2995  *      dynamic linear lookup. \r
2996  *      Duplicates are allowed, but are moved to the end of the list.\r
2997  *      The signal number corresponding to sig_name[i] is sig_number[i].\r
2998  *      if (i < NSIG) then sig_number[i] == i.  \r
2999  *      The last element is 0, corresponding to the 0 at the end of\r
3000  *      the sig_name list.\r
3001  */\r
3002 /* SIG_SIZE:\r
3003  *      This variable contains the number of elements of the sig_name\r
3004  *      and sig_num arrays, excluding the final NULL entry.\r
3005  */\r
3006 #define SIG_NAME "ZERO", "NUM01", "INT", "QUIT", "ILL", "NUM05", "NUM06", "NUM07", "FPE", "KILL", "NUM10", "SEGV", "NUM12", "PIPE", "ALRM", "TERM", "NUM16", "NUM17", "NUM18", "NUM19", "CHLD", "BREAK", "ABRT", "STOP", "NUM24", "CONT", "CLD", 0              /**/\r
3007 #define SIG_NUM  0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 20, 0            /**/\r
3008 #define SIG_SIZE 0                      /**/\r
3009 \r
3010 /* SITEARCH:\r
3011  *      This symbol contains the name of the private library for this package.\r
3012  *      The library is private in the sense that it needn't be in anyone's\r
3013  *      execution path, but it should be accessible by the world.  The program\r
3014  *      should be prepared to do ~ expansion.\r
3015  *      The standard distribution will put nothing in this directory.\r
3016  *      After perl has been installed, users may install their own local\r
3017  *      architecture-dependent modules in this directory with\r
3018  *              MakeMaker Makefile.PL\r
3019  *      or equivalent.  See INSTALL for details.\r
3020  */\r
3021 /* SITEARCH_EXP:\r
3022  *      This symbol contains the ~name expanded version of SITEARCH, to be used\r
3023  *      in programs that are not prepared to deal with ~ expansion at run-time.\r
3024  */\r
3025 #define SITEARCH "\\site5.7.2\\lib"             /**/\r
3026 /*#define SITEARCH_EXP ""       /**/\r
3027 \r
3028 /* SITELIB:\r
3029  *      This symbol contains the name of the private library for this package.\r
3030  *      The library is private in the sense that it needn't be in anyone's\r
3031  *      execution path, but it should be accessible by the world.  The program\r
3032  *      should be prepared to do ~ expansion.\r
3033  *      The standard distribution will put nothing in this directory.\r
3034  *      After perl has been installed, users may install their own local\r
3035  *      architecture-independent modules in this directory with\r
3036  *              MakeMaker Makefile.PL\r
3037  *      or equivalent.  See INSTALL for details.\r
3038  */\r
3039 /* SITELIB_EXP:\r
3040  *      This symbol contains the ~name expanded version of SITELIB, to be used\r
3041  *      in programs that are not prepared to deal with ~ expansion at run-time.\r
3042  */\r
3043 /* SITELIB_STEM:\r
3044  *      This define is SITELIB_EXP with any trailing version-specific component\r
3045  *      removed.  The elements in inc_version_list (inc_version_list.U) can\r
3046  *      be tacked onto this variable to generate a list of directories to search.\r
3047  */\r
3048 #define SITELIB "\\site5.7.2\\lib"              /**/\r
3049 #define SITELIB_EXP (win32_get_sitelib("5.7.2"))        /**/\r
3050 #define SITELIB_STEM ""         /**/\r
3051 \r
3052 /* Size_t_size:\r
3053  *      This symbol holds the size of a Size_t in bytes.\r
3054  */\r
3055 #define Size_t_size 4           /**/\r
3056 \r
3057 /* Size_t:\r
3058  *      This symbol holds the type used to declare length parameters\r
3059  *      for string functions.  It is usually size_t, but may be\r
3060  *      unsigned long, int, etc.  It may be necessary to include\r
3061  *      <sys/types.h> to get any typedef'ed information.\r
3062  */\r
3063 #define Size_t size_t    /* length paramater for string functions */\r
3064 \r
3065 /* Sock_size_t:\r
3066  *      This symbol holds the type used for the size argument of\r
3067  *      various socket calls (just the base type, not the pointer-to).\r
3068  */\r
3069 #define Sock_size_t             int /**/\r
3070 \r
3071 /* SSize_t:\r
3072  *      This symbol holds the type used by functions that return\r
3073  *      a count of bytes or an error condition.  It must be a signed type.\r
3074  *      It is usually ssize_t, but may be long or int, etc.\r
3075  *      It may be necessary to include <sys/types.h> or <unistd.h>\r
3076  *      to get any typedef'ed information.\r
3077  *      We will pick a type such that sizeof(SSize_t) == sizeof(Size_t).\r
3078  */\r
3079 #define SSize_t int      /* signed count of bytes */\r
3080 \r
3081 /* STARTPERL:\r
3082  *      This variable contains the string to put in front of a perl\r
3083  *      script to make sure (one hopes) that it runs with perl and not\r
3084  *      some shell.\r
3085  */\r
3086 #define STARTPERL "#!perl"              /**/\r
3087 \r
3088 /* STDCHAR:\r
3089  *      This symbol is defined to be the type of char used in stdio.h.\r
3090  *      It has the values "unsigned char" or "char".\r
3091  */\r
3092 #define STDCHAR char    /**/\r
3093 \r
3094 /* HAS_STDIO_STREAM_ARRAY:\r
3095  *      This symbol, if defined, tells that there is an array\r
3096  *      holding the stdio streams.\r
3097  */\r
3098 /* STDIO_STREAM_ARRAY:\r
3099  *      This symbol tells the name of the array holding the stdio streams.\r
3100  *      Usual values include _iob, __iob, and __sF.\r
3101  */\r
3102 /*#define       HAS_STDIO_STREAM_ARRAY  /**/\r
3103 #define STDIO_STREAM_ARRAY      \r
3104 \r
3105 /* Uid_t_f:\r
3106  *      This symbol defines the format string used for printing a Uid_t.\r
3107  */\r
3108 #define Uid_t_f         "ld"            /**/\r
3109 \r
3110 /* Uid_t_sign:\r
3111  *      This symbol holds the signedess of a Uid_t.\r
3112  *      1 for unsigned, -1 for signed.\r
3113  */\r
3114 #define Uid_t_sign      -1              /* UID sign */\r
3115 \r
3116 /* Uid_t_size:\r
3117  *      This symbol holds the size of a Uid_t in bytes.\r
3118  */\r
3119 #define Uid_t_size 4            /* UID size */\r
3120 \r
3121 /* Uid_t:\r
3122  *      This symbol holds the type used to declare user ids in the kernel.\r
3123  *      It can be int, ushort, uid_t, etc... It may be necessary to include\r
3124  *      <sys/types.h> to get any typedef'ed information.\r
3125  */\r
3126 #define Uid_t uid_t             /* UID type */\r
3127 \r
3128 /* USE_64_BIT_INT:\r
3129  *      This symbol, if defined, indicates that 64-bit integers should\r
3130  *      be used when available.  If not defined, the native integers\r
3131  *      will be employed (be they 32 or 64 bits).  The minimal possible\r
3132  *      64-bitness is used, just enough to get 64-bit integers into Perl.\r
3133  *      This may mean using for example "long longs", while your memory\r
3134  *      may still be limited to 2 gigabytes.\r
3135  */\r
3136 /* USE_64_BIT_ALL:\r
3137  *      This symbol, if defined, indicates that 64-bit integers should\r
3138  *      be used when available.  If not defined, the native integers\r
3139  *      will be used (be they 32 or 64 bits).  The maximal possible\r
3140  *      64-bitness is employed: LP64 or ILP64, meaning that you will\r
3141  *      be able to use more than 2 gigabytes of memory.  This mode is\r
3142  *      even more binary incompatible than USE_64_BIT_INT. You may not\r
3143  *      be able to run the resulting executable in a 32-bit CPU at all or\r
3144  *      you may need at least to reboot your OS to 64-bit mode.\r
3145  */\r
3146 #ifndef USE_64_BIT_INT\r
3147 /*#define       USE_64_BIT_INT          /**/\r
3148 #endif\r
3149 \r
3150 #ifndef USE_64_BIT_ALL\r
3151 /*#define       USE_64_BIT_ALL          /**/\r
3152 #endif\r
3153 \r
3154 /* USE_LARGE_FILES:\r
3155  *      This symbol, if defined, indicates that large file support\r
3156  *      should be used when available.\r
3157  */\r
3158 #ifndef USE_LARGE_FILES\r
3159 /*#define       USE_LARGE_FILES         /**/\r
3160 #endif\r
3161 \r
3162 /* USE_LONG_DOUBLE:\r
3163  *      This symbol, if defined, indicates that long doubles should\r
3164  *      be used when available.\r
3165  */\r
3166 #ifndef USE_LONG_DOUBLE\r
3167 /*#define       USE_LONG_DOUBLE         /**/\r
3168 #endif\r
3169 \r
3170 /* USE_MORE_BITS:\r
3171  *      This symbol, if defined, indicates that 64-bit interfaces and\r
3172  *      long doubles should be used when available.\r
3173  */\r
3174 #ifndef USE_MORE_BITS\r
3175 /*#define       USE_MORE_BITS           /**/\r
3176 #endif\r
3177 \r
3178 /* MULTIPLICITY:\r
3179  *      This symbol, if defined, indicates that Perl should\r
3180  *      be built to use multiplicity.\r
3181  */\r
3182 #ifndef MULTIPLICITY\r
3183 /*#define       MULTIPLICITY            /**/\r
3184 #endif\r
3185 \r
3186 /* USE_PERLIO:\r
3187  *      This symbol, if defined, indicates that the PerlIO abstraction should\r
3188  *      be used throughout.  If not defined, stdio should be\r
3189  *      used in a fully backward compatible manner.\r
3190  */\r
3191 #ifndef USE_PERLIO\r
3192 #define USE_PERLIO              /**/\r
3193 #endif\r
3194 \r
3195 /* USE_SOCKS:\r
3196  *      This symbol, if defined, indicates that Perl should\r
3197  *      be built to use socks.\r
3198  */\r
3199 #ifndef USE_SOCKS\r
3200 /*#define       USE_SOCKS               /**/\r
3201 #endif\r
3202 \r
3203 /* USE_ITHREADS:\r
3204  *      This symbol, if defined, indicates that Perl should be built to\r
3205  *      use the interpreter-based threading implementation.\r
3206  */\r
3207 /* USE_5005THREADS:\r
3208  *      This symbol, if defined, indicates that Perl should be built to\r
3209  *      use the 5.005-based threading implementation.\r
3210  */\r
3211 /* OLD_PTHREADS_API:\r
3212  *      This symbol, if defined, indicates that Perl should\r
3213  *      be built to use the old draft POSIX threads API.\r
3214  */\r
3215 /* USE_REENTRANT_API:\r
3216  *      This symbol, if defined, indicates that Perl should\r
3217  *      try to use the various _r versions of library functions.\r
3218  *      This is extremely experimental.\r
3219  */\r
3220 /*#define       USE_5005THREADS         /**/\r
3221 /*#define       USE_ITHREADS            /**/\r
3222 #if defined(USE_5005THREADS) && !defined(USE_ITHREADS)\r
3223 #define         USE_THREADS             /* until src is revised*/\r
3224 #endif\r
3225 /*#define       OLD_PTHREADS_API                /**/\r
3226 /*#define       USE_REENTRANT_API       /**/\r
3227 \r
3228 /* PERL_VENDORARCH:\r
3229  *      If defined, this symbol contains the name of a private library.\r
3230  *      The library is private in the sense that it needn't be in anyone's\r
3231  *      execution path, but it should be accessible by the world.\r
3232  *      It may have a ~ on the front. \r
3233  *      The standard distribution will put nothing in this directory.\r
3234  *      Vendors who distribute perl may wish to place their own\r
3235  *      architecture-dependent modules and extensions in this directory with\r
3236  *              MakeMaker Makefile.PL INSTALLDIRS=vendor \r
3237  *      or equivalent.  See INSTALL for details.\r
3238  */\r
3239 /* PERL_VENDORARCH_EXP:\r
3240  *      This symbol contains the ~name expanded version of PERL_VENDORARCH, to be used\r
3241  *      in programs that are not prepared to deal with ~ expansion at run-time.\r
3242  */\r
3243 /*#define PERL_VENDORARCH ""            /**/\r
3244 /*#define PERL_VENDORARCH_EXP ""                /**/\r
3245 \r
3246 /* PERL_VENDORLIB_EXP:\r
3247  *      This symbol contains the ~name expanded version of VENDORLIB, to be used\r
3248  *      in programs that are not prepared to deal with ~ expansion at run-time.\r
3249  */\r
3250 /* PERL_VENDORLIB_STEM:\r
3251  *      This define is PERL_VENDORLIB_EXP with any trailing version-specific component\r
3252  *      removed.  The elements in inc_version_list (inc_version_list.U) can\r
3253  *      be tacked onto this variable to generate a list of directories to search.\r
3254  */\r
3255 /*#define PERL_VENDORLIB_EXP ""         /**/\r
3256 /*#define PERL_VENDORLIB_STEM ""                /**/\r
3257 \r
3258 /* VOIDFLAGS:\r
3259  *      This symbol indicates how much support of the void type is given by this\r
3260  *      compiler.  What various bits mean:\r
3261  *\r
3262  *          1 = supports declaration of void\r
3263  *          2 = supports arrays of pointers to functions returning void\r
3264  *          4 = supports comparisons between pointers to void functions and\r
3265  *                  addresses of void functions\r
3266  *          8 = suports declaration of generic void pointers\r
3267  *\r
3268  *      The package designer should define VOIDUSED to indicate the requirements\r
3269  *      of the package.  This can be done either by #defining VOIDUSED before\r
3270  *      including config.h, or by defining defvoidused in Myinit.U.  If the\r
3271  *      latter approach is taken, only those flags will be tested.  If the\r
3272  *      level of void support necessary is not present, defines void to int.\r
3273  */\r
3274 #ifndef VOIDUSED\r
3275 #define VOIDUSED 15\r
3276 #endif\r
3277 #define VOIDFLAGS 15\r
3278 #if (VOIDFLAGS & VOIDUSED) != VOIDUSED\r
3279 #define void int                /* is void to be avoided? */\r
3280 #define M_VOID                  /* Xenix strikes again */\r
3281 #endif\r
3282 \r
3283 /* PERL_XS_APIVERSION:\r
3284  *      This variable contains the version of the oldest perl binary\r
3285  *      compatible with the present perl.  perl.c:incpush() and\r
3286  *      lib/lib.pm will automatically search in \\site5.7.2\\lib for older\r
3287  *      directories across major versions back to xs_apiversion.\r
3288  *      This is only useful if you have a perl library directory tree\r
3289  *      structured like the default one.\r
3290  *      See INSTALL for how this works.\r
3291  *      The versioned site_perl directory was introduced in 5.005,\r
3292  *      so that is the lowest possible value.\r
3293  *      Since this can depend on compile time options (such as\r
3294  *      bincompat) it is set by Configure.  Other non-default sources\r
3295  *      of potential incompatibility, such as multiplicity, threads,\r
3296  *      debugging, 64bits, sfio, etc., are not checked for currently,\r
3297  *      though in principle we could go snooping around in old\r
3298  *      Config.pm files.\r
3299  */\r
3300 /* PERL_PM_APIVERSION:\r
3301  *      This variable contains the version of the oldest perl\r
3302  *      compatible with the present perl.  (That is, pure perl modules\r
3303  *      written for pm_apiversion will still work for the current\r
3304  *      version).  perl.c:incpush() and lib/lib.pm will automatically\r
3305  *      search in \\site5.7.2\\lib for older directories across major versions\r
3306  *      back to pm_apiversion.  This is only useful if you have a perl\r
3307  *      library directory tree structured like the default one.  The\r
3308  *      versioned site_perl library was introduced in 5.005, so that's\r
3309  *      the default setting for this variable.  It's hard to imagine\r
3310  *      it changing before Perl6.  It is included here for symmetry\r
3311  *      with xs_apiveprsion -- the searching algorithms will\r
3312  *      (presumably) be similar.\r
3313  *      See the INSTALL file for how this works.\r
3314  */\r
3315 #define PERL_XS_APIVERSION "5.6.0"\r
3316 #define PERL_PM_APIVERSION "5.005"\r
3317 \r
3318 /* SETUID_SCRIPTS_ARE_SECURE_NOW:\r
3319  *      This symbol, if defined, indicates that the bug that prevents\r
3320  *      setuid scripts from being secure is not present in this kernel.\r
3321  */\r
3322 /* DOSUID:\r
3323  *      This symbol, if defined, indicates that the C program should\r
3324  *      check the script that it is executing for setuid/setgid bits, and\r
3325  *      attempt to emulate setuid/setgid on systems that have disabled\r
3326  *      setuid #! scripts because the kernel can't do it securely.\r
3327  *      It is up to the package designer to make sure that this emulation\r
3328  *      is done securely.  Among other things, it should do an fstat on\r
3329  *      the script it just opened to make sure it really is a setuid/setgid\r
3330  *      script, it should make sure the arguments passed correspond exactly\r
3331  *      to the argument on the #! line, and it should not trust any\r
3332  *      subprocesses to which it must pass the filename rather than the\r
3333  *      file descriptor of the script to be executed.\r
3334  */\r
3335 /*#define SETUID_SCRIPTS_ARE_SECURE_NOW /**/\r
3336 /*#define DOSUID                /**/\r
3337 \r
3338 /* I_STDARG:\r
3339  *      This symbol, if defined, indicates that <stdarg.h> exists and should\r
3340  *      be included.\r
3341  */\r
3342 /* I_VARARGS:\r
3343  *      This symbol, if defined, indicates to the C program that it should\r
3344  *      include <varargs.h>.\r
3345  */\r
3346 #define I_STDARG                /**/\r
3347 /*#define I_VARARGS     /**/\r
3348 \r
3349 /* USE_CROSS_COMPILE:\r
3350  *      This symbol, if defined, indicates that Perl is being cross-compiled.\r
3351  */\r
3352 /* PERL_TARGETARCH:\r
3353  *      This symbol, if defined, indicates the target architecture\r
3354  *      Perl has been cross-compiled to.  Undefined if not a cross-compile.\r
3355  */\r
3356 #ifndef USE_CROSS_COMPILE\r
3357 /*#define       USE_CROSS_COMPILE       /**/\r
3358 #define PERL_TARGETARCH "undef" /**/\r
3359 #endif\r
3360 \r
3361 /* HAS_DBMINIT_PROTO:\r
3362  *      This symbol, if defined, indicates that the system provides\r
3363  *      a prototype for the dbminit() function.  Otherwise, it is up\r
3364  *      to the program to supply one.  A good guess is\r
3365  *              extern int dbminit(char *);\r
3366  */\r
3367 /*#define       HAS_DBMINIT_PROTO       /**/\r
3368 \r
3369 /* HAS_FLOCK_PROTO:\r
3370  *      This symbol, if defined, indicates that the system provides\r
3371  *      a prototype for the flock() function.  Otherwise, it is up\r
3372  *      to the program to supply one.  A good guess is\r
3373  *              extern int flock(int, int);\r
3374  */\r
3375 /*#define       HAS_FLOCK_PROTO /**/\r
3376 \r
3377 /* HAS_NL_LANGINFO:\r
3378  *      This symbol, if defined, indicates that the nl_langinfo routine is\r
3379  *      available to return local data.  You will also need <langinfo.h>\r
3380  *      and therefore I_LANGINFO.\r
3381  */\r
3382 /*#define HAS_NL_LANGINFO               /**/\r
3383 \r
3384 /* HAS_SIGPROCMASK:\r
3385  *      This symbol, if defined, indicates that the sigprocmask\r
3386  *      system call is available to examine or change the signal mask\r
3387  *      of the calling process.\r
3388  */\r
3389 /*#define HAS_SIGPROCMASK               /**/\r
3390 \r
3391 /* HAS_SOCKATMARK:\r
3392  *      This symbol, if defined, indicates that the sockatmark routine is\r
3393  *      available to test whether a socket is at the out-of-band mark.\r
3394  */\r
3395 /*#define HAS_SOCKATMARK                /**/\r
3396 \r
3397 /* HAS_SOCKATMARK_PROTO:\r
3398  *      This symbol, if defined, indicates that the system provides\r
3399  *      a prototype for the sockatmark() function.  Otherwise, it is up\r
3400  *      to the program to supply one.  A good guess is\r
3401  *              extern int sockatmark _((int));\r
3402  */\r
3403 /*#define       HAS_SOCKATMARK_PROTO    /**/\r
3404 \r
3405 /* HAS_SETRESGID_PROTO:\r
3406  *      This symbol, if defined, indicates that the system provides\r
3407  *      a prototype for the setresgid() function.  Otherwise, it is up\r
3408  *      to the program to supply one.  Good guesses are\r
3409  *              extern int setresgid(uid_t ruid, uid_t euid, uid_t suid);\r
3410  */\r
3411 /*#define       HAS_SETRESGID_PROTO     /**/\r
3412 \r
3413 /* HAS_SETRESUID_PROTO:\r
3414  *      This symbol, if defined, indicates that the system provides\r
3415  *      a prototype for the setresuid() function.  Otherwise, it is up\r
3416  *      to the program to supply one.  Good guesses are\r
3417  *              extern int setresuid(uid_t ruid, uid_t euid, uid_t suid);\r
3418  */\r
3419 /*#define       HAS_SETRESUID_PROTO     /**/\r
3420 \r
3421 /* HAS_STRFTIME:\r
3422  *      This symbol, if defined, indicates that the strftime routine is\r
3423  *      available to do time formatting.\r
3424  */\r
3425 /*#define HAS_STRFTIME          /**/\r
3426 \r
3427 /* HAS_SYSCALL_PROTO:\r
3428  *      This symbol, if defined, indicates that the system provides\r
3429  *      a prototype for the syscall() function.  Otherwise, it is up\r
3430  *      to the program to supply one.  Good guesses are\r
3431  *              extern int syscall(int,  ...);\r
3432  *              extern int syscall(long, ...);\r
3433  */\r
3434 /*#define       HAS_SYSCALL_PROTO       /**/\r
3435 \r
3436 /* U32_ALIGNMENT_REQUIRED:\r
3437  *      This symbol, if defined, indicates that you must access\r
3438  *      character data through U32-aligned pointers.\r
3439  */\r
3440 /*#define U32_ALIGNMENT_REQUIRED        /**/\r
3441 \r
3442 /* HAS_USLEEP_PROTO:\r
3443  *      This symbol, if defined, indicates that the system provides\r
3444  *      a prototype for the usleep() function.  Otherwise, it is up\r
3445  *      to the program to supply one.  A good guess is\r
3446  *              extern int usleep(useconds_t);\r
3447  */\r
3448 /*#define       HAS_USLEEP_PROTO        /**/\r
3449 \r
3450 /* I_LANGINFO:\r
3451  *      This symbol, if defined, indicates that <langinfo.h> exists and\r
3452  *      should be included.\r
3453  */\r
3454 /*#define       I_LANGINFO              /**/\r
3455 \r
3456 /* HAS_PTHREAD_ATFORK:\r
3457  *      This symbol, if defined, indicates that the pthread_atfork routine\r
3458  *      is available setup fork handlers.\r
3459  */\r
3460 /*#define HAS_PTHREAD_ATFORK            /**/\r
3461 \r
3462 #endif\r