/usr/include/dovecot/imap-match.h is in dovecot-dev 1:2.2.9-1ubuntu2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | #ifndef IMAP_MATCH_H
#define IMAP_MATCH_H
enum imap_match_result {
IMAP_MATCH_NO = 0x00, /* definite non-match */
IMAP_MATCH_YES = 0x01, /* match */
/* YES and NO are returned alone, but CHILDREN and PARENT may be
returned both (eg. "foo*bar" vs. "foobar/baz") */
/* non-match, but its children could match (eg. "box" vs "box/%") */
IMAP_MATCH_CHILDREN = 0x02,
/* non-match, but one of its parents does match. This should often be
handled with YES matches, because when listing for "%" and "box/foo"
exists but "box" doesn't, you should still list "box" as
(Nonexistent HasChildren) mailbox. */
IMAP_MATCH_PARENT = 0x04
};
struct imap_match_glob;
/* If inboxcase is TRUE, the "INBOX" string at the beginning of line is
compared case-insensitively */
struct imap_match_glob *
imap_match_init(pool_t pool, const char *pattern,
bool inboxcase, char separator);
struct imap_match_glob *
imap_match_init_multiple(pool_t pool, const char *const *patterns,
bool inboxcase, char separator);
void imap_match_deinit(struct imap_match_glob **glob);
struct imap_match_glob *
imap_match_dup(pool_t pool, const struct imap_match_glob *glob);
/* Returns TRUE if two globs were created with same init() parameters
(but inboxcase is ignored if no patterns can match INBOX) */
bool imap_match_globs_equal(const struct imap_match_glob *glob1,
const struct imap_match_glob *glob2);
enum imap_match_result
imap_match(struct imap_match_glob *glob, const char *data);
#endif
|