* The size constant "256" which shows up everywhere as a buffer size has now
[citadel.git] / citadel / serv_imap.h
1 /* $Id$ 
2  */
3
4 extern long SYM_IMAP;
5
6
7 void imap_cleanup_function(void);
8 void imap_greeting(void);
9 void imap_command_loop(void);
10
11
12 struct citimap {
13         int authstate;
14         char authseq[SIZ];
15         int selected;           /* set to 1 if in the SELECTED state */
16         int readonly;           /* mailbox is open read only */
17         int num_msgs;           /* Number of messages being mapped */
18         long *msgids;
19         unsigned int *flags;
20 };
21
22 /*
23  * values of 'authstate'
24  */
25 enum {
26         imap_as_normal,
27         imap_as_expecting_username,
28         imap_as_expecting_password
29 };
30
31 /* Flags for the above struct.  Note that some of these are for internal use,
32  * and are not to be reported to IMAP clients.
33  */
34 #define IMAP_ANSWERED   1
35 #define IMAP_FLAGGED    2
36 #define IMAP_DELETED    4
37 #define IMAP_DRAFT      8
38 #define IMAP_SEEN       16
39 #define IMAP_FETCHED    32      /* internal */
40
41
42 #define IMAP ((struct citimap *)CtdlGetUserData(SYM_IMAP))