]> code.citadel.org Git - citadel.git/blobdiff - citadel/serv_imap.h
Experimental changes to the default theme. Gradient
[citadel.git] / citadel / serv_imap.h
index 0eb2d28aeef3f349ad8aa58200d0aed634e0e695..c7d932a97e1dc34301bcd161d67c2fd8b89745d3 100644 (file)
@@ -8,6 +8,7 @@ void imap_command_loop(void);
 int imap_grabroom(char *returned_roomname, char *foldername, int zapped_ok);
 void imap_free_transmitted_message(void);
 int imap_do_expunge(void);
+void imap_rescan_msgids(void);
 
 
 struct citimap {
@@ -16,6 +17,8 @@ struct citimap {
        int selected;                   /* set to 1 if in the SELECTED state */
        int readonly;                   /* mailbox is open read only */
        int num_msgs;                   /* Number of messages being mapped */
+       int num_alloc;                  /* Number of messages for which we've allocated space */
+       time_t last_mtime;              /* For checking whether the room was modified... */
        long *msgids;
        unsigned int *flags;
        char *transmitted_message;      /* for APPEND command... */
@@ -25,12 +28,14 @@ struct citimap {
        char *cached_rfc822_data;
        long cached_rfc822_msgnum;
        size_t cached_rfc822_len;
+       char cached_rfc822_withbody;    /* 1 = body cached; 0 = only headers cached */
 
        /* Cache most recent BODY FETCH because client might load in pieces */
        char *cached_body;
        size_t cached_body_len;
        char cached_bodypart[SIZ];
        long cached_bodymsgnum;
+       char cached_body_withbody;      /* 1 = body cached; 0 = only headers cached */
 };
 
 /*
@@ -39,7 +44,8 @@ struct citimap {
 enum {
        imap_as_normal,
        imap_as_expecting_username,
-       imap_as_expecting_password
+       imap_as_expecting_password,
+       imap_as_expecting_plainauth
 };
 
 /* Flags for the above struct.  Note that some of these are for internal use,