Users don't know what they are doing most of the timeā€¦
[apps/madmutt.git] / mutt.h
diff --git a/mutt.h b/mutt.h
index a75b99a..ba273ef 100644 (file)
--- a/mutt.h
+++ b/mutt.h
 #ifndef _MUTT_H
 #define _MUTT_H
 
-#include "config.h"
-
-#include <stdio.h>
-#include <stdlib.h>
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>            /* needed for SEEK_SET */
-#endif
-#ifdef HAVE_UNIX_H
-# include <unix.h>              /* needed for snprintf on QNX. */
-#endif
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <time.h>
-#include <limits.h>
-#include <stdarg.h>
-#include <signal.h>
-#ifdef HAVE_WCHAR_H
-# include <wchar.h>
-#endif
-#if defined(HAVE_WCTYPE_H) && defined(HAVE_WC_FUNCS)
-# include <wctype.h>
-#endif
-
-#ifndef _POSIX_PATH_MAX
-#include <posix1_lim.h>
-#endif
-
-#include <pwd.h>
-#include <grp.h>
-
-#include <lib-lib/buffer.h>
-#include <lib-lib/hash.h>
-#include <lib-lib/list.h>
-#include <lib-lib/rx.h>
-
+#include <lib-lib/lib-lib.h>
 #include <lib-mime/mime.h>
+#include <lib-lua/lib-lua.h>
 
-#include "charset.h"
-
-#ifndef HAVE_WC_FUNCS
-# ifdef MB_LEN_MAX
-#  undef MB_LEN_MAX
-# endif
-# define MB_LEN_MAX 16
-#endif
-
-# define MUTT_VERSION (VERSION)
+#define MUTT_VERSION (VERSION)
 
 /* nifty trick I stole from ELM 2.5alpha. */
 #ifdef MAIN_C
@@ -73,34 +31,21 @@ typedef struct {
   int op;                       /* function op */
 } event_t;
 
-/* flags for mutt_FormatString() */
-typedef enum {
-  M_FORMAT_FORCESUBJ = (1 << 0),        /* print the subject even if unchanged */
-  M_FORMAT_TREE = (1 << 1),     /* draw the thread tree */
-  M_FORMAT_MAKEPRINT = (1 << 2),        /* make sure that all chars are printable */
-  M_FORMAT_OPTIONAL = (1 << 3),
-  M_FORMAT_STAT_FILE = (1 << 4),        /* used by mutt_attach_fmt */
-  M_FORMAT_ARROWCURSOR = (1 << 5),      /* reserve space for arrow_cursor */
-  M_FORMAT_INDEX = (1 << 6)     /* this is a main index entry */
-} format_flag;
-
 /* types for mutt_add_hook() */
 #define M_FOLDERHOOK   1
 #define M_MBOXHOOK     (1<<1)
 #define M_SENDHOOK     (1<<2)
 #define M_FCCHOOK      (1<<3)
 #define M_SAVEHOOK     (1<<4)
-#define M_CHARSETHOOK  (1<<5)
-#define M_ICONVHOOK    (1<<6)
-#define M_MESSAGEHOOK  (1<<7)
-#define M_CRYPTHOOK    (1<<8)
-#define M_ACCOUNTHOOK  (1<<9)
-#define M_REPLYHOOK    (1<<10)
-#define M_SEND2HOOK     (1<<11)
-
-#define M_OPENHOOK     (1<<12)
-#define M_APPENDHOOK   (1<<13)
-#define M_CLOSEHOOK    (1<<14)
+#define M_MESSAGEHOOK  (1<<5)
+#define M_CRYPTHOOK    (1<<6)
+#define M_ACCOUNTHOOK  (1<<7)
+#define M_REPLYHOOK    (1<<8)
+#define M_SEND2HOOK     (1<<9)
+
+#define M_OPENHOOK     (1<<10)
+#define M_APPENDHOOK   (1<<11)
+#define M_CLOSEHOOK    (1<<12)
 
 /* tree characters for linearize_tree and print_enriched_string */
 #define M_TREE_LLCORNER                1
@@ -207,14 +152,6 @@ enum {
   M_SAVE_OVERWRITE
 };
 
-/* possible arguments to set_quadoption() */
-enum {
-  M_NO,
-  M_YES,
-  M_ASKNO,
-  M_ASKYES
-};
-
 /* quad-option vars */
 enum {
   OPT_ABORT,
@@ -234,7 +171,6 @@ enum {
   OPT_POPRECONNECT,
   OPT_POSTPONE,
   OPT_PRINT,
-  OPT_QUIT,
   OPT_REPLYTO,
   OPT_RECALL,
 #if defined(USE_SSL) || defined(USE_GNUTLS)
@@ -270,10 +206,6 @@ enum {
 #define M_SEL_MULTI    (1<<1)
 #define M_SEL_FOLDER   (1<<2)
 
-/* flags for parse_spam_list */
-#define M_SPAM          1
-#define M_NOSPAM        2
-
 /* boolean vars */
 enum {
   OPTALLOW8BIT,
@@ -287,22 +219,18 @@ enum {
   OPTATTACHSPLIT,
   OPTAUTOEDIT,
   OPTAUTOTAG,
-  OPTBEEP,
-  OPTBEEPNEW,
   OPTBOUNCEDELIVERED,
   OPTBRAILLEFRIENDLY,
   OPTCHECKNEW,
   OPTCOLLAPSEUNREAD,
   OPTCONFIRMAPPEND,
   OPTCONFIRMCREATE,
-  OPTCOUNTATTACH,
   OPTDELETEUNTAG,
   OPTDELSP,
   OPTDIGESTCOLLAPSE,
   OPTDUPTHREADS,
   OPTEDITHDRS,
   OPTENCODEFROM,
-  OPTENVFROM,
   OPTFASTREPLY,
   OPTFCCATTACH,
   OPTFCCCLEAR,
@@ -344,7 +272,6 @@ enum {
   OPTIMPLICITAUTOVIEW,
   OPTINCLUDEONLYFIRST,
   OPTKEEPFLAGGED,
-  OPTMAILCAPSANITIZE,
   OPTMAILDIRTRASH,
   OPTMARKERS,
   OPTMARKOLD,
@@ -355,9 +282,6 @@ enum {
   OPTMETOO,
   OPTMHPURGE,
   OPTMIMEFORWDECODE,
-#ifdef USE_NNTP
-  OPTMIMESUBJECT,               /* encode subject line with RFC2047 */
-#endif
   OPTNARROWTREE,
   OPTPAGERSTOP,
   OPTPIPEDECODE,
@@ -375,18 +299,15 @@ enum {
   OPTREVALIAS,
   OPTREVNAME,
   OPTREVREAL,
-  OPTRFC2047PARAMS,
   OPTSAVEADDRESS,
   OPTSAVEEMPTY,
   OPTSAVENAME,
   OPTSCORE,
   OPTSIGDASHES,
-  OPTSIGONTOP,
   OPTSORTRE,
   OPTSPAMSEP,
   OPTSTATUSONTOP,
   OPTSTRICTMAILTO,
-  OPTSTRICTMIME,
   OPTSTRICTTHREADS,
   OPTSTRIPWAS,
   OPTSTUFFQUOTED,
@@ -396,8 +317,6 @@ enum {
   OPTTHREADRECEIVED,
   OPTTILDE,
   OPTUNCOLLAPSEJUMP,
-  OPTUSE8BITMIME,
-  OPTUSEDOMAIN,
   OPTUSEFROM,
   OPTUSEGPGAGENT,
 #ifdef HAVE_LIBIDN
@@ -434,11 +353,7 @@ enum {
   OPTPGPCHECKEXIT,
   OPTPGPLONGIDS,
   OPTPGPAUTODEC,
-#if 0
-  OPTPGPENCRYPTSELF,
-#endif
   OPTPGPRETAINABLESIG,
-  OPTPGPSTRICTENC,
   OPTFORWDECRYPT,
   OPTPGPSHOWUNUSABLE,
   OPTPGPAUTOINLINE,
@@ -458,7 +373,6 @@ enum {
 
   OPTAUXSORT,                   /* (pseudo) using auxillary sort function */
   OPTFORCEREFRESH,              /* (pseudo) refresh even during macros */
-  OPTLOCALES,                   /* (pseudo) set if user has valid locale definition */
   OPTNOCURSES,                  /* (pseudo) when sending in batch mode */
   OPTNEEDREDRAW,                /* (pseudo) to notify caller of a submenu */
   OPTSEARCHREVERSE,             /* (pseudo) used by ci_search_command */
@@ -495,7 +409,7 @@ enum {
   OPTMAX
 };
 
-#define mutt_bit_alloc(n) calloc ((n + 7) / 8, sizeof (char))
+#define mutt_bit_alloc(n) p_new(char, (n + 7) / 8)
 #define mutt_bit_set(v,n) v[n/8] |= (1 << (n % 8))
 #define mutt_bit_unset(v,n) v[n/8] &= ~(1 << (n % 8))
 #define mutt_bit_toggle(v,n) v[n/8] ^= (1 << (n % 8))
@@ -506,19 +420,6 @@ enum {
 #define toggle_option(x) mutt_bit_toggle(Options,x)
 #define option(x) mutt_bit_isset(Options,x)
 
-typedef struct spam_list_t {
-  rx_t *rx;
-  int nmatch;
-  char *template;
-  struct spam_list_t *next;
-} SPAM_LIST;
-
-
-#define mutt_new_spam_list() p_new(SPAM_LIST, 1)
-void mutt_free_spam_list (SPAM_LIST **);
-
-int mutt_matches_ignore (const char *, string_list_t *);
-
 void mutt_init (int, string_list_t *);
 
 typedef struct thread {
@@ -538,26 +439,8 @@ typedef struct thread {
   HEADER *sort_key;
 } THREAD;
 
-
-/* flag to mutt_pattern_comp() */
-#define M_FULL_MSG      (1<<0)       /* enable body and header matching */
-
-typedef enum {
-  M_MATCH_FULL_ADDRESS = 1
-} pattern_exec_flag;
-
-typedef struct pattern_t {
-  short op;
-  unsigned int not : 1;
-  unsigned int alladdr : 1;
-  unsigned int stringmatch : 1;
-  int min;
-  int max;
-  struct pattern_t *next;
-  struct pattern_t *child;      /* arguments to logical op */
-  char* str;
-  regex_t *rx;
-} pattern_t;
+typedef struct compress_info compress_info;
+typedef struct pattern_t pattern_t;
 
 typedef struct {
   char *path;
@@ -571,9 +454,9 @@ typedef struct {
   HEADER **hdrs;
   HEADER *last_tag;             /* last tagged msg. used to link threads */
   THREAD *tree;                 /* top of thread tree */
-  HASH *id_hash;                /* hash table by msg id */
-  HASH *subj_hash;              /* hash table by subject */
-  HASH *thread_hash;            /* hash table for threading */
+  hash_t *id_hash;                /* hash table by msg id */
+  hash_t *subj_hash;              /* hash table by subject */
+  hash_t *thread_hash;            /* hash table for threading */
   int *v2r;                     /* mapping from virtual to real msgno */
   int hdrmax;                   /* number of pointers in hdrs */
   int msgcount;                 /* number of messages in the mailbox */
@@ -589,7 +472,7 @@ typedef struct {
 
   short magic;                  /* mailbox type */
 
-  void *compressinfo;           /* compressed mbox module private data */
+  compress_info *cinfo;         /* compressed mbox module private data */
   char *realpath;               /* path to compressed mailbox */
 
   unsigned int locked:1;        /* is the mailbox locked? */
@@ -616,7 +499,6 @@ typedef struct {
 #define M_PARTS_RECOUNT (1<<1) /* force recount */
 
 #include "protos.h"
-#include "lib.h"
 #include "globals.h"
 
 #endif /* !_MUTT_H */