mailbox-list.h revision 458752f9e9012482843b92379bcfebecfe26f360
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen /* maildir_name must always be empty */
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen /* alt directories not supported */
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen /* no support for \noselect directories, only mailboxes */
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen /* mail root directory isn't required */
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen /* Automatically create mailbox directories when needed */
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen /* Mailboxes are files, not directories. */
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen /* Namespace already has a mailbox list, don't assign this
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen mailbox list to it. */
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen /* Internally used by lib-storage */
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen /* Ignore index file and ACLs (used by ACL plugin internally) */
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen /* When listing "foo/%" and "foo" is an existing mailbox
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen (maybe \noselect), have LIST also return "foo/" in the replies.
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen This is needed by IMAP, but messes up internal code. */
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen MAILBOX_LIST_ITER_SHOW_EXISTING_PARENT = 0x000002,
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen /* Don't list autocreated mailboxes (e.g. INBOX) unless they
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen physically exist */
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen /* For mailbox_list_iter_init_namespaces(): Skip namespaces that
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen have alias_for set. */
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen /* For mailbox_list_iter_init_namespaces(): '*' in a pattern doesn't
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen match beyond namespace boundary (e.g. "foo*" or "*o" doesn't match
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen "foo." namespace's mailboxes, but "*.*" does). also '%' can't match
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen namespace prefixes, if there exists a parent namespace whose children
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen it matches. */
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen /* List only subscribed mailboxes */
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen MAILBOX_LIST_ITER_SELECT_SUBSCRIBED = 0x000100,
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen /* Return MAILBOX_CHILD_* if mailbox's children match selection
b1f37113a5760bee842c5a7678bb5fa6f5bd8b60Timo Sirainen criteria, even if the mailbox itself wouldn't match. */
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen MAILBOX_LIST_ITER_SELECT_RECURSIVEMATCH = 0x000200,
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen /* Return only mailboxes that have special use flags */
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen MAILBOX_LIST_ITER_SELECT_SPECIALUSE = 0x000400,
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen /* Don't return any flags unless it can be done without cost */
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen /* Return MAILBOX_SUBSCRIBED flag */
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen MAILBOX_LIST_ITER_RETURN_SUBSCRIBED = 0x002000,
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen /* Return children flags */
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen /* Return IMAP special use flags */
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen MAILBOX_LIST_ITER_RETURN_SPECIALUSE = 0x008000
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen /* Return directory's path (eg. ~/dbox/INBOX) */
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen /* Return mailbox path (eg. ~/dbox/INBOX/dbox-Mails) */
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen /* Return control directory */
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen /* Return index file directory */
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen const char *layout; /* FIXME: shouldn't be here */
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen const char *alt_dir; /* FIXME: dbox-specific.. */
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen /* If non-empty, it means that mails exist in a maildir_name
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen subdirectory. eg. if you have a directory containing directories:
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen If mailbox_name is empty, you have mailboxes "mail", "mail/foo" and
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen If mailbox_name is "Maildir", you have a non-selectable mailbox
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen "mail" and a selectable mailbox "mail/foo". */
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen /* if set, store mailboxes under root_dir/mailbox_dir_name/.
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen this setting contains either "" or "dir/". */
1c633f71ec2060e5bfa500a97f34cd881a958ecdTimo Sirainen /* Encode "bad" characters in mailbox names as <escape_char><hex> */
bool utf8;
struct mailbox_info {
const char *name;
const char *special_use;
struct mailbox_permissions {
const char *file_create_gid_origin;
void mailbox_list_register_all(void);
const struct mailbox_list *
enum mailbox_list_flags
struct mail_namespace *
struct mail_user *
const char **error_r);
const char *pattern);
const char *name);
const char *name);
const char *vname);
struct mailbox_list_iterate_context *
struct mailbox_list_iterate_context *
const char *const *patterns,
struct mailbox_list_iterate_context *
const char *const *patterns,
const struct mailbox_info *
/* Subscribe/unsubscribe mailbox. There should be no error when