xref: /original-bsd/usr.sbin/sendmail/src/conf.h (revision 763dde7c)
1 /*
2  * Copyright (c) 1983 Eric P. Allman
3  * Copyright (c) 1988 Regents of the University of California.
4  * All rights reserved.
5  *
6  * %sccs.include.redist.c%
7  *
8  *	@(#)conf.h	6.3 (Berkeley) 01/20/93
9  */
10 
11 /*
12 **  CONF.H -- All user-configurable parameters for sendmail
13 */
14 
15 # include <sys/param.h>
16 
17 /*
18 **  Table sizes, etc....
19 **	There shouldn't be much need to change these....
20 */
21 
22 # define MAXLINE	1024		/* max line length */
23 # define MAXNAME	256		/* max length of a name */
24 # define MAXPV		40		/* max # of parms to mailers */
25 # define MAXATOM	100		/* max atoms per address */
26 # define MAXMAILERS	25		/* maximum mailers known to system */
27 # define MAXRWSETS	100		/* max # of sets of rewriting rules */
28 # define MAXPRIORITIES	25		/* max values for Precedence: field */
29 # define MAXTRUST	30		/* maximum number of trusted users */
30 # define MAXMXHOSTS	20		/* max # of MX records */
31 # define SMTPLINELIM	990		/* maximum SMTP line length */
32 # define MAXKEY		128		/* maximum size of a database key */
33 # define MEMCHUNKSIZE	1024		/* chunk size for memory allocation */
34 
35 # ifndef QUEUESIZE
36 # define QUEUESIZE	1000		/* max # of jobs per queue run */
37 # endif
38 
39 # ifndef FORK
40 # define FORK		vfork		/* function to call to fork mailer */
41 # endif
42 
43 /*
44 **  Compilation options.
45 **
46 **	#define these if they are available; comment them out otherwise.
47 */
48 
49 # define LOG		1	/* enable logging */
50 # define SMTP		1	/* enable user and server SMTP */
51 # define QUEUE		1	/* enable queueing */
52 # define UGLYUUCP	1	/* output ugly UUCP From lines */
53 # define DAEMON		1	/* include the daemon (requires IPC & SMTP) */
54 # define SETPROCTITLE	1	/* munge argv to display current status */
55 # define NAMED_BIND	1	/* use Berkeley Internet Domain Server */
56 # define MATCHGECOS	1	/* match user names from gecos field */
57 
58 # ifdef NEWDB
59 # define USERDB		1	/* look in user database (requires NEWDB) */
60 # define BTREE_MAP	1	/* enable BTREE mapping type (requires NEWDB) */
61 # define HASH_MAP	1	/* enable HASH mapping type (requires NEWDB) */
62 # endif
63 
64 # ifdef NDBM
65 # define DBM_MAP	1	/* enable DBM mapping type (requires NDBM) */
66 # endif
67 
68 /*
69 **  Some general configuration -- you shouldn't have to touch these
70 */
71 
72 # ifdef hpux
73 # define SYSTEM5	1
74 # endif
75 
76 # ifdef SYSTEM5
77 
78 # define LOCKF		1	/* use System V lockf instead of flock */
79 # define SYS5TZ		1	/* use System V style timezones */
80 # define UNAME		1	/* use System V uname system call */
81 
82 # endif
83 
84 /*
85 **  Older systems don't have this error code -- it should be in
86 **  /usr/include/sysexits.h.
87 */
88 
89 # ifndef EX_CONFIG
90 # define EX_CONFIG	78	/* configuration error */
91 # endif
92 
93 /*
94 **  Arrange to use either varargs or stdargs
95 */
96 
97 # ifdef __STDC__
98 
99 # include <stdarg.h>
100 
101 # define VA_ARG_FORMAL
102 # define VA_ARG_DECL
103 # define VA_LOCAL_DECL	va_list ap;
104 # define VA_START(f)	va_start(ap, f)
105 # define VA_END		va_end(ap)
106 
107 # else
108 
109 # include <varargs.h>
110 
111 # define VA_ARG_FORMAL	,va_alist
112 # define VA_ARG_DECL	va_dcl
113 # define VA_LOCAL_DECL	va_list ap;
114 # define VA_START(f)	va_start(ap)
115 # define VA_END		va_end(ap)
116 
117 # endif
118 
119 #ifdef UNAME
120 # include <sys/utsname.h>
121 # ifdef newstr
122 #  undef newstr
123 # endif
124 #else /* ! UNAME */
125 # define NODE_LENGTH 32
126 struct utsname
127 {
128 	char nodename[NODE_LENGTH+1];
129 };
130 #endif /* UNAME */
131