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