1 struct message {
2 	char *msg;
3 	char *end;
4 	char *body;
5 	char *bodyend;
6 	char *bodychunk;
7 	char *orig_header;
8 };
9 
10 //          WSP            =  SP / HTAB
11 #define iswsp(c)  (((c) == ' ' || (c) == '\t'))
12 
13 #define isfws(c)  (((unsigned char)(c) == ' ' || (unsigned char)(c) == '\t' || (unsigned char)(c) == '\n' || (unsigned char)(c) == '\r'))
14 
15 // ASCII lowercase/uppercase without alpha check (wrong for "@[\]^_")
16 #define lc(c) ((c) | 0x20)
17 #define uc(c) ((c) & 0xdf)
18 
19 // dirent type that can be a mail/dir (following symlinks)
20 #if defined(DT_REG) && defined(DT_LNK) && defined(DT_UNKNOWN)
21 #define MAIL_DT(t) (t == DT_REG || t == DT_LNK || t == DT_UNKNOWN)
22 #define DIR_DT(t) (t == DT_DIR || t == DT_UNKNOWN)
23 #else
24 #define MAIL_DT(t) (1)
25 #define DIR_DT(t) (1)
26 #endif
27 
28 void *mymemmem(const void *h0, size_t k, const void *n0, size_t l);
29