general cleanup, use new err(3) routines
[unix-history] / usr / src / usr.sbin / sendmail / src / conf.h
CommitLineData
5a739feb 1/*
dc45ba8c 2 * Copyright (c) 1983 Eric P. Allman
bee79b64
KB
3 * Copyright (c) 1988 Regents of the University of California.
4 * All rights reserved.
5 *
417f7a11 6 * %sccs.include.redist.c%
bee79b64 7 *
3356c77c 8 * @(#)conf.h 6.14 (Berkeley) %G%
bee79b64 9 */
aeb2545d
DF
10
11/*
12** CONF.H -- All user-configurable parameters for sendmail
5a739feb
EA
13*/
14
f43b04ce 15# include <sys/param.h>
f8a31c8e 16# include <fcntl.h>
f43b04ce 17
5a739feb
EA
18/*
19** Table sizes, etc....
20** There shouldn't be much need to change these....
21*/
22
f0a960f1
EA
23# define MAXLINE 1024 /* max line length */
24# define MAXNAME 256 /* max length of a name */
5a739feb 25# define MAXPV 40 /* max # of parms to mailers */
5a739feb
EA
26# define MAXATOM 100 /* max atoms per address */
27# define MAXMAILERS 25 /* maximum mailers known to system */
8583ab39 28# define MAXRWSETS 100 /* max # of sets of rewriting rules */
5a739feb 29# define MAXPRIORITIES 25 /* max values for Precedence: field */
8583ab39 30# define MAXMXHOSTS 20 /* max # of MX records */
8657d05f 31# define SMTPLINELIM 990 /* maximum SMTP line length */
f43b04ce
EA
32# define MAXKEY 128 /* maximum size of a database key */
33# define MEMCHUNKSIZE 1024 /* chunk size for memory allocation */
6e99f903 34# define MAXUSERENVIRON 100 /* max envariables saved */
8e571338 35# define MAXIPADDR 16 /* max # of IP addrs for this host */
68ffe387 36# define PSBUFSIZE (MAXNAME * 4) /* size of prescan buffer */
8583ab39
EA
37
38# ifndef QUEUESIZE
39# define QUEUESIZE 1000 /* max # of jobs per queue run */
40# endif
41
140717b5
EA
42# ifndef FORK
43# define FORK vfork /* function to call to fork mailer */
44# endif
5a739feb
EA
45
46/*
47** Compilation options.
9bcdff70
EA
48**
49** #define these if they are available; comment them out otherwise.
5a739feb
EA
50*/
51
9bcdff70
EA
52# define LOG 1 /* enable logging */
53# define SMTP 1 /* enable user and server SMTP */
54# define QUEUE 1 /* enable queueing */
55# define UGLYUUCP 1 /* output ugly UUCP From lines */
3356c77c 56# define NETINET 1 /* include internet support */
9bcdff70 57# define SETPROCTITLE 1 /* munge argv to display current status */
35af2f06 58# define NAMED_BIND 1 /* use Berkeley Internet Domain Server */
7f0fd60b 59# define MATCHGECOS 1 /* match user names from gecos field */
d25bb424 60
273562d8
EA
61# ifdef NEWDB
62# define USERDB 1 /* look in user database (requires NEWDB) */
5a4c03c6 63# define BTREE_MAP 1 /* enable BTREE mapping type (requires NEWDB) */
8583ab39 64# define HASH_MAP 1 /* enable HASH mapping type (requires NEWDB) */
5a4c03c6
EA
65# endif
66
67# ifdef NDBM
68# define DBM_MAP 1 /* enable DBM mapping type (requires NDBM) */
69# endif
70
71/*
72** Some general configuration -- you shouldn't have to touch these
73*/
74
75# ifdef hpux
76# define SYSTEM5 1
273562d8
EA
77# endif
78
d25bb424 79# ifdef SYSTEM5
07c63e56 80
d25bb424 81# define LOCKF 1 /* use System V lockf instead of flock */
07c63e56 82# define SYS5TZ 1 /* use System V style timezones */
322eceee 83# define HASUNAME 1 /* use System V uname system call */
07c63e56 84
d25bb424 85# endif
19c9e482 86
030ae776
EA
87/*
88** Older systems don't have this error code -- it should be in
89** /usr/include/sysexits.h.
90*/
91
92# ifndef EX_CONFIG
93# define EX_CONFIG 78 /* configuration error */
94# endif
5229f34d 95
3356c77c
EA
96/*
97** Do some required dependencies
98*/
99
100#if defined(NETINET) || defined(NETISO)
101# define DAEMON 1
102# define SMTP 1
103# define QUEUE 1
104#endif
105
106
5229f34d
EA
107/*
108** Arrange to use either varargs or stdargs
109*/
110
111# ifdef __STDC__
112
113# include <stdarg.h>
114
5229f34d
EA
115# define VA_LOCAL_DECL va_list ap;
116# define VA_START(f) va_start(ap, f)
117# define VA_END va_end(ap)
118
119# else
120
121# include <varargs.h>
122
5229f34d
EA
123# define VA_LOCAL_DECL va_list ap;
124# define VA_START(f) va_start(ap)
125# define VA_END va_end(ap)
126
127# endif
422bed79 128
322eceee 129#ifdef HASUNAME
422bed79
EA
130# include <sys/utsname.h>
131# ifdef newstr
132# undef newstr
133# endif
322eceee 134#else /* ! HASUNAME */
422bed79
EA
135# define NODE_LENGTH 32
136struct utsname
137{
138 char nodename[NODE_LENGTH+1];
139};
322eceee 140#endif /* HASUNAME */
6e99f903
EA
141
142#ifdef sun
143# include <vfork.h>
144#endif
8d3fd325
EA
145
146#ifndef MAXHOSTNAMELEN
147#define MAXHOSTNAMELEN 256
148#endif
49c069a9
EA
149
150#if !defined(SIGCHLD) && defined(SIGCLD)
151# define SIGCHLD SIGCLD
152#endif
153
154#ifndef STDIN_FILENO
155#define STDIN_FILENO 0
156#endif
157
158#ifndef STDOUT_FILENO
159#define STDOUT_FILENO 1
160#endif
161
162#ifndef STDERR_FILENO
163#define STDERR_FILENO 2
164#endif
f8a31c8e
EA
165
166#ifdef LOCKF
167#define LOCK_SH 0x01 /* shared lock */
168#define LOCK_EX 0x02 /* exclusive lock */
169#define LOCK_NB 0x04 /* non-blocking lock */
64247676
EA
170
171#else
172
173# include <sys/file.h>
174
f8a31c8e 175#endif
a3685d83
EA
176
177/*
178** Size of tobuf (deliver.c)
179** Tweak this to match your syslog implementation. It will have to
180** allow for the extra information printed.
181*/
182
183#ifndef TOBUFSIZE
184# define TOBUFSIZE (1024 - 256)
185#endif