From: Peter J. Holzer
[apps/madmutt.git] / mutt.h
diff --git a/mutt.h b/mutt.h
index d2dcd8b..68272c3 100644 (file)
--- a/mutt.h
+++ b/mutt.h
@@ -42,6 +42,7 @@
 #include <grp.h>
 
 #include "rfc822.h"
+#include "list.h"
 #include "hash.h"
 #include "charset.h"
 #include "lib/rx.h"
 #define INITVAL(x)
 #endif
 
-/* flags for mutt_copy_header() */
-#define CH_UPDATE      1       /* update the status and x-status fields? */
-#define CH_WEED                (1<<1)  /* weed the headers? */
-#define CH_DECODE      (1<<2)  /* do RFC1522 decoding? */
-#define CH_XMIT                (1<<3)  /* transmitting this message? */
-#define CH_FROM                (1<<4)  /* retain the "From " message separator? */
-#define CH_PREFIX      (1<<5)  /* use Prefix string? */
-#define CH_NOSTATUS    (1<<6)  /* supress the status and x-status fields */
-#define CH_REORDER     (1<<7)  /* Re-order output of headers */
-#define CH_NONEWLINE   (1<<8)  /* don't output terminating newline */
-#define CH_MIME                (1<<9)  /* ignore MIME fields */
-#define CH_UPDATE_LEN  (1<<10) /* update Lines: and Content-Length: */
-#define CH_TXTPLAIN    (1<<11) /* generate text/plain MIME headers */
-#define CH_NOLEN       (1<<12) /* don't write Content-Length: and Lines: */
-#define CH_WEED_DELIVERED (1<<13)       /* weed eventual Delivered-To headers */
-#define CH_FORCE_FROM  (1<<14) /* give CH_FROM precedence over CH_WEED? */
-#define CH_NOQFROM     (1<<15) /* give CH_FROM precedence over CH_WEED? */
-#define CH_UPDATE_IRT  (1<<16) /* update In-Reply-To: */
-#define CH_UPDATE_REFS (1<<17) /* update References: */
-
-/* flags for mutt_enter_string() */
-#define  M_ALIAS   1            /* do alias "completion" by calling up the alias-menu */
-#define  M_FILE    (1<<1)       /* do file completion */
-#define  M_EFILE   (1<<2)       /* do file completion, plus incoming folders */
-#define  M_CMD     (1<<3)       /* do completion on previous word */
-#define  M_PASS    (1<<4)       /* password mode (no echo) */
-#define  M_CLEAR   (1<<5)       /* clear input if printable character is pressed */
-#define  M_COMMAND (1<<6)       /* do command completion */
-#define  M_PATTERN (1<<7)       /* pattern mode - only used for history classes */
-#define  M_LASTFOLDER (1<<8)    /* last-folder mode - hack hack hack */
-
-/* flags for mutt_get_token() */
+/* flags for mutt_extract_token() */
 #define M_TOKEN_EQUAL          1       /* treat '=' as a special */
 #define M_TOKEN_CONDENSE       (1<<1)  /* ^(char) to control chars (macros) */
 #define M_TOKEN_SPACE          (1<<2)  /* don't treat whitespace as a term */
 #define M_TOKEN_COMMENT                (1<<5)  /* don't reap comments */
 #define M_TOKEN_SEMICOLON      (1<<6)  /* don't treat ; as special */
 
-/* flags for km_dokey() */
-#define M_KM_UNBUFFERED 1       /* don't read from the key buffer */
-
 typedef struct {
   char *data;                   /* pointer to data */
   char *dptr;                   /* current read/write position */
@@ -266,6 +233,7 @@ enum {
 /* quad-option vars */
 enum {
   OPT_ABORT,
+  OPT_ATTACH,
   OPT_BOUNCE,
   OPT_COPY,
   OPT_DELETE,
@@ -348,6 +316,7 @@ enum {
   OPTCONFIRMAPPEND,
   OPTCONFIRMCREATE,
   OPTDELETEUNTAG,
+  OPTDELSP,
   OPTDIGESTCOLLAPSE,
   OPTDUPTHREADS,
   OPTEDITHDRS,
@@ -378,6 +347,7 @@ enum {
   OPTHIDETOPMISSING,
   OPTIGNORELISTREPLYTO,
 #ifdef USE_IMAP
+  OPTIMAPCHECKSUBSCRIBED,
   OPTIMAPLSUB,
   OPTIMAPPASSIVE,
   OPTIMAPPEEK,
@@ -558,11 +528,6 @@ enum {
 #define toggle_option(x) mutt_bit_toggle(Options,x)
 #define option(x) mutt_bit_isset(Options,x)
 
-typedef struct list_t {
-  char *data;
-  struct list_t *next;
-} LIST;
-
 typedef struct spam_list_t {
   rx_t *rx;
   int nmatch;
@@ -571,29 +536,13 @@ typedef struct spam_list_t {
 } SPAM_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_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_n (LIST*, const void*, size_t len);
+int mutt_matches_ignore (const char *, LIST *);
 
 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;
@@ -880,54 +829,6 @@ typedef struct {
   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;
-  unsigned int unowned:1;       /* don't unlink on detach */
-} 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 "protos.h"
 #include "lib.h"
 #include "globals.h"