File: //usr/include/dovecot/sieve/rfc2822.h
#ifndef RFC2822_H
#define RFC2822_H
#include "lib.h"
#include <stdio.h>
/*
* Verification
*/
bool rfc2822_header_field_name_verify
(const char *field_name, unsigned int len);
bool rfc2822_header_field_body_verify
(const char *field_body, unsigned int len, bool allow_crlf, bool allow_utf8);
/*
*
*/
const char *rfc2822_header_field_name_sanitize(const char *name);
/*
* Message composition
*/
unsigned int rfc2822_header_append
(string_t *header, const char *name, const char *body, bool crlf,
uoff_t *body_offset_r);
static inline void rfc2822_header_write
(string_t *header, const char *name, const char *body)
{
(void)rfc2822_header_append(header, name, body, TRUE, NULL);
}
void rfc2822_header_printf
(string_t *header, const char *name, const char *fmt, ...) ATTR_FORMAT(3, 4);
void rfc2822_header_utf8_printf
(string_t *header, const char *name, const char *fmt, ...) ATTR_FORMAT(3, 4);
void rfc2822_header_write_address(string_t *header,
const char *name, const char *address);
#endif