One Hat Cyber Team
Your IP :
18.224.215.88
Server IP :
103.133.214.160
Server :
Linux venus.ewebguru.net 4.18.0-553.30.1.el8_10.x86_64 #1 SMP Tue Nov 26 02:30:26 EST 2024 x86_64
Server Software :
Apache/2
PHP Version :
8.1.30
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
include
/
dovecot
/
View File Name :
fts-storage.h
#ifndef FTS_STORAGE_H #define FTS_STORAGE_H #include "mail-storage-private.h" #include "fts-api.h" enum fts_enforced { FTS_ENFORCED_NO, FTS_ENFORCED_YES, FTS_ENFORCED_BODY, }; struct fts_scores { int refcount; ARRAY_TYPE(fts_score_map) score_map; }; struct fts_search_level { ARRAY_TYPE(seq_range) definite_seqs, maybe_seqs; buffer_t *args_matches; ARRAY_TYPE(fts_score_map) score_map; }; HASH_TABLE_DEFINE_TYPE(virtual_last_indexed, const char *, void *); struct fts_search_context { union mail_search_module_context module_ctx; struct fts_backend *backend; struct mailbox *box; struct mailbox_transaction_context *t; struct mail_search_args *args; enum fts_lookup_flags flags; enum fts_enforced enforced; pool_t result_pool; ARRAY(struct fts_search_level) levels; buffer_t *orig_matches; uint32_t first_unindexed_seq; uint32_t next_unindexed_seq; HASH_TABLE_TYPE(virtual_last_indexed) last_indexed_virtual_uids; /* final scores, combined from all levels */ struct fts_scores *scores; struct fts_indexer_context *indexer_ctx; struct fts_search_state *search_state; bool virtual_mailbox:1; bool fts_lookup_success:1; bool indexing_timed_out:1; bool virtual_seen_unindexed_gaps:1; }; /* Figure out if we want to use full text search indexes and update backends in fctx accordingly. */ void fts_search_analyze(struct fts_search_context *fctx); /* Perform the actual index lookup and update definite_uids and maybe_uids. */ void fts_search_lookup(struct fts_search_context *fctx); /* Returns FTS backend for the given mailbox (assumes it has one). */ struct fts_backend *fts_mailbox_backend(struct mailbox *box); /* Returns FTS backend for the given mailbox list, or NULL if it has none. */ struct fts_backend *fts_list_backend(struct mailbox_list *list); void fts_mail_allocated(struct mail *mail); void fts_mail_namespaces_added(struct mail_namespace *ns); void fts_mailbox_allocated(struct mailbox *box); void fts_mailbox_list_created(struct mailbox_list *list); #endif