Rocco Rutte:
[apps/madmutt.git] / mutt.h
diff --git a/mutt.h b/mutt.h
index 9875925..8131c7d 100644 (file)
--- a/mutt.h
+++ b/mutt.h
@@ -8,8 +8,8 @@
  * please see the file GPL in the top level source directory.
  */
 
-#ifndef MUTT_H
-#define MUTT_H
+#ifndef _MUTT_H
+#define _MUTT_H
 
 #include "config.h"
 
@@ -44,6 +44,7 @@
 #include "rfc822.h"
 #include "hash.h"
 #include "charset.h"
+#include "lib/rx.h"
 
 #ifndef HAVE_WC_FUNCS
 # ifdef MB_LEN_MAX
 # define MB_LEN_MAX 16
 #endif
 
-#ifdef SUBVERSION
-# define MUTT_VERSION (VERSION SUBVERSION)
-#else
 # define MUTT_VERSION (VERSION)
-#endif
 
 /* nifty trick I stole from ELM 2.5alpha. */
 #ifdef MAIN_C
@@ -67,8 +64,6 @@
 #define INITVAL(x)
 #endif
 
-#include "mutt_regex.h"
-
 /* flags for mutt_copy_header() */
 #define CH_UPDATE      1       /* update the status and x-status fields? */
 #define CH_WEED                (1<<1)  /* weed the headers? */
@@ -347,6 +342,7 @@ enum {
   OPTBEEP,
   OPTBEEPNEW,
   OPTBOUNCEDELIVERED,
+  OPTBRAILLEFRIENDLY,
   OPTCHECKNEW,
   OPTCOLLAPSEUNREAD,
   OPTCONFIRMAPPEND,
@@ -367,6 +363,9 @@ enum {
   OPTFORWQUOTE,
 #if USE_HCACHE
   OPTHCACHEVERIFY,
+#if HAVE_QDBM
+  OPTHCACHECOMPRESS,
+#endif /* HAVE_QDBM */
 #endif
   OPTHDRS,
   OPTHEADER,
@@ -383,20 +382,16 @@ enum {
   OPTIMAPPASSIVE,
   OPTIMAPPEEK,
   OPTIMAPSERVERNOISE,
-# if defined(USE_SSL) || defined(USE_GNUTLS)
-  OPTIMAPFORCESSL,
-# endif
 #endif
-#if defined(USE_SSL) || defined(USE_NSS) || defined(USE_GNUTLS)
+#if defined(USE_SSL) || defined(USE_GNUTLS)
 # ifndef USE_GNUTLS
+  OPTSSLSYSTEMCERTS,
   OPTSSLV2,
-# endif
+# endif /* !USE_GNUTLS */
   OPTSSLV3,
   OPTTLSV1,
-# ifndef USE_GNUTLS
-  OPTSSLSYSTEMCERTS,
-# endif
-#endif
+  OPTSSLFORCETLS,
+#endif /* USE_SSL || USE_GNUTLS */
   OPTIMPLICITAUTOVIEW,
   OPTINCLUDEONLYFIRST,
   OPTKEEPFLAGGED,
@@ -443,6 +438,7 @@ enum {
   OPTSORTRE,
   OPTSPAMSEP,
   OPTSTATUSONTOP,
+  OPTSTRICTMAILTO,
   OPTSTRICTMIME,
   OPTSTRICTTHREADS,
   OPTSTRIPWAS,
@@ -562,52 +558,32 @@ enum {
 #define toggle_option(x) mutt_bit_toggle(Options,x)
 #define option(x) mutt_bit_isset(Options,x)
 
-/* Exit values used in send_msg() */
-#define S_ERR 127
-#define S_BKG 126
-
 typedef struct list_t {
   char *data;
   struct list_t *next;
 } LIST;
 
-typedef struct rx_list_t {
-  REGEXP *rx;
-  struct rx_list_t *next;
-} RX_LIST;
-
 typedef struct spam_list_t {
-  REGEXP *rx;
+  rx_t *rx;
   int nmatch;
   char *template;
   struct spam_list_t *next;
 } SPAM_LIST;
 
 
-#define mutt_new_list() safe_calloc (1, sizeof (LIST))
-#define mutt_new_spam_list() safe_calloc (1, sizeof (SPAM_LIST))
-#define mutt_new_rx_list() safe_calloc (1, sizeof (RX_LIST))
+#define mutt_new_list() mem_calloc (1, sizeof (LIST))
+#define mutt_new_spam_list() mem_calloc (1, sizeof (SPAM_LIST))
 void mutt_free_list (LIST **);
-void mutt_free_rx_list (RX_LIST **);
 void mutt_free_spam_list (SPAM_LIST **);
 LIST *mutt_copy_list (LIST *);
 int mutt_matches_ignore (const char *, LIST *);
 
 /* add an element to a list */
-LIST *mutt_add_list (LIST *, const char *);
+LIST *mutt_add_list (LIST*, const char*);
+LIST *mutt_add_list_n (LIST*, const void*, size_t len);
 
 void mutt_init (int, LIST *);
 
-typedef struct alias {
-  struct alias *self;           /* XXX - ugly hack */
-  char *name;
-  ADDRESS *addr;
-  struct alias *next;
-  short tagged;
-  short del;
-  short num;
-} ALIAS;
-
 typedef struct envelope {
   ADDRESS *return_path;
   ADDRESS *from;
@@ -635,6 +611,8 @@ typedef struct envelope {
   LIST *references;             /* message references (in reverse order) */
   LIST *in_reply_to;            /* in-reply-to header content */
   LIST *userhdrs;               /* user defined headers */
+  unsigned int irt_changed:1;   /* In-Reply-To changed to link/break threads */
+  unsigned int refs_changed:1;  /* References changed to break thread */
 } ENVELOPE;
 
 typedef struct parameter {
@@ -750,8 +728,6 @@ typedef struct header {
   unsigned int subject_changed:1;       /* used for threading */
   unsigned int threaded:1;      /* used for threading */
   unsigned int display_subject:1;       /* used for threading */
-  unsigned int irt_changed:1;   /* In-Reply-To changed to link/break threads */
-  unsigned int refs_changed:1;  /* References changed to break thread */
   unsigned int recip_valid:1;   /* is_recipient is valid */
   unsigned int active:1;        /* message is not to be removed */
   unsigned int trash:1;         /* message is marked as trashed on disk.
@@ -795,8 +771,6 @@ typedef struct header {
   char *tree;                   /* character string to print thread tree */
   struct thread *thread;
 
-  ENVELOPE *new_env;            /* envelope information for rethreading */
-
 #ifdef MIXMASTER
   LIST *chain;
 #endif
@@ -893,57 +867,16 @@ typedef struct {
   unsigned int quiet:1;         /* inhibit status messages? */
   unsigned int collapsed:1;     /* are all threads collapsed? */
   unsigned int closing:1;       /* mailbox is being closed */
+  unsigned int counting:1;      /* do we just want to cound? */
 } CONTEXT;
 
-typedef struct attachptr {
-  BODY *content;
-  int parent_type;
-  char *tree;
-  int level;
-  int num;
-} ATTACHPTR;
-
-typedef struct {
-  FILE *fpin;
-  FILE *fpout;
-  char *prefix;
-  int flags;
-} STATE;
-
-/* used by enter.c */
-
-typedef struct {
-  wchar_t *wbuf;
-  size_t wbuflen;
-  size_t lastchar;
-  size_t curpos;
-  size_t begin;
-  int tabs;
-} ENTER_STATE;
-
-/* flags for the STATE struct */
-#define M_DISPLAY      (1<<0)  /* output is displayed to the user */
-#define M_VERIFY       (1<<1)  /* perform signature verification */
-#define M_PENDINGPREFIX (1<<2)  /* prefix to write, but character must follow */
-#define M_WEED          (1<<3)  /* weed headers even when not in display mode */
-#define M_CHARCONV     (1<<4)  /* Do character set conversions */
-#define M_PRINTING     (1<<5)  /* are we printing? - M_DISPLAY "light" */
-#define M_REPLYING     (1<<6)  /* are we replying? */
-#define M_FIRSTDONE    (1<<7)  /* the first attachment has been done */
-
-#define state_set_prefix(s) ((s)->flags |= M_PENDINGPREFIX)
-#define state_reset_prefix(s) ((s)->flags &= ~M_PENDINGPREFIX)
-#define state_puts(x,y) fputs(x,(y)->fpout)
-#define state_putc(x,y) fputc(x,(y)->fpout)
-
-void state_mark_attach (STATE *);
-void state_attach_puts (const char *, STATE *);
-void state_prefix_putc (char, STATE *);
-int state_printf (STATE *, const char *, ...);
-
 #include "ascii.h"
+#include "alias.h"
+#include "buffer.h"
+#include "state.h"
+#include "enter.h"
 #include "protos.h"
 #include "lib.h"
 #include "globals.h"
 
-#endif /*MUTT_H */
+#endif /* !_MUTT_H */