workaround a stupid issue in how decoding is performed in mutt *sigh*
[apps/madmutt.git] / imap / imap_private.h
index dd531f8..bebfc6a 100644 (file)
 #ifndef _IMAP_PRIVATE_H
 #define _IMAP_PRIVATE_H 1
 
-#include <inttypes.h>
+#include <lib-sys/mutt_socket.h>
+#include <lib-ui/lib-ui.h>
 
 #include "imap.h"
-#include "mutt_socket.h"
 
 /* -- symbols -- */
 #define IMAP_PORT 143
@@ -97,7 +97,7 @@ enum {
 
 /* -- data structures -- */
 typedef struct {
-  unsigned int uid;
+  int uid;
   char *path;
 } IMAP_CACHE;
 
@@ -114,10 +114,9 @@ typedef struct {
 
 /* IMAP command structure */
 typedef struct {
-  char seq[SEQLEN + 1];
-  char *buf;
-  unsigned int blen;
   int state;
+  char seq[SEQLEN + 1];
+  buffer_t buf;
 } IMAP_COMMAND;
 
 typedef struct {
@@ -125,6 +124,7 @@ typedef struct {
   CONNECTION *conn;
   unsigned char state;
   unsigned char status;
+  unsigned char isnew;
   /* let me explain capstr: SASL needs the capability string (not bits).
    * we have 3 options:
    *   1. rerun CAPABILITY inside SASL function.
@@ -138,6 +138,7 @@ typedef struct {
   unsigned int seqno;
   time_t lastread;              /* last time we read a command for the server */
   /* who knows, one day we may run multiple commands in parallel */
+
   IMAP_COMMAND cmd;
 
   /* The following data is all specific to the currently SELECTED mbox */
@@ -150,11 +151,11 @@ typedef struct {
   unsigned int newMailCount;
   IMAP_CACHE cache[IMAP_CACHE_LEN];
 #ifdef USE_HCACHE
-  unsigned long uid_validity;
+  long uid_validity;
 #endif
 
   /* all folder flags - system flags AND keywords */
-  LIST *flags;
+  string_list_t *flags;
 } IMAP_DATA;
 
 /* I wish that were called IMAP_CONTEXT :( */
@@ -173,7 +174,7 @@ int imap_open_connection (IMAP_DATA * idata);
 IMAP_DATA *imap_conn_find (const ACCOUNT * account, int flags);
 int imap_parse_list_response (IMAP_DATA * idata, char **name, int *noselect,
                               int *noinferiors, char *delim);
-int imap_read_literal (FILE * fp, IMAP_DATA * idata, long bytes);
+int imap_read_literal (FILE * fp, IMAP_DATA * idata, long bytes, progress_t*);
 void imap_expunge_mailbox (IMAP_DATA * idata);
 int imap_reconnect (CONTEXT * ctx);
 void imap_logout (IMAP_DATA * idata);
@@ -190,7 +191,7 @@ int imap_code (const char *s);
 int imap_exec (IMAP_DATA * idata, const char *cmd, int flags);
 
 /* message.c */
-void imap_add_keywords (char *s, HEADER * keywords, LIST * mailbox_flags,
+void imap_add_keywords (char *s, HEADER * keywords, string_list_t * mailbox_flags,
                         size_t slen);
 void imap_free_header_data (void **data);
 int imap_read_headers (IMAP_DATA * idata, int msgbegin, int msgend);
@@ -202,7 +203,7 @@ void imap_error (const char *where, const char *msg);
 IMAP_DATA *imap_new_idata (void);
 void imap_free_idata (IMAP_DATA ** idata);
 char *imap_fix_path (IMAP_DATA * idata, char *mailbox, char *path,
-                     size_t plen);
+                     ssize_t plen);
 int imap_get_literal_count (const char *buf, long *bytes);
 char *imap_get_qualifier (char *buf);
 char *imap_next_word (char *s);