plan9port

[fork] Plan 9 from user space
git clone git://src.adamsgaard.dk/plan9port # fast
git clone https://src.adamsgaard.dk/plan9port.git # slow
Log | Files | Refs | README | LICENSE Back to index

spam.h (1130B)


      1 
      2 enum{
      3 	Dump		= 0,		/* Actions must be in order of descending importance */
      4 	HoldHeader,
      5 	Hold,
      6 	SaveLine,
      7 	Lineoff,			/* Lineoff must be the last action code */
      8 	Nactions,
      9 
     10 	Nhash		= 128,
     11 
     12 	regexp		= 1,		/* types: literal string or regular expression */
     13 	string		= 2,
     14 
     15 	MaxHtml		= 256,
     16 	Hdrsize		= 4096,
     17 	Bodysize	= 8192,
     18 	Maxread		= 64*1024
     19 };
     20 
     21 typedef struct spat 	Spat;
     22 typedef struct pattern	Pattern;
     23 typedef	struct patterns	Patterns;
     24 struct	spat
     25 {
     26 	char*	string;
     27 	int	len;
     28 	int	c1;
     29 	Spat*	next;
     30 	Spat*	alt;
     31 };
     32 
     33 struct	pattern{
     34 	struct	pattern *next;
     35 	int	action;
     36 	int	type;
     37 	Spat*	alt;
     38 	union{
     39 		Reprog*	pat;
     40 		Spat*	spat[Nhash];
     41 	};
     42 };
     43 
     44 struct	patterns {
     45 	char	*action;
     46 	Pattern	*strings;
     47 	Pattern	*regexps;
     48 };
     49 
     50 extern	int	debug;
     51 extern	Patterns patterns[];
     52 extern	char	header[];
     53 extern	char	cmd[];
     54 
     55 extern	void	conv64(char*, char*, char*, int);
     56 extern	int	convert(char*, char*, char*, int, int);
     57 extern	void*	Malloc(long n);
     58 extern	int	matchpat(Pattern*, char*, Resub*);
     59 extern	char*	readmsg(Biobuf*, int*, int*);
     60 extern	void	parsepats(Biobuf*);
     61 extern	void*	Realloc(void*, ulong);
     62 extern	void	xprint(int, char*, Resub*);