2 * This file was produced by running the config.h.SH script, which
3 * gets its values from config.sh, which is generally produced by
6 * Feel free to modify any of this as the need arises. Note, however,
7 * that running config.h.SH again will wipe out any changes you've made.
8 * For a more permanent change edit config.sh and rerun config.h.SH.
13 * This symbol, if defined, indicates that the program is being compiled
14 * under the EUNICE package under VMS. The program will need to handle
15 * things like files that don't go away the first time you unlink them,
16 * due to version numbering. It will also need to compensate for lack
17 * of a respectable link() command.
20 * This symbol, if defined, indicates that the program is running under
21 * VMS. It is currently only set in conjunction with the EUNICE symbol.
27 * This symbol holds the name of the directory in which the user wants
28 * to put publicly executable images for the package in question. It
29 * is most often a local directory such as /usr/local/bin.
31 #define BIN "/usr/local/bin" /**/
34 * This symbol contains an encoding of the order of bytes in a long.
35 * Usual values (in octal) are 01234, 04321, 02143, 03412...
37 #define BYTEORDER 01234 /**/
40 * This symbol contains the first part of the string which will invoke
41 * the C preprocessor on the standard input and produce to standard
42 * output. Typical value of "cc -E" or "/lib/cpp".
45 * This symbol contains the second part of the string which will invoke
46 * the C preprocessor on the standard input and produce to standard
47 * output. This symbol will have the value "-" if CPPSTDIN needs a minus
48 * to specify standard input, otherwise the value is "".
50 #define CPPSTDIN "/lib/cpp"
54 * This symbol, if defined, indicates that the bcmp routine is available
55 * to compare blocks of memory. If undefined, use memcmp. If that's
56 * not available, roll your own.
61 * This symbol, if defined, indicates that the bcopy routine is available
62 * to copy blocks of memory. Otherwise you should probably use memcpy().
67 * This symbol is defined if this system declares "char *sprintf()" in
68 * stdio.h. The trend seems to be to declare it as "int sprintf()". It
69 * is up to the package author to declare sprintf correctly based on the
72 #define CHARSPRINTF /**/
75 * This symbol, if defined, indicates that the crypt routine is available
76 * to encrypt passwords and the like.
81 * This symbol, if defined, indicates that the C program should
82 * check the script that it is executing for setuid/setgid bits, and
83 * attempt to emulate setuid/setgid on systems that have disabled
84 * setuid #! scripts because the kernel can't do it securely.
85 * It is up to the package designer to make sure that this emulation
86 * is done securely. Among other things, it should do an fstat on
87 * the script it just opened to make sure it really is a setuid/setgid
88 * script, it should make sure the arguments passed correspond exactly
89 * to the argument on the #! line, and it should not trust any
90 * subprocesses to which it must pass the filename rather than the
91 * file descriptor of the script to be executed.
96 * This symbol, if defined, indicates that the dup2 routine is available
97 * to dup file descriptors. Otherwise you should use dup().
102 * This symbol, if defined, indicates that the fchmod routine is available
103 * to change mode of opened files. If unavailable, use chmod().
108 * This symbol, if defined, indicates that the fchown routine is available
109 * to change ownership of opened files. If unavailable, use chown().
114 * This symbol, if defined, indicates to the C program that it should
120 * This symbol, if defined, indicates that the flock() routine is
121 * available to do file locking.
126 * This symbol, if defined, indicates that the getgroups() routine is
127 * available to get the list of process groups. If unavailable, multiple
128 * groups are probably not supported.
130 #define GETGROUPS /**/
133 * This symbol, if defined, indicates that the gethostent() routine is
134 * available to lookup host names in some data base or other.
136 #define GETHOSTENT /**/
139 * This symbol, if defined, indicates that the getpgrp() routine is
140 * available to get the current process group.
145 * This symbol, if defined, indicates that the getpriority() routine is
146 * available to get a process's priority.
148 #define GETPRIORITY /**/
151 * This symbol, if defined, indicates that the htons routine (and friends)
152 * are available to do network order byte swapping.
155 * This symbol, if defined, indicates that the htonl routine (and friends)
156 * are available to do network order byte swapping.
159 * This symbol, if defined, indicates that the ntohs routine (and friends)
160 * are available to do network order byte swapping.
163 * This symbol, if defined, indicates that the ntohl routine (and friends)
164 * are available to do network order byte swapping.
172 * This preprocessor symbol is defined, along with rindex, if the system
173 * uses the strchr and strrchr routines instead.
176 * This preprocessor symbol is defined, along with index, if the system
177 * uses the strchr and strrchr routines instead.
179 /*#undef index strchr /* cultural */
180 /*#undef rindex strrchr /* differences? */
183 * This symbol, if defined, indicates that sys/ioctl.h exists and should
189 * This symbol, if defined, indicates that the killpg routine is available
190 * to kill process groups. If unavailable, you probably should use kill
191 * with a negative process number.
196 * This symbol, if defined, indicates that the memcmp routine is available
197 * to compare blocks of memory. If undefined, roll your own.
202 * This symbol, if defined, indicates that the memcpy routine is available
203 * to copy blocks of memory. Otherwise you should probably use bcopy().
204 * If neither is defined, roll your own.
209 * This symbol, if defined, indicates that the mkdir routine is available
210 * to create directories. Otherwise you should fork off a new process to
216 * This symbol, if defined, indicates that ndbm.h exists and should
222 * This symbol, if defined, indicates that dbm.h exists and should
228 * This symbol, if defined, indicates that the readdir routine is available
229 * from the C library to create directories.
234 * This symbol, if defined, indicates that the rename routine is available
235 * to rename files. Otherwise you should do the unlink(), link(), unlink()
241 * This symbol, if defined, indicates that the rmdir routine is available
242 * to remove directories. Otherwise you should fork off a new process to
248 * This symbol, if defined, indicates that the setegid routine is available
249 * to change the effective gid of the current program.
254 * This symbol, if defined, indicates that the seteuid routine is available
255 * to change the effective uid of the current program.
260 * This symbol, if defined, indicates that the setpgrp() routine is
261 * available to set the current process group.
266 * This symbol, if defined, indicates that the setpriority() routine is
267 * available to set a process's priority.
269 #define SETPRIORITY /**/
272 * This symbol, if defined, indicates that the setregid routine is available
273 * to change the real and effective gid of the current program.
275 #define SETREGID /**/
278 * This symbol, if defined, indicates that the setreuid routine is available
279 * to change the real and effective uid of the current program.
281 #define SETREUID /**/
284 * This symbol, if defined, indicates that the setrgid routine is available
285 * to change the real gid of the current program.
290 * This symbol, if defined, indicates that the setruid routine is available
291 * to change the real uid of the current program.
296 * This symbol, if defined, indicates that the BSD socket interface is
300 * This symbol, if defined, indicates that the BSD socketpair call is
304 * This symbol, if defined, indicates that the 4.1c BSD socket interface
305 * is supported instead of the 4.2/4.3 BSD socket interface.
309 #define SOCKETPAIR /**/
311 /*#undef OLDSOCKET /**/
314 * This symbol is defined if this system has a stat structure declaring
315 * st_blksize and st_blocks.
317 #define STATBLOCKS /**/
320 * This symbol is defined if this system has a FILE structure declaring
321 * _ptr and _cnt in stdio.h.
323 #define STDSTDIO /**/
326 * This symbol, if defined, indicates that this C compiler knows how
327 * to copy structures. If undefined, you'll need to use a block copy
328 * routine of some sort instead.
330 #define STRUCTCOPY /**/
333 * This symbol, if defined, indicates that the symlink routine is available
334 * to create symbolic links.
339 * This symbol, if defined, indicates that the syscall routine is available
340 * to call arbitrary system calls. If undefined, that's tough.
345 * This symbol is defined if this system declares "struct tm" in
346 * in <sys/time.h> rather than <time.h>. We can't just say
347 * -I/usr/include/sys because some systems have both time files, and
348 * the -I trick gets the wrong one.
351 * This symbol is defined if this system has the file <sys/time.h>.
353 /*#undef TMINSYS /**/
354 #define I_SYSTIME /**/
357 * This symbol, if defined, indicates to the C program that it should
363 * This symbol, if defined, remaps the vfork routine to fork if the
364 * vfork() routine isn't supported here.
366 /*#undef vfork fork /**/
369 * This symbol is defined if this system declares "void (*signal())()" in
370 * signal.h. The old way was to declare it as "int (*signal())()". It
371 * is up to the package author to declare things correctly based on the
374 /*#undef VOIDSIG /**/
377 * This symbol, if defined, indicates that the vprintf routine is available
378 * to printf with a pointer to an argument list. If unavailable, you
379 * may need to write your own, probably in terms of _doprnt().
382 * This symbol is defined if this system has vsprintf() returning type
383 * (char*). The trend seems to be to declare it as "int vsprintf()". It
384 * is up to the package author to declare vsprintf correctly based on the
387 /*#undef VPRINTF /**/
388 /*#undef CHARVSPRINTF /**/
391 * This symbol has a value like gid_t, int, ushort, or whatever type is
392 * used to declare group ids in the kernel.
394 #define GIDTYPE gid_t /**/
397 * This symbol, if defined, indicates to the C program that it should
401 * This symbol, if defined, indicates to the C program that the length
402 * of directory entry names is provided by a d_namlen field. Otherwise
403 * you need to do strlen() on the d_name field.
405 /*#undef I_DIRENT /**/
406 #define DIRNAMLEN /**/
409 * This symbol, if defined, indicates to the C program that it should
415 * This symbol, if defined, indicates to the C program that it should
421 * This symbol, if defined, indicates to the C program that it should
425 * This symbol, if defined, indicates to the C program that struct passwd
429 * This symbol, if defined, indicates to the C program that struct passwd
437 * This symbol, if defined, indicates to the C program that it should
440 #define I_SYSDIR /**/
443 * This symbol, if defined, indicates that sys/ioctl.h exists and should
446 #define I_SYSIOCTL /**/
449 * This symbol, if defined, indicates to the C program that it should
452 #define I_VARARGS /**/
455 * This symbol contains the size of an int, so that the C preprocessor
456 * can make decisions based on it.
458 #define INTSIZE 4 /**/
461 * This symbol contains the number of bits of random number the rand()
462 * function produces. Usual values are 15, 16, and 31.
464 #define RANDBITS 31 /**/
467 * This symbol contains an list of signal names in order.
469 #define SIG_NAME "ZERO","HUP","INT","QUIT","ILL","TRAP","IOT","EMT","FPE","KILL","BUS","SEGV","SYS","PIPE","ALRM","TERM","URG","STOP","TSTP","CONT","CHLD","TTIN","TTOU","IO","XCPU","XFSZ","VTALRM","PROF","WINCH","USR1","USR2" /**/
472 * This symbol is defined to be the type of char used in stdio.h.
473 * It has the values "unsigned char" or "char".
475 #define STDCHAR char /**/
478 * This symbol has a value like uid_t, int, ushort, or whatever type is
479 * used to declare user ids in the kernel.
481 #define UIDTYPE uid_t /**/
484 * This symbol indicates how much support of the void type is given by this
485 * compiler. What various bits mean:
487 * 1 = supports declaration of void
488 * 2 = supports arrays of pointers to functions returning void
489 * 4 = supports comparisons between pointers to void functions and
490 * addresses of void functions
492 * The package designer should define VOIDUSED to indicate the requirements
493 * of the package. This can be done either by #defining VOIDUSED before
494 * including config.h, or by defining defvoidused in Myinit.U. If the
495 * latter approach is taken, only those flags will be tested. If the
496 * level of void support necessary is not present, defines void to int.
502 #if (VOIDFLAGS & VOIDUSED) != VOIDUSED
503 #define void int /* is void to be avoided? */
504 #define M_VOID /* Xenix strikes again */
508 * This symbol contains the name of the private library for this package.
509 * The library is private in the sense that it needn't be in anyone's
510 * execution path, but it should be accessible by the world. The program
511 * should be prepared to do ~ expansion.
513 #define PRIVLIB "/usr/local/lib/perl" /**/