19147Seric /* 234920Sbostic * Copyright (c) 1983 Eric P. Allman 362522Sbostic * Copyright (c) 1988, 1993 462522Sbostic * The Regents of the University of California. All rights reserved. 533728Sbostic * 642825Sbostic * %sccs.include.redist.c% 733728Sbostic * 8*64562Seric * @(#)conf.h 8.35 (Berkeley) 09/22/93 933728Sbostic */ 109147Seric 1122726Sdist /* 1222726Sdist ** CONF.H -- All user-configurable parameters for sendmail 1322726Sdist */ 149147Seric 1557232Seric # include <sys/param.h> 1659389Seric # include <sys/stat.h> 1764380Seric # include <sys/file.h> 1864500Seric # include <sys/wait.h> 1958689Seric # include <fcntl.h> 2064035Seric # include <signal.h> 2157232Seric 2263902Seric /********************************************************************** 239147Seric ** Table sizes, etc.... 249147Seric ** There shouldn't be much need to change these.... 2563902Seric **********************************************************************/ 269147Seric 2759303Seric # define MAXLINE 2048 /* max line length */ 2824945Seric # define MAXNAME 256 /* max length of a name */ 299147Seric # define MAXPV 40 /* max # of parms to mailers */ 3059303Seric # define MAXATOM 200 /* max atoms per address */ 319147Seric # define MAXMAILERS 25 /* maximum mailers known to system */ 3257143Seric # define MAXRWSETS 100 /* max # of sets of rewriting rules */ 339147Seric # define MAXPRIORITIES 25 /* max values for Precedence: field */ 3457143Seric # define MAXMXHOSTS 20 /* max # of MX records */ 3552106Seric # define SMTPLINELIM 990 /* maximum SMTP line length */ 3657232Seric # define MAXKEY 128 /* maximum size of a database key */ 3757232Seric # define MEMCHUNKSIZE 1024 /* chunk size for memory allocation */ 3859056Seric # define MAXUSERENVIRON 100 /* max envars saved, must be >= 3 */ 3959667Seric # define MAXALIASDB 12 /* max # of alias databases */ 4059303Seric # define PSBUFSIZE (MAXLINE + MAXATOM) /* size of prescan buffer */ 4157143Seric 4257143Seric # ifndef QUEUESIZE 4357143Seric # define QUEUESIZE 1000 /* max # of jobs per queue run */ 4457143Seric # endif 4557143Seric 4663902Seric /********************************************************************** 479147Seric ** Compilation options. 4825673Seric ** 4925673Seric ** #define these if they are available; comment them out otherwise. 5063902Seric **********************************************************************/ 519147Seric 5225673Seric # define LOG 1 /* enable logging */ 5325673Seric # define UGLYUUCP 1 /* output ugly UUCP From lines */ 5458778Seric # define NETINET 1 /* include internet support */ 5525673Seric # define SETPROCTITLE 1 /* munge argv to display current status */ 5635651Seric # define NAMED_BIND 1 /* use Berkeley Internet Domain Server */ 5753735Seric # define MATCHGECOS 1 /* match user names from gecos field */ 5863753Seric # define XDEBUG 1 /* enable extended debugging */ 5936483Sbostic 6056337Seric # ifdef NEWDB 6156337Seric # define USERDB 1 /* look in user database (requires NEWDB) */ 6256337Seric # endif 6356337Seric 6464032Seric /* 6564032Seric ** Due to a "feature" in some operating systems such as Ultrix 4.3 and 6664032Seric ** HPUX 8.0, if you receive a "No route to host" message (ICMP message 6764032Seric ** ICMP_UNREACH_HOST) on _any_ connection, all connections to that host 6864032Seric ** are closed. Some firewalls return this error if you try to connect 6964032Seric ** to the IDENT port (113), so you can't receive email from these hosts 7064032Seric ** on these systems. The firewall really should use a more specific 7164032Seric ** message such as ICMP_UNREACH_PROTOCOL or _PORT or _NET_PROHIB. This 7264032Seric ** will get #undefed below as needed. 7364032Seric */ 7464032Seric 7564032Seric # define IDENTPROTO 1 /* use IDENT proto (RFC 1413) */ 7664032Seric 7763902Seric /********************************************************************** 7859023Seric ** Operating system configuration. 7959023Seric ** 8059023Seric ** Unless you are porting to a new OS, you shouldn't have to 8159023Seric ** change these. 8263902Seric **********************************************************************/ 8356823Seric 8463787Seric /* 8563787Seric ** Per-Operating System defines 8663787Seric */ 8763787Seric 8864314Seric 8963902Seric /* 9063902Seric ** HP-UX -- tested for 8.07 9163902Seric */ 9263902Seric 9359348Seric # ifdef __hpux 9463787Seric # define SYSTEM5 1 /* include all the System V defines */ 9564035Seric # define HASINITGROUPS 1 /* has initgroups(3) call */ 9664314Seric # define HASSTATFS 1 /* has the statfs(2) syscall */ 9764035Seric # define HASSETREUID 1 /* has setreuid(2) call */ 9863902Seric # define setreuid(r, e) setresuid(r, e, -1) 9963962Seric # define LA_TYPE LA_FLOAT 10063962Seric # define _PATH_UNIX "/hp-ux" 10164358Seric # undef IDENTPROTO /* TCP/IP implementation is broken */ 10256823Seric # endif 10356823Seric 10464314Seric 10563902Seric /* 10663902Seric ** IBM AIX 3.x -- actually tested for 3.2.3 10763902Seric */ 10863902Seric 10960224Seric # ifdef _AIX3 11064035Seric # define HASINITGROUPS 1 /* has initgroups(3) call */ 11160219Seric # define FORK fork /* no vfork primitive available */ 11264494Seric # undef SETPROCTITLE /* setproctitle confuses AIX */ 11360219Seric # endif 11460219Seric 11564314Seric 11663902Seric /* 11763902Seric ** Silicon Graphics IRIX 11863902Seric ** 11963965Seric ** Compiles on 4.0.1. 12063902Seric */ 12163902Seric 12263753Seric # ifdef IRIX 12364035Seric # define HASSETREUID 1 /* has setreuid(2) call */ 12464035Seric # define HASINITGROUPS 1 /* has initgroups(3) call */ 12564314Seric # define HASSTATFS 1 /* has the statfs(2) syscall */ 12663753Seric # define FORK fork /* no vfork primitive available */ 127*64562Seric # define WAITUNION 1 /* use "union wait" as wait argument type */ 12864155Seric # define setpgid BSDsetpgrp 12963937Seric # define GIDSET_T gid_t 13063753Seric # endif 13163753Seric 13263902Seric 13363902Seric /* 13463902Seric ** SunOS 13563902Seric */ 13663902Seric 13763787Seric #if defined(sun) && !defined(BSD) 13859074Seric 13963962Seric # define LA_TYPE LA_INT 14064035Seric # define HASSETREUID 1 /* has setreuid(2) call */ 14164035Seric # define HASINITGROUPS 1 /* has initgroups(3) call */ 14260564Seric 14360602Seric # ifdef SOLARIS 14463902Seric /* Solaris 2.x (a.k.a. SunOS 5.x) */ 14563949Seric # define SYSTEM5 1 /* use System V definitions */ 14663977Seric # define setreuid(r, e) seteuid(e) 14763787Seric # include <sys/time.h> 14864125Seric # define gethostbyname __switch_gethostbyname /* get working version */ 14964125Seric # define gethostbyaddr __switch_gethostbyaddr /* get working version */ 15063962Seric # define _PATH_UNIX "/kernel/unix" 15163962Seric # ifndef _PATH_SENDMAILCF 15263962Seric # define _PATH_SENDMAILCF "/etc/mail/sendmail.cf" 15364072Seric # endif 15464072Seric # ifndef _PATH_SENDMAILPID 15563962Seric # define _PATH_SENDMAILPID "/etc/mail/sendmail.pid" 15663962Seric # endif 15763787Seric 15860602Seric # else 15963787Seric /* SunOS 4.1.x */ 16060602Seric # define HASSTATFS 1 /* has the statfs(2) syscall */ 16164035Seric /* # define HASFLOCK 1 /* has flock(2) call */ 16260564Seric # include <vfork.h> 16363787Seric 16460564Seric # endif 16559023Seric #endif 16659023Seric 16764314Seric 16863902Seric /* 16963902Seric ** Digital Ultrix 4.2A or 4.3 17064264Seric ** 17164264Seric ** Apparently, fcntl locking is broken on 4.2A, in that locks are 17264264Seric ** not dropped when the process exits. This causes major problems, 17364264Seric ** so flock is the only alternative. 17463902Seric */ 17563902Seric 17660564Seric #ifdef ultrix 17760564Seric # define HASSTATFS 1 /* has the statfs(2) syscall */ 17864035Seric # define HASSETREUID 1 /* has setreuid(2) call */ 17963962Seric # define HASUNSETENV 1 /* has unsetenv(3) call */ 18064035Seric # define HASINITGROUPS 1 /* has initgroups(3) call */ 18164264Seric # define HASFLOCK 1 /* has flock(2) call */ 18263962Seric # define LA_TYPE LA_INT 18363962Seric # define LA_AVENRUN "avenrun" 18464358Seric # undef IDENTPROTO /* TCP/IP implementation is broken */ 18560564Seric #endif 18660564Seric 18764314Seric 18863902Seric /* 18963902Seric ** OSF/1 (tested on Alpha) 19063902Seric */ 19163902Seric 19263787Seric #ifdef __osf__ 19364314Seric # define HASSTATFS 1 /* has the statfs(2) syscall */ 19463962Seric # define HASUNSETENV 1 /* has unsetenv(3) call */ 19564035Seric # define HASSETREUID 1 /* has setreuid(2) call */ 19664035Seric # define HASINITGROUPS 1 /* has initgroups(3) call */ 19764035Seric /* # define HASFLOCK 1 /* has flock(2) call */ 19863962Seric # define LA_TYPE LA_INT 19959287Seric #endif 20059287Seric 20164314Seric 20263902Seric /* 20363902Seric ** NeXTstep 20463902Seric */ 20563902Seric 20664076Seric #ifdef NeXT 20764035Seric # define HASINITGROUPS 1 /* has initgroups(3) call */ 20864035Seric # define HASFLOCK 1 /* has flock(2) call */ 20964125Seric # define NEEDGETOPT 1 /* need a replacement for getopt(3) */ 21064314Seric # define HASSTATFS 1 /* has the statfs(2) syscall */ 21163753Seric # define sleep sleepX 21264155Seric # define setpgid setpgrp 21364295Seric # ifndef LA_TYPE 21464295Seric # define LA_TYPE LA_MACH 21564295Seric # endif 21664500Seric # ifndef _POSIX_SOURCE 21764035Seric typedef int pid_t; 21864500Seric # undef WEXITSTATUS 21964500Seric # undef WIFEXITED 22064500Seric # endif 22164072Seric # ifndef _PATH_SENDMAILCF 22264072Seric # define _PATH_SENDMAILCF "/etc/sendmail/sendmail.cf" 22364072Seric # endif 22464072Seric # ifndef _PATH_SENDMAILPID 22564072Seric # define _PATH_SENDMAILPID "/etc/sendmail/sendmail.pid" 22664072Seric # endif 22759288Seric #endif 22859288Seric 22964314Seric 23063902Seric /* 23163962Seric ** 4.4 BSD 23263902Seric */ 23363902Seric 23460568Seric #ifdef BSD4_4 23564072Seric # define HASUNSETENV 1 /* has unsetenv(3) call */ 23664314Seric # define HASSTATFS 1 /* has the statfs(2) syscall */ 23760568Seric # include <sys/cdefs.h> 23863838Seric # define ERRLIST_PREDEFINED /* don't declare sys_errlist */ 23964072Seric # ifndef LA_TYPE 24064072Seric # define LA_TYPE LA_SUBR 24164072Seric # endif 24260568Seric #endif 24360568Seric 24464314Seric 24563902Seric /* 24663969Seric ** 4.3 BSD -- this is for very old systems 24763969Seric ** 24863969Seric ** You'll also have to install a new resolver library. 24963969Seric ** I don't guarantee that support for this environment is complete. 25063969Seric */ 25163969Seric 25263969Seric #ifdef oldBSD43 25363969Seric # define NEEDVPRINTF 1 /* need a replacement for vprintf(3) */ 25463969Seric # define NEEDGETOPT 1 /* need a replacement for getopt(3) */ 25563970Seric # define ARBPTR_T char * 25664155Seric # define setpgid setpgrp 25763969Seric # ifndef LA_TYPE 25863969Seric # define LA_TYPE LA_FLOAT 25963969Seric # endif 26063969Seric # ifndef _PATH_SENDMAILCF 26163969Seric # define _PATH_SENDMAILCF "/usr/lib/sendmail.cf" 26263969Seric # endif 26364358Seric # undef IDENTPROTO /* TCP/IP implementation is broken */ 26463969Seric #endif 26563969Seric 26664314Seric 26763969Seric /* 26863902Seric ** SCO Unix 26963902Seric */ 27063902Seric 27163838Seric #ifdef _SCO_unix_ 27263838Seric # define SYSTEM5 1 /* include all the System V defines */ 27364035Seric # define SYS5SIGNALS 1 /* SysV signal semantics -- reset on each sig */ 27463987Seric # define HASSTATFS 1 /* has the statfs(2) syscall */ 27563838Seric # define FORK fork 27663838Seric # define MAXPATHLEN PATHSIZE 27763962Seric # define LA_TYPE LA_ZERO 27863838Seric #endif 27963838Seric 28064314Seric 28163962Seric /* 28263962Seric ** ConvexOS 11.0 and later 28363962Seric */ 28463962Seric 28563962Seric #ifdef _CONVEX_SOURCE 28663977Seric # define BSD 1 /* include all the BSD defines */ 28763977Seric # define HASUNAME 1 /* use System V uname(2) system call */ 28863962Seric # define HASSTATFS 1 /* has the statfs(2) syscall */ 28963962Seric # define HASSETSID 1 /* has POSIX setsid(2) call */ 29063977Seric # define NEEDGETOPT 1 /* need replacement for getopt(3) */ 29163962Seric # define LA_TYPE LA_FLOAT 29264032Seric # undef IDENTPROTO 29363962Seric #endif 29463962Seric 29564314Seric 29663962Seric /* 29763962Seric ** RISC/os 4.51 29863962Seric ** 29963962Seric ** Untested... 30063962Seric */ 30163962Seric 30263965Seric #ifdef RISCOS 30363962Seric # define HASUNSETENV 1 /* has unsetenv(3) call */ 30464035Seric /* # define HASFLOCK 1 /* has flock(2) call */ 30563962Seric # define LA_TYPE LA_INT 30663962Seric # define LA_AVENRUN "avenrun" 30763962Seric # define _PATH_UNIX "/unix" 30863962Seric #endif 30963962Seric 31064314Seric 31164155Seric /* 31264155Seric ** Linux 0.99pl10 and above... 31364155Seric ** From Karl London <karl@borg.demon.co.uk>. 31464155Seric */ 31564155Seric 31664155Seric #ifdef linux 31764155Seric # define BSD 1 /* pretend to be BSD based today */ 31864155Seric # undef NEEDVPRINTF 1 /* need a replacement for vprintf(3) */ 31964155Seric # define NEEDGETOPT 1 /* need a replacement for getopt(3) */ 32064380Seric # define HASUNSETENV 1 /* has unsetenv(3) call */ 32164155Seric # ifndef LA_TYPE 32264155Seric # define LA_TYPE LA_FLOAT 32364155Seric # endif 32464155Seric #endif 32564155Seric 32664155Seric 32764345Seric /* 32864345Seric ** DELL SVR4 Issue 2.2, and others 32964345Seric ** From Kimmo Suominen <kim@grendel.lut.fi> 33064345Seric ** 33164345Seric ** It's on #ifdef DELL_SVR4 because Solaris also gets __svr4__ 33264345Seric ** defined, and the definitions conflict. 33364345Seric */ 33464345Seric 33564345Seric #ifdef DELL_SVR4 33664345Seric # define SYSTEM5 1 33764345Seric /* # define setreuid(r, e) seteuid(e) */ 33864345Seric /* # include <sys/time.h> */ 33964345Seric # define _PATH_UNIX "/unix" 34064345Seric # ifndef _PATH_SENDMAILCF 34164345Seric # define _PATH_SENDMAILCF "/usr/ucblib/sendmail.cf" 34264345Seric # endif 34364345Seric # ifndef _PATH_SENDMAILPID 34464345Seric # define _PATH_SENDMAILPID "/usr/ucblib/sendmail.pid" 34564345Seric # endif 34664345Seric #endif 34764345Seric 34864345Seric 34964380Seric /* 35064380Seric ** Apple A/UX 3.0 35164380Seric */ 35264345Seric 35364380Seric #ifdef _AUX_SOURCE 35464380Seric # define BSD /* has BSD routines */ 35564380Seric # define HASSTATFS 1 /* has the statfs(2) syscall */ 35664380Seric # define HASUNAME 1 /* use System V uname(2) system call */ 35764380Seric # define HASUSTAT 1 /* use System V ustat(2) syscall */ 35864380Seric # define HASSETVBUF 1 /* we have setvbuf(3) in libc */ 35964561Seric # define SIGFUNC_DEFINED /* sigfunc_t already defined */ 36064380Seric # define FORK fork 36164380Seric # ifndef _PATH_SENDMAILCF 36264380Seric # define _PATH_SENDMAILCF "/usr/lib/sendmail.cf" 36364380Seric # endif 36464380Seric # ifndef LA_TYPE 36564380Seric # define LA_TYPE LA_ZERO 36664380Seric # endif 36764560Seric # undef WIFEXITED 36864560Seric # undef WEXITSTATUS 36964380Seric #endif 37064380Seric 37164380Seric 37264380Seric 37363902Seric /********************************************************************** 37463787Seric ** End of Per-Operating System defines 37563902Seric **********************************************************************/ 37663787Seric 37763949Seric /********************************************************************** 37863949Seric ** More general defines 37963949Seric **********************************************************************/ 38063949Seric 38163962Seric /* general BSD defines */ 38263962Seric #ifdef BSD 38364035Seric # define HASGETDTABLESIZE 1 /* has getdtablesize(2) call */ 38464035Seric # define HASSETREUID 1 /* has setreuid(2) call */ 38564035Seric # define HASINITGROUPS 1 /* has initgroups(2) call */ 38664035Seric # define HASFLOCK 1 /* has flock(2) call */ 38763962Seric #endif 38863962Seric 38963787Seric /* general System V defines */ 39063787Seric # ifdef SYSTEM5 39163949Seric # define HASUNAME 1 /* use System V uname(2) system call */ 39263949Seric # define HASUSTAT 1 /* use System V ustat(2) syscall */ 39363962Seric # ifndef LA_TYPE 39463962Seric # define LA_TYPE LA_INT 39563962Seric # endif 39663949Seric # define bcopy(s, d, l) (memmove((d), (s), (l))) 39763949Seric # define bzero(d, l) (memset((d), '\0', (l))) 39863949Seric # define bcmp(s, d, l) (memcmp((s), (d), (l))) 39963787Seric # endif 40063787Seric 40163949Seric /* general "standard C" defines */ 40263949Seric #if defined(__STDC__) || defined(SYSTEM5) 40363949Seric # define HASSETVBUF 1 /* we have setvbuf(3) in libc */ 40463949Seric #endif 40563949Seric 40663949Seric /* general POSIX defines */ 40763949Seric #ifdef _POSIX_VERSION 40863949Seric # define HASSETSID 1 /* has setsid(2) call */ 40963966Seric # define HASWAITPID 1 /* has waitpid(2) call */ 41063949Seric #endif 41163949Seric 41263787Seric /* 41363937Seric ** If no type for argument two of getgroups call is defined, assume 41463937Seric ** it's an integer -- unfortunately, there seem to be several choices 41563937Seric ** here. 41663937Seric */ 41763937Seric 41863937Seric #ifndef GIDSET_T 41963937Seric # define GIDSET_T int 42063937Seric #endif 42163937Seric 42264439Seric 42364439Seric /********************************************************************** 42459023Seric ** Remaining definitions should never have to be changed. They are 42559023Seric ** primarily to provide back compatibility for older systems -- for 42659287Seric ** example, it includes some POSIX compatibility definitions 42764439Seric **********************************************************************/ 42859023Seric 42959388Seric /* System 5 compatibility */ 43059388Seric #ifndef S_ISREG 43159388Seric #define S_ISREG(foo) ((foo & S_IFREG) == S_IFREG) 43259388Seric #endif 43359388Seric #ifndef S_IWGRP 43459388Seric #define S_IWGRP 020 43559388Seric #endif 43659388Seric #ifndef S_IWOTH 43759388Seric #define S_IWOTH 002 43859388Seric #endif 43959388Seric 44059023Seric /* 44150537Seric ** Older systems don't have this error code -- it should be in 44250537Seric ** /usr/include/sysexits.h. 44350537Seric */ 44450537Seric 44550537Seric # ifndef EX_CONFIG 44650537Seric # define EX_CONFIG 78 /* configuration error */ 44750537Seric # endif 44856852Seric 44963993Seric /* 45063993Seric ** These are used in a few cases where we need some special 45163993Seric ** error codes, but where the system doesn't provide something 45263993Seric ** reasonable. They are printed in errstring. 45363993Seric */ 45463993Seric 45563993Seric #ifndef E_PSEUDOBASE 45663993Seric # define E_PSEUDOBASE 256 45763993Seric #endif 45863993Seric 45963993Seric #define EOPENTIMEOUT (E_PSEUDOBASE + 0) /* timeout on open */ 46063993Seric #define E_DNSBASE (E_PSEUDOBASE + 20) /* base for DNS h_errno */ 46163993Seric 46263970Seric /* type of arbitrary pointer */ 46363970Seric #ifndef ARBPTR_T 46463970Seric # define ARBPTR_T void * 46563970Seric #endif 46663970Seric 46760568Seric #ifndef __P 46860568Seric # include "cdefs.h" 46960568Seric #endif 47060568Seric 47156852Seric /* 47258778Seric ** Do some required dependencies 47358778Seric */ 47458778Seric 47558778Seric #if defined(NETINET) || defined(NETISO) 47659107Seric # define SMTP 1 /* enable user and server SMTP */ 47759107Seric # define QUEUE 1 /* enable queueing */ 47859107Seric # define DAEMON 1 /* include the daemon (requires IPC & SMTP) */ 47958778Seric #endif 48058778Seric 48158778Seric 48258778Seric /* 48356852Seric ** Arrange to use either varargs or stdargs 48456852Seric */ 48556852Seric 48656852Seric # ifdef __STDC__ 48756852Seric 48856852Seric # include <stdarg.h> 48956852Seric 49056852Seric # define VA_LOCAL_DECL va_list ap; 49156852Seric # define VA_START(f) va_start(ap, f) 49256852Seric # define VA_END va_end(ap) 49356852Seric 49456852Seric # else 49556852Seric 49656852Seric # include <varargs.h> 49756852Seric 49856852Seric # define VA_LOCAL_DECL va_list ap; 49956852Seric # define VA_START(f) va_start(ap) 50056852Seric # define VA_END va_end(ap) 50156852Seric 50256852Seric # endif 50357631Seric 50457943Seric #ifdef HASUNAME 50557631Seric # include <sys/utsname.h> 50657631Seric # ifdef newstr 50757631Seric # undef newstr 50857631Seric # endif 50957943Seric #else /* ! HASUNAME */ 51057631Seric # define NODE_LENGTH 32 51157631Seric struct utsname 51257631Seric { 51357631Seric char nodename[NODE_LENGTH+1]; 51457631Seric }; 51557943Seric #endif /* HASUNAME */ 51657642Seric 51763838Seric #if !defined(MAXHOSTNAMELEN) && !defined(_SCO_unix_) 51863838Seric # define MAXHOSTNAMELEN 256 51957735Seric #endif 52058153Seric 52158153Seric #if !defined(SIGCHLD) && defined(SIGCLD) 52258153Seric # define SIGCHLD SIGCLD 52358153Seric #endif 52458153Seric 52558153Seric #ifndef STDIN_FILENO 52658153Seric #define STDIN_FILENO 0 52758153Seric #endif 52858153Seric 52958153Seric #ifndef STDOUT_FILENO 53058153Seric #define STDOUT_FILENO 1 53158153Seric #endif 53258153Seric 53358153Seric #ifndef STDERR_FILENO 53458153Seric #define STDERR_FILENO 2 53558153Seric #endif 53658689Seric 53764072Seric #ifndef LOCK_SH 53864035Seric # define LOCK_SH 0x01 /* shared lock */ 53964035Seric # define LOCK_EX 0x02 /* exclusive lock */ 54064035Seric # define LOCK_NB 0x04 /* non-blocking lock */ 54164035Seric # define LOCK_UN 0x08 /* unlock */ 54264035Seric #endif 54358692Seric 54464035Seric #ifndef SIG_ERR 54564035Seric # define SIG_ERR ((void (*)()) -1) 54658689Seric #endif 54758702Seric 54864500Seric #ifndef WEXITSTATUS 54964500Seric # define WEXITSTATUS(st) (((st) >> 8) & 0377) 55064500Seric #endif 55164500Seric #ifndef WIFEXITED 55264500Seric # define WIFEXITED(st) (((st) & 0377) == 0) 55364500Seric #endif 55464500Seric 55564561Seric #ifndef SIGFUNC_DEFINED 55664561Seric typedef void (*sigfunc_t) __P((int)); 55764561Seric #endif 55864561Seric 55958702Seric /* 56058702Seric ** Size of tobuf (deliver.c) 56158702Seric ** Tweak this to match your syslog implementation. It will have to 56258702Seric ** allow for the extra information printed. 56358702Seric */ 56458702Seric 56558702Seric #ifndef TOBUFSIZE 56658702Seric # define TOBUFSIZE (1024 - 256) 56758702Seric #endif 56860219Seric 56960219Seric /* fork routine -- set above using #ifdef _osname_ or in Makefile */ 57060219Seric # ifndef FORK 57160219Seric # define FORK vfork /* function to call to fork mailer */ 57260219Seric # endif 573