1 /*$Id: formail.h,v 1.15 1999/02/14 04:43:31 srb Exp $*/ 2 3 #define Bsize 128 4 5 #define FORMAILN "formail" 6 #define HEAD_DELIMITER ':' 7 8 #define Re (re+1) 9 #define putssn(a,l) tputssn(a,(size_t)(l)) 10 #define putcs(a) (errout=putc(a,mystdout)) 11 #define lputssn(a,l) ltputssn(a,(size_t)(l)) 12 #define PRDO poutfd[0] 13 #define PWRO poutfd[1] 14 #define FLD_HEADSIZ ((size_t)offsetof(struct field,fld_text[0])) 15 16 struct saved {const char*const headr;const int lenr;int rexl;char*rexp;}; 17 18 extern const char binsh[],sfolder[],couldntw[],formailn[]; 19 extern char ffileno[]; 20 extern int errout,oldstdout,quiet,zap,buflast,lenfileno; 21 extern long initfileno; 22 extern pid_t child; 23 extern int childlimit; 24 extern unsigned long rhash; 25 extern FILE*mystdout; 26 extern int nrskip,nrtotal,retval; 27 extern size_t buflen,buffilled; 28 extern long Totallen; 29 extern char*buf,*logsummary; 30 31 extern struct field 32 { size_t id_len; 33 union {size_t uTot_len;struct field**ufld_ref;} len_fld; 34 struct field*fld_next; 35 char fld_text[255]; 36 }*rdheader,*xheader,*Xheader,*uheader,*Uheader; 37 38 #define Tot_len len_fld.uTot_len 39 #define fld_ref len_fld.ufld_ref 40 41 int 42 eqFrom_ P((const char*const a)), 43 breakfield Q((const char*const line,size_t len)); 44