Mercurial > dovecot > original-hg > dovecot-1.2
view src/lib-mail/istream-header-filter.h @ 9261:51aee73e49a5 HEAD
maildir: When UIDVALIDITY changes, don't reset uid_next to 1 in uidlist.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Sun, 26 Jul 2009 23:36:12 -0400 |
parents | 50120b047f0a |
children |
line wrap: on
line source
#ifndef ISTREAM_HEADER_FILTER_H #define ISTREAM_HEADER_FILTER_H enum header_filter_flags { /* Include only specified headers in output.*/ HEADER_FILTER_INCLUDE = 0x01, /* Exclude specified headers from output. */ HEADER_FILTER_EXCLUDE = 0x02, /* Use LF linefeeds instead of CRLF. */ HEADER_FILTER_NO_CR = 0x04, /* Return EOF at the beginning of message body. */ HEADER_FILTER_HIDE_BODY = 0x08, /* If the empty "end of headers" line doesn't exist, add it. */ HEADER_FILTER_ADD_MISSING_EOH = 0x10 }; struct message_header_line; typedef void header_filter_callback(struct message_header_line *hdr, bool *matched, void *context); extern header_filter_callback *null_header_filter_callback; /* NOTE: headers list must be sorted. */ struct istream * i_stream_create_header_filter(struct istream *input, enum header_filter_flags flags, const char *const *headers, unsigned int headers_count, header_filter_callback *callback, void *context); #ifdef CONTEXT_TYPE_SAFETY # define i_stream_create_header_filter(input, flags, headers, headers_count, \ callback, context) \ ({(void)(1 ? 0 : callback((struct message_header_line *)0, \ (bool *)0, context)); \ i_stream_create_header_filter(input, flags, headers, headers_count, \ (header_filter_callback *)callback, context); }) #else # define i_stream_create_header_filter(input, flags, headers, headers_count, \ callback, context) \ i_stream_create_header_filter(input, flags, headers, headers_count, \ (header_filter_callback *)callback, context) #endif #endif