#include "includes.h"
#ifdef console
#define DEFverbose 1
#else
#define DEFverbose 0
#endif
#ifdef GROUP_PER_USER
#define NO_CHECK_stgid 0
#else
#define NO_CHECK_stgid 1
#endif
#ifdef TOGGLE_SGID_OK
#define CAN_toggle_sgid 1
#else
#define CAN_toggle_sgid 0
#endif
#ifndef DEFsendmail
#define DEFsendmail SENDMAIL
#endif
#ifndef DEFflagsendmail
#define DEFflagsendmail "-oi"
#endif
#ifndef DEFSPATH
#define DEFSPATH defSPATH
#endif
#ifndef DEFPATH
#define DEFPATH defPATH
#endif
#ifndef ETCRC
#define ETCRC 0
#endif
#define mAX32 ((long)(~(unsigned long)0>>1))
#define maxMAX32 2147483647L
#define MAX32 (mAX32>maxMAX32&&maxMAX32>0?maxMAX32:mAX32)
#define MIN32 (-(long)MAX32)
#define XTRAlinebuf 2
#ifdef MAXPATHLEN
#if MAXPATHLEN>DEFlinebuf
#undef DEFlinebuf
#define DEFlinebuf MAXPATHLEN
#endif
#endif
#define priv_DONTNEED 1
#define priv_START 2
#define MCDIRSEP (dirsep+STRLEN(dirsep)-1)
#define MCDIRSEP_ (dirsep+STRLEN(DIRSEP)-1)
#define lck_DELAYSIG 1
#define lck_ALLOCLIB 2
#define lck_MEMORY 4
#define lck_FORK 8
#define lck_FILDES 16
#define lck_KERNEL 32
#define lck_LOGGING 64
#define lck__NOMSG (lck_DELAYSIG|lck_ALLOCLIB|lck_LOGGING)
extern struct varval{const char*const name;long val;}strenvvar[];
#define locksleep (strenvvar[0].val)
#define locktimeout (strenvvar[1].val)
#define suspendv (strenvvar[2].val)
#define noresretry (strenvvar[3].val)
#define timeoutv (strenvvar[4].val)
#define verbose (*(volatile long*)&strenvvar[5].val)
#define lgabstract (strenvvar[6].val)
extern struct varstr{const char*const sname,*sval;}strenstr[];
#define shellmetas (strenstr[0].sval)
#define lockext (strenstr[1].sval)
#define msgprefix (strenstr[2].sval)
#define traps (strenstr[3].sval)
#define shellflags (strenstr[4].sval)
#define fdefault (*(const char*volatile*)&strenstr[5].sval)
#define sendmail (strenstr[6].sval)
#define flagsendmail (strenstr[7].sval)
extern char*buf,*buf2,*loclock,*thebody;
extern const char shell[],lockfile[],newline[],binsh[],unexpeof[],*const*gargv,
*const*restargv,*sgetcp,pmrc[],*rcfile,dirsep[],devnull[],empty[],lgname[],
executing[],oquote[],cquote[],whilstwfor[],procmailn[],Mail[],home[],host[],
*defdeflock,*argv0,exceededlb[],curdir[],slogstr[],conflicting[],orgmail[],
insufprivs[],defpath[],errwwriting[],Version[];
extern long filled,lastscore;
extern int sh,pwait,retval,retvl2,rc,privileged,ignwerr,
lexitcode,accspooldir,crestarg,savstdout,berkeley,mailfilter,erestrict,
Deliverymode,ifdepth;
extern struct dyna_array ifstack;
extern size_t linebuf;
extern volatile int nextexit,lcking;
extern pid_t thepid;
extern uid_t uid;
extern gid_t gid,sgid;