| Server IP : 88.99.149.37 / Your IP : 216.73.216.141 Web Server : nginx/1.31.2 System : Linux server-88-99-149-37 6.12.0-124.56.5.el10_1.x86_64 #1 SMP PREEMPT_DYNAMIC Fri May 15 06:12:08 EDT 2026 x86_64 User : muralimurth ( 1015) PHP Version : 8.4.23 Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /proc/thread-self/root/proc/1/root/usr/include/dovecot/ |
Upload File : |
#ifndef MAIL_SEARCH_BUILD_H
#define MAIL_SEARCH_BUILD_H
#include "mail-search.h"
#include "mail-search-register.h"
struct mailbox;
struct mail_search_build_context {
pool_t pool;
struct mail_search_args *args;
struct mail_search_register *reg;
struct mail_search_parser *parser;
const char *charset;
struct mail_search_arg *parent;
/* error is either here or in parser */
const char *_error;
bool charset_checked;
bool unknown_charset;
};
/* Start building a new search query. Use mail_search_args_unref() to
free it. */
struct mail_search_args *mail_search_build_init(void);
/* Convert IMAP SEARCH command compatible parameters to mail_search_args.
If charset is unknown, it's changed to NULL. */
int mail_search_build(struct mail_search_register *reg,
struct mail_search_parser *parser, const char **charset,
struct mail_search_args **args_r,
const char **client_error_r);
/* Add new search arg with given type. */
struct mail_search_arg *
mail_search_build_add(struct mail_search_args *args,
enum mail_search_arg_type type);
/* Add SEARCH_ALL to search args. */
void mail_search_build_add_all(struct mail_search_args *args);
/* Add a sequence set to search args. */
void mail_search_build_add_seqset(struct mail_search_args *args,
uint32_t seq1, uint32_t seq2);
/* Convert input string into UTF-8 */
int mail_search_build_get_utf8(struct mail_search_build_context *ctx,
const char *input, const char **output_r);
struct mail_search_arg *
mail_search_build_new(struct mail_search_build_context *ctx,
enum mail_search_arg_type type);
struct mail_search_arg *
mail_search_build_str(struct mail_search_build_context *ctx,
enum mail_search_arg_type type);
/* Returns 0 if arg is returned, -1 if error. */
int mail_search_build_key(struct mail_search_build_context *ctx,
struct mail_search_arg *parent,
struct mail_search_arg **arg_r);
#endif