summaryrefslogtreecommitdiff
path: root/protocols/YAMN/src/mails/decode.h
blob: cc643594b2b14c3e435ee7e4a9752ac22d8bf9ff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#ifndef __DECODE_H
#define __DECODE_H

#define DOTLINE(s)	((((s)[-2]=='\r') || ((s)[-2]=='\n')) && ((s)[-1]=='.') && (((s)[0]=='\r') || ((s)[0]=='\n') || ((s)[0]=='\0')))	// be careful, it's different to ESR's pop3.c ;-)
#define ENDLINE(s)	(((s)[0]=='\r') || ((s)[0]=='\n'))	//endline
#define WS(s)		(((s)[0]==' ') || ((s)[0]=='\t'))	//whitespace
#define ENDLINEWS(s)	((((s)[0]=='\r') || ((s)[0]=='\n')) && (((((s)[1]=='\r') || ((s)[1]=='\n')) && (((s)[2]==' ') || ((s)[2]=='\t'))) || (((s)[1]==' ') || ((s)[1]=='\t'))))	//endline+whitespace: enters(CR or LF and their combinations) followed by space or tab
#define EOS(s)		((s)[0]==0)				//end of string (stream)

#define CODES(s)	((s[0]=='=') && (s[1]=='?'))			//start of coded string
#define CODEE(s)	((s[0]=='?') && (s[1]=='='))			//end of coded string
#define CODED(s)	(s[0]=='?')					//code delimiter

#define MIME_PLAIN	1
#define	MIME_MAIL	2

struct cptable
{
	char *name;
	unsigned int ID;
};

#endif