#ifndef RFC822_PARSER_H
#define RFC822_PARSER_H
struct rfc822_parser_context {
};
#define IS_ATEXT(c) \
(rfc822_atext_chars[(int)(unsigned char)(c)] != 0)
#define IS_ATEXT_NON_TSPECIAL(c) \
((rfc822_atext_chars[(int)(unsigned char)(c)] & 3) != 0)
extern unsigned char rfc822_atext_chars[256];
/* Parse given data using RFC 822 token parser. */
/* The functions below return 1 = more data available, 0 = no more data
available (but a value might have been returned now), -1 = invalid input.
LWSP is automatically skipped after value, but not before it. So typically
you begin with skipping LWSP and then start using the parse functions. */
/* Parse comment. Assumes parser's data points to '(' */
/* Skip LWSP if there is any */
/* Stop at next non-atext char */
/* Like parse_atom() but don't stop at '.' */
/* Like parse_dot_atom() but stops for '/', '?' and '='.
Also it doesn't allow LWSP around '.' chars. */
/* "quoted string" */
/* atom or quoted-string */
/* dot-atom / domain-literal */
/* For Content-Type style parameter parsing. Expect ";" key "=" value.
value is unescaped if needed. The returned strings are allocated from data
#endif