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