* 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"
#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
#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? */
OPTBEEP,
OPTBEEPNEW,
OPTBOUNCEDELIVERED,
+ OPTBRAILLEFRIENDLY,
OPTCHECKNEW,
OPTCOLLAPSEUNREAD,
OPTCONFIRMAPPEND,
OPTFORWQUOTE,
#if USE_HCACHE
OPTHCACHEVERIFY,
+#if HAVE_QDBM
+ OPTHCACHECOMPRESS,
+#endif /* HAVE_QDBM */
#endif
OPTHDRS,
OPTHEADER,
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,
OPTSORTRE,
OPTSPAMSEP,
OPTSTATUSONTOP,
+ OPTSTRICTMAILTO,
OPTSTRICTMIME,
OPTSTRICTTHREADS,
OPTSTRIPWAS,
#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;
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 {
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.
char *tree; /* character string to print thread tree */
struct thread *thread;
- ENVELOPE *new_env; /* envelope information for rethreading */
-
#ifdef MIXMASTER
LIST *chain;
#endif
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 {
char *tree;
int level;
int num;
+ unsigned int unowned:1; /* don't unlink on detach */
} ATTACHPTR;
typedef struct {
int state_printf (STATE *, const char *, ...);
#include "ascii.h"
+#include "alias.h"
+#include "addrbook.h"
+#include "buffer.h"
#include "protos.h"
#include "lib.h"
#include "globals.h"
-#endif /*MUTT_H */
+#endif /* !_MUTT_H */