imap-commands.h revision 5735ada0f82788ee1b5228978d5bd8dad5a04219
#ifndef IMAP_COMMANDS_H
#define IMAP_COMMANDS_H
struct client_command_context;
#include "mail-storage.h"
#include "mail-namespace.h"
#include "imap-parser.h"
#include "imap-sync.h"
#include "imap-commands-util.h"
enum command_flags {
/* Command uses sequences as its input parameters */
COMMAND_FLAG_USES_SEQS = 0x01,
/* Command may reply with EXPUNGE, causing sequences to break */
COMMAND_FLAG_BREAKS_SEQS = 0x02,
/* Command changes the mailbox */
/* Command uses selected mailbox */
/* Command requires mailbox syncing before it can do its job. */
COMMAND_FLAG_REQUIRES_SYNC = 0x08
};
struct command {
const char *name;
enum command_flags flags;
};
/* Register command. Given name parameter must be permanently stored until
command is unregistered. */
enum command_flags flags);
void command_unregister(const char *name);
/* Register array of commands. */
void commands_init(void);
void commands_deinit(void);
/* IMAP4rev1 commands: */
/* Non-Authenticated State */
/* Authenticated State */
/* Selected state */
/* IMAP extensions: */
/* private: */
#endif