1: make config.h.SH
2case $CONFIG in
3'')
4    if test ! -f config.sh; then
5	ln ../config.sh . || \
6	ln ../../config.sh . || \
7	ln ../../../config.sh . || \
8	(echo "Can't find config.sh."; exit 1)
9	echo "Using config.sh from above..."
10    fi 2>/dev/null
11    . ./config.sh
12    ;;
13esac
14echo "Extracting config.h (with variable substitutions)"
15sed <<!GROK!THIS! >config.h -e 's!^#undef!/\*#undef!'
16#ifndef config_h
17#define config_h
18/* config.h
19 * This file was produced by running the config.h.SH script, which
20 * gets its values from config.sh, which is generally produced by
21 * running Configure.
22 *
23 * Feel free to modify any of this as the need arises.  Note, however,
24 * that running config.h.SH again will wipe out any changes you've made.
25 * For a more permanent change edit config.sh and rerun config.h.SH.
26 */
27 /*SUPPRESS 460*/
28
29
30/* EUNICE
31 *	This symbol, if defined, indicates that the program is being compiled
32 *	under the EUNICE package under VMS.  The program will need to handle
33 *	things like files that don't go away the first time you unlink them,
34 *	due to version numbering.  It will also need to compensate for lack
35 *	of a respectable link() command.
36 */
37/* VMS
38 *	This symbol, if defined, indicates that the program is running under
39 *	VMS.  It is currently only set in conjunction with the EUNICE symbol.
40 */
41#$d_eunice	EUNICE		/**/
42#$d_eunice	VMS		/**/
43
44/* LOC_SED
45 *     This symbol holds the complete pathname to the sed program.
46 */
47#define LOC_SED "$sed"             /**/
48
49/* ALIGNBYTES
50 *	This symbol contains the number of bytes required to align a double.
51 *	Usual values are 2, 4, and 8.
52 */
53#define ALIGNBYTES $alignbytes		/**/
54
55/* BIN
56 *	This symbol holds the name of the directory in which the user wants
57 *	to keep publicly executable images for the package in question.  It
58 *	is most often a local directory such as /usr/local/bin.
59 */
60#define BIN "$bin"             /**/
61
62/* BYTEORDER
63 *	This symbol contains an encoding of the order of bytes in a long.
64 *	Usual values (in hex) are 0x1234, 0x4321, 0x2143, 0x3412...
65 */
66#define BYTEORDER 0x$byteorder		/**/
67
68/* CPPSTDIN
69 *	This symbol contains the first part of the string which will invoke
70 *	the C preprocessor on the standard input and produce to standard
71 *	output.	 Typical value of "cc -E" or "/lib/cpp".
72 */
73/* CPPMINUS
74 *	This symbol contains the second part of the string which will invoke
75 *	the C preprocessor on the standard input and produce to standard
76 *	output.  This symbol will have the value "-" if CPPSTDIN needs a minus
77 *	to specify standard input, otherwise the value is "".
78 */
79#define CPPSTDIN "$cppstdin"
80#define CPPMINUS "$cppminus"
81
82/* HAS_BCMP
83 *	This symbol, if defined, indicates that the bcmp routine is available
84 *	to compare blocks of memory.  If undefined, use memcmp.  If that's
85 *	not available, roll your own.
86 */
87#$d_bcmp	HAS_BCMP		/**/
88
89/* HAS_BCOPY
90 *	This symbol, if defined, indicates that the bcopy routine is available
91 *	to copy blocks of memory.  Otherwise you should probably use memcpy().
92 *	If neither is defined, roll your own.
93 */
94/* SAFE_BCOPY
95 *	This symbol, if defined, indicates that the bcopy routine is available
96 *	to copy potentially overlapping copy blocks of bcopy.  Otherwise you
97 *	should probably use memmove() or memcpy().  If neither is defined,
98 *	roll your own.
99 */
100#$d_bcopy	HAS_BCOPY		/**/
101#$d_safebcpy	SAFE_BCOPY		/**/
102
103/* HAS_BZERO
104 *	This symbol, if defined, indicates that the bzero routine is available
105 *	to zero blocks of memory.  Otherwise you should probably use memset()
106 *	or roll your own.
107 */
108#$d_bzero	HAS_BZERO		/**/
109
110/* CASTNEGFLOAT
111 *	This symbol, if defined, indicates that this C compiler knows how to
112 *	cast negative or large floating point numbers to unsigned longs, ints
113 *	and shorts.
114 */
115/* CASTFLAGS
116 *	This symbol contains flags that say what difficulties the compiler
117 *	has casting odd floating values to unsigned long:
118 *		1 = couldn't cast < 0
119 *		2 = couldn't cast >= 0x80000000
120 */
121#$d_castneg	CASTNEGFLOAT	/**/
122#define	CASTFLAGS $castflags	/**/
123
124/* CHARSPRINTF
125 *	This symbol is defined if this system declares "char *sprintf()" in
126 *	stdio.h.  The trend seems to be to declare it as "int sprintf()".  It
127 *	is up to the package author to declare sprintf correctly based on the
128 *	symbol.
129 */
130#$d_charsprf	CHARSPRINTF 	/**/
131
132/* HAS_CHSIZE
133 *	This symbol, if defined, indicates that the chsize routine is available
134 *	to truncate files.  You might need a -lx to get this routine.
135 */
136#$d_chsize	HAS_CHSIZE		/**/
137
138/* HAS_CRYPT
139 *	This symbol, if defined, indicates that the crypt routine is available
140 *	to encrypt passwords and the like.
141 */
142#$d_crypt	HAS_CRYPT		/**/
143
144/* CSH
145 *	This symbol, if defined, indicates that the C-shell exists.
146 *	If defined, contains the full pathname of csh.
147 */
148#$d_csh CSH "$csh"		/**/
149
150/* DOSUID
151 *	This symbol, if defined, indicates that the C program should
152 *	check the script that it is executing for setuid/setgid bits, and
153 *	attempt to emulate setuid/setgid on systems that have disabled
154 *	setuid #! scripts because the kernel can't do it securely.
155 *	It is up to the package designer to make sure that this emulation
156 *	is done securely.  Among other things, it should do an fstat on
157 *	the script it just opened to make sure it really is a setuid/setgid
158 *	script, it should make sure the arguments passed correspond exactly
159 *	to the argument on the #! line, and it should not trust any
160 *	subprocesses to which it must pass the filename rather than the
161 *	file descriptor of the script to be executed.
162 */
163#$d_dosuid DOSUID		/**/
164
165/* HAS_DUP2
166 *	This symbol, if defined, indicates that the dup2 routine is available
167 *	to dup file descriptors.  Otherwise you should use dup().
168 */
169#$d_dup2	HAS_DUP2		/**/
170
171/* HAS_FCHMOD
172 *	This symbol, if defined, indicates that the fchmod routine is available
173 *	to change mode of opened files.  If unavailable, use chmod().
174 */
175#$d_fchmod	HAS_FCHMOD		/**/
176
177/* HAS_FCHOWN
178 *	This symbol, if defined, indicates that the fchown routine is available
179 *	to change ownership of opened files.  If unavailable, use chown().
180 */
181#$d_fchown	HAS_FCHOWN		/**/
182
183/* HAS_FCNTL
184 *	This symbol, if defined, indicates to the C program that
185 *	the fcntl() function exists.
186 */
187#$d_fcntl	HAS_FCNTL		/**/
188
189/* FLEXFILENAMES
190 *	This symbol, if defined, indicates that the system supports filenames
191 *	longer than 14 characters.
192 */
193#$d_flexfnam	FLEXFILENAMES		/**/
194
195/* HAS_FLOCK
196 *	This symbol, if defined, indicates that the flock() routine is
197 *	available to do file locking.
198 */
199#$d_flock	HAS_FLOCK		/**/
200
201/* HAS_GETGROUPS
202 *	This symbol, if defined, indicates that the getgroups() routine is
203 *	available to get the list of process groups.  If unavailable, multiple
204 *	groups are probably not supported.
205 */
206#$d_getgrps	HAS_GETGROUPS		/**/
207
208/* HAS_GETHOSTENT
209 *	This symbol, if defined, indicates that the gethostent() routine is
210 *	available to lookup host names in some data base or other.
211 */
212#$d_gethent	HAS_GETHOSTENT		/**/
213
214/* HAS_GETPGRP
215 *	This symbol, if defined, indicates that the getpgrp() routine is
216 *	available to get the current process group.
217 */
218#$d_getpgrp	HAS_GETPGRP		/**/
219
220/* HAS_GETPGRP2
221 *	This symbol, if defined, indicates that the getpgrp2() (as in DG/UX)
222 *	routine is available to get the current process group.
223 */
224#$d_getpgrp2	HAS_GETPGRP2		/**/
225
226/* HAS_GETPRIORITY
227 *	This symbol, if defined, indicates that the getpriority() routine is
228 *	available to get a process's priority.
229 */
230#$d_getprior	HAS_GETPRIORITY		/**/
231
232/* HAS_HTONS
233 *	This symbol, if defined, indicates that the htons routine (and friends)
234 *	are available to do network order byte swapping.
235 */
236/* HAS_HTONL
237 *	This symbol, if defined, indicates that the htonl routine (and friends)
238 *	are available to do network order byte swapping.
239 */
240/* HAS_NTOHS
241 *	This symbol, if defined, indicates that the ntohs routine (and friends)
242 *	are available to do network order byte swapping.
243 */
244/* HAS_NTOHL
245 *	This symbol, if defined, indicates that the ntohl routine (and friends)
246 *	are available to do network order byte swapping.
247 */
248#$d_htonl	HAS_HTONS	/**/
249#$d_htonl	HAS_HTONL	/**/
250#$d_htonl	HAS_NTOHS	/**/
251#$d_htonl	HAS_NTOHL	/**/
252
253/* index
254 *	This preprocessor symbol is defined, along with rindex, if the system
255 *	uses the strchr and strrchr routines instead.
256 */
257/* rindex
258 *	This preprocessor symbol is defined, along with index, if the system
259 *	uses the strchr and strrchr routines instead.
260 */
261#$d_index	index strchr	/* cultural */
262#$d_index	rindex strrchr	/*  differences? */
263
264/* HAS_ISASCII
265 *	This symbol, if defined, indicates that the isascii routine is available
266 *	to test characters for asciiness.
267 */
268#$d_isascii	HAS_ISASCII		/**/
269
270/* HAS_KILLPG
271 *	This symbol, if defined, indicates that the killpg routine is available
272 *	to kill process groups.  If unavailable, you probably should use kill
273 *	with a negative process number.
274 */
275#$d_killpg	HAS_KILLPG		/**/
276
277/* HAS_LSTAT
278 *	This symbol, if defined, indicates that the lstat() routine is
279 *	available to stat symbolic links.
280 */
281#$d_lstat	HAS_LSTAT		/**/
282
283/* HAS_MEMCMP
284 *	This symbol, if defined, indicates that the memcmp routine is available
285 *	to compare blocks of memory.  If undefined, roll your own.
286 */
287#$d_memcmp	HAS_MEMCMP		/**/
288
289/* HAS_MEMCPY
290 *	This symbol, if defined, indicates that the memcpy routine is available
291 *	to copy blocks of memory.  Otherwise you should probably use bcopy().
292 *	If neither is defined, roll your own.
293 */
294/* SAFE_MEMCPY
295 *	This symbol, if defined, indicates that the memcpy routine is available
296 *	to copy potentially overlapping copy blocks of memory.  Otherwise you
297 *	should probably use memmove() or bcopy().  If neither is defined,
298 *	roll your own.
299 */
300#$d_memcpy	HAS_MEMCPY		/**/
301#$d_safemcpy	SAFE_MEMCPY		/**/
302
303/* HAS_MEMMOVE
304 *	This symbol, if defined, indicates that the memmove routine is available
305 *	to move potentially overlapping blocks of memory.  Otherwise you
306 *	should use bcopy() or roll your own.
307 */
308#$d_memmove	HAS_MEMMOVE		/**/
309
310/* HAS_MEMSET
311 *	This symbol, if defined, indicates that the memset routine is available
312 *	to set a block of memory to a character.  If undefined, roll your own.
313 */
314#$d_memset	HAS_MEMSET		/**/
315
316/* HAS_MKDIR
317 *	This symbol, if defined, indicates that the mkdir routine is available
318 *	to create directories.  Otherwise you should fork off a new process to
319 *	exec /bin/mkdir.
320 */
321#$d_mkdir	HAS_MKDIR		/**/
322
323/* HAS_MSG
324 *	This symbol, if defined, indicates that the entire msg*(2) library is
325 *	supported.
326 */
327#$d_msg	HAS_MSG		/**/
328
329/* HAS_MSGCTL
330 *	This symbol, if defined, indicates that the msgctl() routine is
331 *	available to control message passing.
332 */
333#$d_msgctl	HAS_MSGCTL		/**/
334
335/* HAS_MSGGET
336 *	This symbol, if defined, indicates that the msgget() routine is
337 *	available to get messages.
338 */
339#$d_msgget	HAS_MSGGET		/**/
340
341/* HAS_MSGRCV
342 *	This symbol, if defined, indicates that the msgrcv() routine is
343 *	available to receive messages.
344 */
345#$d_msgrcv	HAS_MSGRCV		/**/
346
347/* HAS_MSGSND
348 *	This symbol, if defined, indicates that the msgsnd() routine is
349 *	available to send messages.
350 */
351#$d_msgsnd	HAS_MSGSND		/**/
352
353/* HAS_NDBM
354 *	This symbol, if defined, indicates that ndbm.h exists and should
355 *	be included.
356 */
357#$d_ndbm	HAS_NDBM		/**/
358
359/* HAS_ODBM
360 *	This symbol, if defined, indicates that dbm.h exists and should
361 *	be included.
362 */
363#$d_odbm	HAS_ODBM		/**/
364
365/* HAS_OPEN3
366 *	This manifest constant lets the C program know that the three
367 *	argument form of open(2) is available.
368 */
369#$d_open3	HAS_OPEN3		/**/
370
371/* HAS_READDIR
372 *	This symbol, if defined, indicates that the readdir routine is available
373 *	from the C library to read directories.
374 */
375#$d_readdir	HAS_READDIR		/**/
376
377/* HAS_RENAME
378 *	This symbol, if defined, indicates that the rename routine is available
379 *	to rename files.  Otherwise you should do the unlink(), link(), unlink()
380 *	trick.
381 */
382#$d_rename	HAS_RENAME		/**/
383
384/* HAS_REWINDDIR
385 *	This symbol, if defined, indicates that the rewindir routine is
386 *	available to rewind directories.
387 */
388#$d_rewindir	HAS_REWINDDIR		/**/
389
390/* HAS_RMDIR
391 *	This symbol, if defined, indicates that the rmdir routine is available
392 *	to remove directories.  Otherwise you should fork off a new process to
393 *	exec /bin/rmdir.
394 */
395#$d_rmdir	HAS_RMDIR		/**/
396
397/* HAS_SEEKDIR
398 *	This symbol, if defined, indicates that the seekdir routine is
399 *	available to seek into directories.
400 */
401#$d_seekdir	HAS_SEEKDIR		/**/
402
403/* HAS_SELECT
404 *	This symbol, if defined, indicates that the select() subroutine
405 *	exists.
406 */
407#$d_select	HAS_SELECT	/**/
408
409/* HAS_SEM
410 *	This symbol, if defined, indicates that the entire sem*(2) library is
411 *	supported.
412 */
413#$d_sem	HAS_SEM		/**/
414
415/* HAS_SEMCTL
416 *	This symbol, if defined, indicates that the semctl() routine is
417 *	available to control semaphores.
418 */
419#$d_semctl	HAS_SEMCTL		/**/
420
421/* HAS_SEMGET
422 *	This symbol, if defined, indicates that the semget() routine is
423 *	available to get semaphores ids.
424 */
425#$d_semget	HAS_SEMGET		/**/
426
427/* HAS_SEMOP
428 *	This symbol, if defined, indicates that the semop() routine is
429 *	available to perform semaphore operations.
430 */
431#$d_semop	HAS_SEMOP		/**/
432
433/* HAS_SETEGID
434 *	This symbol, if defined, indicates that the setegid routine is available
435 *	to change the effective gid of the current program.
436 */
437#$d_setegid	HAS_SETEGID		/**/
438
439/* HAS_SETEUID
440 *	This symbol, if defined, indicates that the seteuid routine is available
441 *	to change the effective uid of the current program.
442 */
443#$d_seteuid	HAS_SETEUID		/**/
444
445/* HAS_SETPGRP
446 *	This symbol, if defined, indicates that the setpgrp() routine is
447 *	available to set the current process group.
448 */
449#$d_setpgrp	HAS_SETPGRP		/**/
450
451/* HAS_SETPGRP2
452 *	This symbol, if defined, indicates that the setpgrp2() (as in DG/UX)
453 *	routine is available to set the current process group.
454 */
455#$d_setpgrp2	HAS_SETPGRP2		/**/
456
457/* HAS_SETPRIORITY
458 *	This symbol, if defined, indicates that the setpriority() routine is
459 *	available to set a process's priority.
460 */
461#$d_setprior	HAS_SETPRIORITY		/**/
462
463/* HAS_SETREGID
464 *	This symbol, if defined, indicates that the setregid routine is
465 *	available to change the real and effective gid of the current program.
466 */
467/* HAS_SETRESGID
468 *	This symbol, if defined, indicates that the setresgid routine is
469 *	available to change the real, effective and saved gid of the current
470 *	program.
471 */
472#$d_setregid	HAS_SETREGID		/**/
473#$d_setresgid	HAS_SETRESGID		/**/
474
475/* HAS_SETREUID
476 *	This symbol, if defined, indicates that the setreuid routine is
477 *	available to change the real and effective uid of the current program.
478 */
479/* HAS_SETRESUID
480 *	This symbol, if defined, indicates that the setresuid routine is
481 *	available to change the real, effective and saved uid of the current
482 *	program.
483 */
484#$d_setreuid	HAS_SETREUID		/**/
485#$d_setresuid	HAS_SETRESUID		/**/
486
487/* HAS_SETRGID
488 *	This symbol, if defined, indicates that the setrgid routine is available
489 *	to change the real gid of the current program.
490 */
491#$d_setrgid	HAS_SETRGID		/**/
492
493/* HAS_SETRUID
494 *	This symbol, if defined, indicates that the setruid routine is available
495 *	to change the real uid of the current program.
496 */
497#$d_setruid	HAS_SETRUID		/**/
498
499/* HAS_SHM
500 *	This symbol, if defined, indicates that the entire shm*(2) library is
501 *	supported.
502 */
503#$d_shm	HAS_SHM		/**/
504
505/* HAS_SHMAT
506 *	This symbol, if defined, indicates that the shmat() routine is
507 *	available to attach a shared memory segment.
508 */
509/* VOID_SHMAT
510 *	This symbol, if defined, indicates that the shmat() routine
511 *	returns a pointer of type void*.
512 */
513#$d_shmat	HAS_SHMAT		/**/
514
515#$d_voidshmat	VOIDSHMAT		/**/
516
517/* HAS_SHMCTL
518 *	This symbol, if defined, indicates that the shmctl() routine is
519 *	available to control a shared memory segment.
520 */
521#$d_shmctl	HAS_SHMCTL		/**/
522
523/* HAS_SHMDT
524 *	This symbol, if defined, indicates that the shmdt() routine is
525 *	available to detach a shared memory segment.
526 */
527#$d_shmdt	HAS_SHMDT		/**/
528
529/* HAS_SHMGET
530 *	This symbol, if defined, indicates that the shmget() routine is
531 *	available to get a shared memory segment id.
532 */
533#$d_shmget	HAS_SHMGET		/**/
534
535/* HAS_SOCKET
536 *	This symbol, if defined, indicates that the BSD socket interface is
537 *	supported.
538 */
539/* HAS_SOCKETPAIR
540 *	This symbol, if defined, indicates that the BSD socketpair call is
541 *	supported.
542 */
543/* OLDSOCKET
544 *	This symbol, if defined, indicates that the 4.1c BSD socket interface
545 *	is supported instead of the 4.2/4.3 BSD socket interface.
546 */
547#$d_socket	HAS_SOCKET		/**/
548
549#$d_sockpair	HAS_SOCKETPAIR	/**/
550
551#$d_oldsock	OLDSOCKET	/**/
552
553/* STATBLOCKS
554 *	This symbol is defined if this system has a stat structure declaring
555 *	st_blksize and st_blocks.
556 */
557#$d_statblks	STATBLOCKS 	/**/
558
559/* STDSTDIO
560 *	This symbol is defined if this system has a FILE structure declaring
561 *	_ptr and _cnt in stdio.h.
562 */
563#$d_stdstdio	STDSTDIO 	/**/
564
565/* STRUCTCOPY
566 *	This symbol, if defined, indicates that this C compiler knows how
567 *	to copy structures.  If undefined, you'll need to use a block copy
568 *	routine of some sort instead.
569 */
570#$d_strctcpy	STRUCTCOPY	/**/
571
572/* HAS_STRERROR
573 *	This symbol, if defined, indicates that the strerror() routine is
574 *	available to translate error numbers to strings.
575 */
576#$d_strerror	HAS_STRERROR		/**/
577
578/* HAS_SYMLINK
579 *	This symbol, if defined, indicates that the symlink routine is available
580 *	to create symbolic links.
581 */
582#$d_symlink	HAS_SYMLINK		/**/
583
584/* HAS_SYSCALL
585 *	This symbol, if defined, indicates that the syscall routine is available
586 *	to call arbitrary system calls.  If undefined, that's tough.
587 */
588#$d_syscall	HAS_SYSCALL		/**/
589
590/* HAS_TELLDIR
591 *	This symbol, if defined, indicates that the telldir routine is
592 *	available to tell your location in directories.
593 */
594#$d_telldir	HAS_TELLDIR		/**/
595
596/* HAS_TRUNCATE
597 *	This symbol, if defined, indicates that the truncate routine is
598 *	available to truncate files.
599 */
600#$d_truncate	HAS_TRUNCATE		/**/
601
602/* HAS_VFORK
603 *	This symbol, if defined, indicates that vfork() exists.
604 */
605#$d_vfork	HAS_VFORK	/**/
606
607/* VOIDSIG
608 *	This symbol is defined if this system declares "void (*signal())()" in
609 *	signal.h.  The old way was to declare it as "int (*signal())()".  It
610 *	is up to the package author to declare things correctly based on the
611 *	symbol.
612 */
613/* TO_SIGNAL
614 *	This symbol's value is either "void" or "int", corresponding to the
615 *	appropriate return "type" of a signal handler.  Thus, one can declare
616 *	a signal handler using "TO_SIGNAL (*handler())()", and define the
617 *	handler using "TO_SIGNAL handler(sig)".
618 */
619#$d_voidsig	VOIDSIG 	/**/
620#$define	TO_SIGNAL	$d_tosignal 	/**/
621
622/* HASVOLATILE
623 *	This symbol, if defined, indicates that this C compiler knows about
624 *	the volatile declaration.
625 */
626#$d_volatile	HASVOLATILE	/**/
627
628/* HAS_VPRINTF
629 *	This symbol, if defined, indicates that the vprintf routine is available
630 *	to printf with a pointer to an argument list.  If unavailable, you
631 *	may need to write your own, probably in terms of _doprnt().
632 */
633/* CHARVSPRINTF
634 *	This symbol is defined if this system has vsprintf() returning type
635 *	(char*).  The trend seems to be to declare it as "int vsprintf()".  It
636 *	is up to the package author to declare vsprintf correctly based on the
637 *	symbol.
638 */
639#$d_vprintf	HAS_VPRINTF	/**/
640#$d_charvspr	CHARVSPRINTF 	/**/
641
642/* HAS_WAIT4
643 *	This symbol, if defined, indicates that wait4() exists.
644 */
645#$d_wait4	HAS_WAIT4	/**/
646
647/* HAS_WAITPID
648 *	This symbol, if defined, indicates that waitpid() exists.
649 */
650#$d_waitpid	HAS_WAITPID	/**/
651
652/* GIDTYPE
653 *	This symbol has a value like gid_t, int, ushort, or whatever type is
654 *	used to declare group ids in the kernel.
655 */
656#define GIDTYPE $gidtype		/**/
657
658/* GROUPSTYPE
659 *	This symbol has a value like gid_t, int, ushort, or whatever type is
660 *	used in the return value of getgroups().
661 */
662#define GROUPSTYPE $groupstype		/**/
663
664/* I_FCNTL
665 *	This manifest constant tells the C program to include <fcntl.h>.
666 */
667#$i_fcntl	I_FCNTL	/**/
668
669/* I_GDBM
670 *	This symbol, if defined, indicates that gdbm.h exists and should
671 *	be included.
672 */
673#$i_gdbm	I_GDBM		/**/
674
675/* I_GRP
676 *	This symbol, if defined, indicates to the C program that it should
677 *	include grp.h.
678 */
679#$i_grp	I_GRP		/**/
680
681/* I_NETINET_IN
682 *	This symbol, if defined, indicates to the C program that it should
683 *	include netinet/in.h.
684 */
685/* I_SYS_IN
686 *	This symbol, if defined, indicates to the C program that it should
687 *	include sys/in.h.
688 */
689#$i_niin	I_NETINET_IN		/**/
690#$i_sysin	I_SYS_IN		/**/
691
692/* I_PWD
693 *	This symbol, if defined, indicates to the C program that it should
694 *	include pwd.h.
695 */
696/* PWQUOTA
697 *	This symbol, if defined, indicates to the C program that struct passwd
698 *	contains pw_quota.
699 */
700/* PWAGE
701 *	This symbol, if defined, indicates to the C program that struct passwd
702 *	contains pw_age.
703 */
704/* PWCHANGE
705 *	This symbol, if defined, indicates to the C program that struct passwd
706 *	contains pw_change.
707 */
708/* PWCLASS
709 *	This symbol, if defined, indicates to the C program that struct passwd
710 *	contains pw_class.
711 */
712/* PWEXPIRE
713 *	This symbol, if defined, indicates to the C program that struct passwd
714 *	contains pw_expire.
715 */
716/* PWCOMMENT
717 *	This symbol, if defined, indicates to the C program that struct passwd
718 *	contains pw_comment.
719 */
720#$i_pwd	I_PWD		/**/
721#$d_pwquota	PWQUOTA		/**/
722#$d_pwage	PWAGE		/**/
723#$d_pwchange	PWCHANGE	/**/
724#$d_pwclass	PWCLASS		/**/
725#$d_pwexpire	PWEXPIRE	/**/
726#$d_pwcomment	PWCOMMENT	/**/
727
728/* I_SYS_FILE
729 *	This manifest constant tells the C program to include <sys/file.h>.
730 */
731#$i_sys_file	I_SYS_FILE	/**/
732
733/* I_SYSIOCTL
734 *	This symbol, if defined, indicates that sys/ioctl.h exists and should
735 *	be included.
736 */
737#$i_sysioctl	I_SYSIOCTL		/**/
738
739/* I_TIME
740 *	This symbol is defined if the program should include <time.h>.
741 */
742/* I_SYS_TIME
743 *	This symbol is defined if the program should include <sys/time.h>.
744 */
745/* SYSTIMEKERNEL
746 *	This symbol is defined if the program should include <sys/time.h>
747 *	with KERNEL defined.
748 */
749/* I_SYS_SELECT
750 *	This symbol is defined if the program should include <sys/select.h>.
751 */
752#$i_time	I_TIME	 	/**/
753#$i_sys_time	I_SYS_TIME 	/**/
754#$d_systimekernel	SYSTIMEKERNEL 	/**/
755#$i_sys_select	I_SYS_SELECT 	/**/
756
757/* I_UTIME
758 *	This symbol, if defined, indicates to the C program that it should
759 *	include utime.h.
760 */
761#$i_utime	I_UTIME		/**/
762
763/* I_VARARGS
764 *	This symbol, if defined, indicates to the C program that it should
765 *	include varargs.h.
766 */
767#$i_varargs	I_VARARGS		/**/
768
769/* I_VFORK
770 *	This symbol, if defined, indicates to the C program that it should
771 *	include vfork.h.
772 */
773#$i_vfork	I_VFORK		/**/
774
775/* INTSIZE
776 *	This symbol contains the size of an int, so that the C preprocessor
777 *	can make decisions based on it.
778 */
779#define INTSIZE $intsize		/**/
780
781/* I_DIRENT
782 *	This symbol, if defined, indicates that the program should use the
783 *	P1003-style directory routines, and include <dirent.h>.
784 */
785/* I_SYS_DIR
786 *	This symbol, if defined, indicates that the program should use the
787 *	directory functions by including <sys/dir.h>.
788 */
789/* I_NDIR
790 *	This symbol, if defined, indicates that the program should include the
791 *	system's version of ndir.h, rather than the one with this package.
792 */
793/* I_SYS_NDIR
794 *	This symbol, if defined, indicates that the program should include the
795 *	system's version of sys/ndir.h, rather than the one with this package.
796 */
797/* I_MY_DIR
798 *	This symbol, if defined, indicates that the program should compile
799 *	the ndir.c code provided with the package.
800 */
801/* DIRNAMLEN
802 *	This symbol, if defined, indicates to the C program that the length
803 *	of directory entry names is provided by a d_namlen field.  Otherwise
804 *	you need to do strlen() on the d_name field.
805 */
806#$i_dirent	I_DIRENT	/**/
807#$i_sys_dir	I_SYS_DIR	/**/
808#$i_ndir	I_NDIR		/**/
809#$i_sys_ndir	I_SYS_NDIR	/**/
810#$i_my_dir	I_MY_DIR	/**/
811#$d_dirnamlen	DIRNAMLEN	/**/
812
813/* MYMALLOC
814 *	This symbol, if defined, indicates that we're using our own malloc.
815 */
816/* MALLOCPTRTYPE
817 *	This symbol defines the kind of ptr returned by malloc and realloc.
818 */
819#$d_mymalloc MYMALLOC			/**/
820
821#define MALLOCPTRTYPE $mallocptrtype         /**/
822
823
824/* RANDBITS
825 *	This symbol contains the number of bits of random number the rand()
826 *	function produces.  Usual values are 15, 16, and 31.
827 */
828#define RANDBITS $randbits		/**/
829
830/* SCRIPTDIR
831 *	This symbol holds the name of the directory in which the user wants
832 *	to keep publicly executable scripts for the package in question.  It
833 *	is often a directory that is mounted across diverse architectures.
834 */
835#define SCRIPTDIR "$scriptdir"             /**/
836
837/* SIG_NAME
838 *	This symbol contains an list of signal names in order.
839 */
840#define SIG_NAME "`echo $sig_name | sed 's/ /","/g'`"		/**/
841
842/* STDCHAR
843 *	This symbol is defined to be the type of char used in stdio.h.
844 *	It has the values "unsigned char" or "char".
845 */
846#define STDCHAR $stdchar	/**/
847
848/* UIDTYPE
849 *	This symbol has a value like uid_t, int, ushort, or whatever type is
850 *	used to declare user ids in the kernel.
851 */
852#define UIDTYPE $uidtype		/**/
853
854/* VOIDHAVE
855 *	This symbol indicates how much support of the void type is given by this
856 *	compiler.  What various bits mean:
857 *
858 *	    1 = supports declaration of void
859 *	    2 = supports arrays of pointers to functions returning void
860 *	    4 = supports comparisons between pointers to void functions and
861 *		    addresses of void functions
862 *
863 *	The package designer should define VOIDWANT to indicate the requirements
864 *	of the package.  This can be done either by #defining VOIDWANT before
865 *	including config.h, or by defining voidwant in Myinit.U.  If the level
866 *	of void support necessary is not present, config.h defines void to "int",
867 *	VOID to the empty string, and VOIDP to "char *".
868 */
869/* void
870 *	This symbol is used for void casts.  On implementations which support
871 *	void appropriately, its value is "void".  Otherwise, its value maps
872 *	to "int".
873 */
874/* VOID
875 *	This symbol's value is "void" if the implementation supports void
876 *	appropriately.  Otherwise, its value is the empty string.  The primary
877 *	use of this symbol is in specifying void parameter lists for function
878 *	prototypes.
879 */
880/* VOIDP
881 *	This symbol is used for casting generic pointers.  On implementations
882 *	which support void appropriately, its value is "void *".  Otherwise,
883 *	its value is "char *".
884 */
885#ifndef VOIDWANT
886#define VOIDWANT $voidwant
887#endif
888#define VOIDHAVE $voidhave
889#if (VOIDHAVE & VOIDWANT) != VOIDWANT
890#define void int		/* is void to be avoided? */
891#define VOID
892#define VOIDP (char *)
893#define M_VOID		/* Xenix strikes again */
894#else
895#define VOID void
896#define VOIDP (void *)
897#endif
898
899/* PRIVLIB
900 *	This symbol contains the name of the private library for this package.
901 *	The library is private in the sense that it needn't be in anyone's
902 *	execution path, but it should be accessible by the world.  The program
903 *	should be prepared to do ~ expansion.
904 */
905#define PRIVLIB "$privlib"		/**/
906
907#endif
908!GROK!THIS!
909