/*
+ * Copyright notice from original mutt:
* Copyright (C) 1996-9 Brandon Long <blong@fiction.net>
* Copyright (C) 1999-2001 Brendan Cully <brendan@kublai.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
+ *
+ * This file is part of mutt-ng, see http://www.muttng.org/.
+ * It's licensed under the GNU General Public License,
+ * please see the file GPL in the top level source directory.
*/
#ifndef _IMAP_PRIVATE_H
#include <inttypes.h>
+#include <lib-ui/curses.h>
+
#include "imap.h"
-#include "mutt_socket.h"
+#include <lib-sys/mutt_socket.h>
/* -- symbols -- */
#define IMAP_PORT 143
IMAP_NS_SHARED
};
-/* ACL Rights */
-enum {
- IMAP_ACL_LOOKUP = 0,
- IMAP_ACL_READ,
- IMAP_ACL_SEEN,
- IMAP_ACL_WRITE,
- IMAP_ACL_INSERT,
- IMAP_ACL_POST,
- IMAP_ACL_CREATE,
- IMAP_ACL_DELETE,
- IMAP_ACL_ADMIN,
-
- RIGHTSMAX
-};
+/* ACL Rights are moved to ../mx.h */
/* Capabilities we are interested in */
enum {
/* -- data structures -- */
typedef struct {
- unsigned int uid;
+ int uid;
char *path;
} IMAP_CACHE;
unsigned char rights[(RIGHTSMAX + 7) / 8];
unsigned int newMailCount;
IMAP_CACHE cache[IMAP_CACHE_LEN];
- int noclose:1;
#ifdef USE_HCACHE
- uint64_t uid_validity;
+ unsigned 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 :( */
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);
+int imap_sync_message (IMAP_DATA*, HEADER*, BUFFER*, int*);
/* auth.c */
int imap_authenticate (IMAP_DATA * idata);
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);
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);