| Server IP : 216.92.14.13 / Your IP : 216.73.216.171 Web Server : Apache System : Linux vps4089.pairvps.com 5.15.0-190-generic #200-Ubuntu SMP Fri Aug 7 15:06:04 UTC 2026 x86_64 User : rmlac2fmr ( 1040637) PHP Version : 8.2.32 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/local/include/dovecot/ |
Upload File : |
#ifndef MESSAGE_SEARCH_H
#define MESSAGE_SEARCH_H
struct message_block;
struct message_part;
struct message_search_context;
enum message_search_flags {
/* Skip the main header and all the MIME headers. */
MESSAGE_SEARCH_FLAG_SKIP_HEADERS = 0x01
};
/* The key must be given in UTF-8 charset */
struct message_search_context *
message_search_init(const char *normalized_key_utf8,
normalizer_func_t *normalizer,
enum message_search_flags flags);
void message_search_deinit(struct message_search_context **ctx);
/* Returns TRUE if key is found from input buffer, FALSE if not. */
bool message_search_more(struct message_search_context *ctx,
struct message_block *raw_block);
/* Same as message_search_more(), but return the decoded block. If the same
input is being fed to multiple searches, this avoids duplicating the work
by doing the following searches with message_search_more_decoded() */
bool message_search_more_get_decoded(struct message_search_context *ctx,
struct message_block *raw_block,
struct message_block *decoded_block_r);
/* The data has already passed through decoder. */
bool message_search_more_decoded(struct message_search_context *ctx,
struct message_block *block);
void message_search_reset(struct message_search_context *ctx);
/* Search a full message. Returns 1 if match was found, 0 if not,
-1 if error (if stream_error == 0, the parts contained broken data) */
int message_search_msg(struct message_search_context *ctx,
struct istream *input, struct message_part *parts,
const char **error_r)
ATTR_NULL(3);
#endif