📄 conf.h
字号:
#ifdef UNICOS# define SYSTEM5 1 /* include all the System V defines */# define SYS5SIGNALS 1 /* SysV signal semantics -- reset on each sig */# define MAXPATHLEN PATHSIZE# define LA_TYPE LA_ZERO# define SFS_TYPE SFS_4ARGS /* four argument statfs() call */#endif/*** Apollo DomainOS**** From Todd Martin <tmartint@tus.ssi1.com> & Don Lewis <gdonl@gv.ssi1.com>**** 15 Jan 1994***/#ifdef apollo# define HASSETREUID 1 /* has setreuid(2) call */# define HASINITGROUPS 1 /* has initgroups(2) call */# undef SETPROCTITLE# define LA_TYPE LA_SUBR /* use getloadavg.c */# define SFS_TYPE SFS_4ARGS /* four argument statfs() call */# ifndef _PATH_SENDMAILCF# define _PATH_SENDMAILCF "/usr/lib/sendmail.cf"# endif# ifndef _PATH_SENDMAILPID# define _PATH_SENDMAILPID "/etc/sendmail.pid"# endif# undef S_IFSOCK /* S_IFSOCK and S_IFIFO are the same */# undef S_IFIFO# define S_IFIFO 0010000# ifndef IDENTPROTO# define IDENTPROTO 0 /* TCP/IP implementation is broken */# endif#endif/*** UnixWare**** From Evan Champion <evanc@spatial.synapse.org>.*/#ifdef UNIXWARE# define SYSTEM5 1# ifndef HASGETUSERSHELL# define HASGETUSERSHELL 0 /* does not have getusershell(3) call */# endif# define GIDSET_T int# define SLEEP_T int# define SFS_TYPE SFS_STATVFS# define LA_TYPE LA_ZERO# undef WIFEXITED# undef WEXITSTATUS# define _PATH_UNIX "/unix"# ifndef _PATH_SENDMAILCF# define _PATH_SENDMAILCF "/usr/ucblib/sendmail.cf"# endif# ifndef _PATH_SENDMAILPID# define _PATH_SENDMAILPID "/usr/ucblib/sendmail.pid"# endif# define SYSLOG_BUFSIZE 128#endif/*** Intergraph CLIX 3.1**** From Paul Southworth <pauls@locust.cic.net>*/#ifdef CLIX# define SYSTEM5 1 /* looks like System V */# ifndef HASGETUSERSHELL# define HASGETUSERSHELL 0 /* does not have getusershell(3) call */# endif# define DEV_BSIZE 512 /* device block size not defined */# define GIDSET_T gid_t# undef LOG /* syslog not available */# define NEEDFSYNC 1 /* no fsync in system library */# define GETSHORT _getshort#endif/*** NCR 3000 Series (SysVr4)**** From From: Kevin Darcy <kevin@tech.mis.cfc.com>.*/#ifdef NCR3000# define __svr4__# undef BSD# define LA_AVENRUN "avenrun"#endif /************************************************************************ End of Per-Operating System defines**********************************************************************//************************************************************************ More general defines**********************************************************************//* general BSD defines */#ifdef BSD# define HASGETDTABLESIZE 1 /* has getdtablesize(2) call */# define HASSETREUID 1 /* has setreuid(2) call */# define HASINITGROUPS 1 /* has initgroups(2) call */# ifndef HASFLOCK# define HASFLOCK 1 /* has flock(2) call */# endif#endif/* general System V Release 4 defines */#ifdef __svr4__# define SYSTEM5 1# define HASSETREUID 1 /* has seteuid(2) call & working saved uids */# ifndef HASGETUSERSHELL# define HASGETUSERSHELL 0 /* does not have getusershell(3) call */# endif# define setreuid(r, e) seteuid(e)# ifndef _PATH_UNIX# define _PATH_UNIX "/unix"# endif# ifndef _PATH_SENDMAILCF# define _PATH_SENDMAILCF "/usr/ucblib/sendmail.cf"# endif# ifndef _PATH_SENDMAILPID# define _PATH_SENDMAILPID "/usr/ucblib/sendmail.pid"# endif# ifndef SYSLOG_BUFSIZE# define SYSLOG_BUFSIZE 128# endif#endif/* general System V defines */#ifdef SYSTEM5# include <sys/sysmacros.h># define HASUNAME 1 /* use System V uname(2) system call */# define SYS5SETPGRP 1 /* use System V setpgrp(2) syscall */# define HASSETVBUF 1 /* we have setvbuf(3) in libc */# ifndef LA_TYPE# define LA_TYPE LA_INT /* assume integer load average */# endif# ifndef SFS_TYPE# define SFS_TYPE SFS_USTAT /* use System V ustat(2) syscall */# endif# define bcopy(s, d, l) (memmove((d), (s), (l)))# define bzero(d, l) (memset((d), '\0', (l)))# define bcmp(s, d, l) (memcmp((s), (d), (l)))#endif/* general POSIX defines */#ifdef _POSIX_VERSION# define HASSETSID 1 /* has Posix setsid(2) call */# define HASWAITPID 1 /* has Posix waitpid(2) call */#endif/*** If no type for argument two of getgroups call is defined, assume** it's an integer -- unfortunately, there seem to be several choices** here.*/#ifndef GIDSET_T# define GIDSET_T int#endif/*** Tweaking for systems that (for example) claim to be BSD but** don't have all the standard BSD routines (boo hiss).*/#ifdef titan# undef HASINITGROUPS /* doesn't have initgroups(3) call */#endif/*** Due to a "feature" in some operating systems such as Ultrix 4.3 and** HPUX 8.0, if you receive a "No route to host" message (ICMP message** ICMP_UNREACH_HOST) on _any_ connection, all connections to that host** are closed. Some firewalls return this error if you try to connect** to the IDENT port (113), so you can't receive email from these hosts** on these systems. The firewall really should use a more specific** message such as ICMP_UNREACH_PROTOCOL or _PORT or _NET_PROHIB. If** not explicitly set to zero above, default it on.*/#ifndef IDENTPROTO# define IDENTPROTO 1 /* use IDENT proto (RFC 1413) */#endif#ifndef HASGETUSERSHELL# define HASGETUSERSHELL 1 /* libc has getusershell(3) call */#endif#ifndef HASFLOCK# define HASFLOCK 0 /* assume no flock(2) support */#endif#ifndef OLD_NEWDB# define OLD_NEWDB 0 /* assume newer version of newdb */#endif/************************************************************************ Remaining definitions should never have to be changed. They are** primarily to provide back compatibility for older systems -- for** example, it includes some POSIX compatibility definitions**********************************************************************//* System 5 compatibility */#ifndef S_ISREG# define S_ISREG(foo) ((foo & S_IFMT) == S_IFREG)#endif#if !defined(S_ISLNK) && defined(S_IFLNK)# define S_ISLNK(foo) ((foo & S_IFMT) == S_IFLNK)#endif#ifndef S_IWGRP#define S_IWGRP 020#endif#ifndef S_IWOTH#define S_IWOTH 002#endif/*** Older systems don't have this error code -- it should be in** /usr/include/sysexits.h.*/# ifndef EX_CONFIG# define EX_CONFIG 78 /* configuration error */# endif/* pseudo-code used in server SMTP */# define EX_QUIT 22 /* drop out of server immediately *//*** These are used in a few cases where we need some special** error codes, but where the system doesn't provide something** reasonable. They are printed in errstring.*/#ifndef E_PSEUDOBASE# define E_PSEUDOBASE 256#endif#define EOPENTIMEOUT (E_PSEUDOBASE + 0) /* timeout on open */#define E_DNSBASE (E_PSEUDOBASE + 20) /* base for DNS h_errno *//* type of arbitrary pointer */#ifndef ARBPTR_T# define ARBPTR_T void *#endif#ifndef __P# include "cdefs.h"#endif/*** Do some required dependencies*/#if defined(NETINET) || defined(NETISO)# define SMTP 1 /* enable user and server SMTP */# define QUEUE 1 /* enable queueing */# define DAEMON 1 /* include the daemon (requires IPC & SMTP) */#endif/*** Arrange to use either varargs or stdargs*/# ifdef __STDC__# include <stdarg.h># define VA_LOCAL_DECL va_list ap;# define VA_START(f) va_start(ap, f)# define VA_END va_end(ap)# else# include <varargs.h># define VA_LOCAL_DECL va_list ap;# define VA_START(f) va_start(ap)# define VA_END va_end(ap)# endif#ifdef HASUNAME# include <sys/utsname.h># ifdef newstr# undef newstr# endif#else /* ! HASUNAME */# define NODE_LENGTH 32struct utsname{ char nodename[NODE_LENGTH+1];};#endif /* HASUNAME */#if !defined(MAXHOSTNAMELEN) && !defined(_SCO_unix_)# define MAXHOSTNAMELEN 256#endif#if !defined(SIGCHLD) && defined(SIGCLD)# define SIGCHLD SIGCLD#endif#ifndef STDIN_FILENO#define STDIN_FILENO 0#endif#ifndef STDOUT_FILENO#define STDOUT_FILENO 1#endif#ifndef STDERR_FILENO#define STDERR_FILENO 2#endif#ifndef LOCK_SH# define LOCK_SH 0x01 /* shared lock */# define LOCK_EX 0x02 /* exclusive lock */# define LOCK_NB 0x04 /* non-blocking lock */# define LOCK_UN 0x08 /* unlock */#endif#ifndef SIG_ERR# define SIG_ERR ((void (*)()) -1)#endif#ifndef WEXITSTATUS# define WEXITSTATUS(st) (((st) >> 8) & 0377)#endif#ifndef WIFEXITED# define WIFEXITED(st) (((st) & 0377) == 0)#endif#ifndef SIGFUNC_DEFINEDtypedef void (*sigfunc_t) __P((int));#endif/* size of syslog buffer */#ifndef SYSLOG_BUFSIZE# define SYSLOG_BUFSIZE 1024#endif/*** Size of tobuf (deliver.c)** Tweak this to match your syslog implementation. It will have to** allow for the extra information printed.*/#ifndef TOBUFSIZE# if (SYSLOG_BUFSIZE) > 512# define TOBUFSIZE (SYSLOG_BUFSIZE - 256)# else# define TOBUFSIZE 256# endif#endif/*** Size of prescan buffer.** Despite comments in the _sendmail_ book, this probably should** not be changed; there are some hard-to-define dependencies.*/# define PSBUFSIZE (MAXNAME + MAXATOM) /* size of prescan buffer *//* fork routine -- set above using #ifdef _osname_ or in Makefile */# ifndef FORK# define FORK vfork /* function to call to fork mailer */# endif/*** If we are going to link scanf anyway, use it in readcf*/#if !defined(HASUNAME) && !defined(SCANF)# define SCANF 1#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -