]> code.citadel.org Git - citadel.git/blob - citadel/serv_imap.h
* Killed off CtdlGetDynamicSymbol() and just put all the symbols in server.h
[citadel.git] / citadel / serv_imap.h
1 /* $Id$ 
2  */
3
4
5 void imap_cleanup_function(void);
6 void imap_greeting(void);
7 void imap_command_loop(void);
8 int imap_grabroom(char *returned_roomname, char *foldername);
9 void imap_free_transmitted_message(void);
10
11
12
13 struct citimap {
14         int authstate;
15         char authseq[SIZ];
16         int selected;           /* set to 1 if in the SELECTED state */
17         int readonly;           /* mailbox is open read only */
18         int num_msgs;           /* Number of messages being mapped */
19         long *msgids;
20         unsigned int *flags;
21         char *transmitted_message;      /* for APPEND command... */
22         size_t transmitted_length;
23 };
24
25 /*
26  * values of 'authstate'
27  */
28 enum {
29         imap_as_normal,
30         imap_as_expecting_username,
31         imap_as_expecting_password
32 };
33
34 /* Flags for the above struct.  Note that some of these are for internal use,
35  * and are not to be reported to IMAP clients.
36  */
37 #define IMAP_ANSWERED           1
38 #define IMAP_FLAGGED            2
39 #define IMAP_DELETED            4
40 #define IMAP_DRAFT              8
41 #define IMAP_SEEN               16
42
43 #define IMAP_MASK_SETABLE       0x1f
44 #define IMAP_MASK_SYSTEM        0xe0
45
46 #define IMAP_SELECTED           32      /* internal */
47
48
49 #define IMAP ((struct citimap *)CtdlGetUserData(SYM_IMAP))
50
51 /*
52  * When loading arrays of message ID's into memory, increase the buffer to
53  * hold this many additional messages instead of calling realloc() each time.
54  */
55 #define REALLOC_INCREMENT 100