X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=mutt.h;h=21ef4a7ae6dde84e5fcd3eea132a1b41534a74fa;hp=7ddd8b12238304bd437555212878ff96327cebdd;hb=98f62b5fcbd680fd5214ee85e1635b84322cbdd1;hpb=9fde23d2b9a4ba8076eb425a1af4342de1e485b5 diff --git a/mutt.h b/mutt.h index 7ddd8b1..21ef4a7 100644 --- a/mutt.h +++ b/mutt.h @@ -13,8 +13,9 @@ #include #include +#include -#define MUTT_VERSION (VERSION) +#define MUTT_VERSION VERSION /* nifty trick I stole from ELM 2.5alpha. */ #ifdef MAIN_C @@ -30,34 +31,20 @@ 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_FOLDERHOOK (1<<0) #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_REPLYHOOK (1<<7) +#define M_SEND2HOOK (1<<8) + +#define M_OPENHOOK (1<<9) +#define M_APPENDHOOK (1<<10) +#define M_CLOSEHOOK (1<<11) /* tree characters for linearize_tree and print_enriched_string */ #define M_TREE_LLCORNER 1 @@ -141,9 +128,6 @@ enum { M_PGP_KEY, M_XLABEL, M_MIMEATTACH, -#ifdef USE_NNTP - M_NEWSGROUPS, -#endif M_REALNAME, M_MULTIPART, @@ -155,23 +139,12 @@ enum { /* options for socket code */ M_NEW_SOCKET, -#ifdef USE_SSL - M_NEW_SSL_SOCKET, -#endif /* Options for mutt_save_attachment */ M_SAVE_APPEND, M_SAVE_OVERWRITE }; -/* possible arguments to set_quadoption() */ -enum { - M_NO, - M_YES, - M_ASKNO, - M_ASKYES -}; - /* quad-option vars */ enum { OPT_ABORT, @@ -186,26 +159,14 @@ enum { OPT_MIMEFWD, OPT_MIMEFWDREST, OPT_MOVE, - OPT_PGPMIMEAUTO, /* ask to revert to PGP/MIME when inline fails */ OPT_POPDELETE, OPT_POPRECONNECT, OPT_POSTPONE, OPT_PRINT, - OPT_QUIT, OPT_REPLYTO, OPT_RECALL, -#if defined(USE_SSL) || defined(USE_GNUTLS) - OPT_SSLSTARTTLS, -#endif OPT_SUBJECT, - OPT_VERIFYSIG, /* verify PGP signatures */ OPT_LISTREPLY, -#ifdef USE_NNTP - OPT_TOMODERATED, - OPT_NNTPRECONNECT, - OPT_CATCHUP, - OPT_FOLLOWUPTOPOSTER, -#endif /* USE_NNTP */ /* THIS MUST BE THE LAST VALUE. */ OPT_MAX @@ -218,48 +179,29 @@ enum { #define SENDFORWARD (1<<3) #define SENDPOSTPONED (1<<4) #define SENDBATCH (1<<5) -#define SENDKEY (1<<6) -#define SENDRESEND (1<<7) -#define SENDNEWS (1<<8) - -/* flags to _mutt_select_file() */ -#define M_SEL_BUFFY (1<<0) -#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 +#define SENDRESEND (1<<6) +#define SENDNEWS (1<<7) /* boolean vars */ enum { OPTALLOW8BIT, - OPTALLOWANSI, - OPTARROWCURSOR, - OPTASCIICHARS, OPTASKBCC, OPTASKCC, OPTASKFOLLOWUP, - OPTASKXCOMMENTTO, OPTATTACHSPLIT, OPTAUTOEDIT, OPTAUTOTAG, - OPTBEEP, - OPTBEEPNEW, OPTBOUNCEDELIVERED, - OPTBRAILLEFRIENDLY, OPTCHECKNEW, OPTCOLLAPSEUNREAD, OPTCONFIRMAPPEND, OPTCONFIRMCREATE, - OPTCOUNTATTACH, OPTDELETEUNTAG, OPTDELSP, OPTDIGESTCOLLAPSE, OPTDUPTHREADS, OPTEDITHDRS, OPTENCODEFROM, - OPTENVFROM, OPTFASTREPLY, OPTFCCATTACH, OPTFCCCLEAR, @@ -268,15 +210,7 @@ enum { OPTFORCENAME, OPTFORWDECODE, OPTFORWQUOTE, -#ifdef USE_HCACHE - OPTHCACHEVERIFY, -#ifdef HAVE_QDBM - OPTHCACHECOMPRESS, -#endif /* HAVE_QDBM */ -#endif - OPTHDRS, OPTHEADER, - OPTHELP, OPTHIDDENHOST, OPTHIDELIMITED, OPTHIDEMISSING, @@ -287,82 +221,45 @@ enum { OPTIMAPCHECKSUBSCRIBED, OPTIMAPLSUB, OPTIMAPPASSIVE, - OPTIMAPPEEK, OPTIMAPSERVERNOISE, -#if defined(USE_SSL) || defined(USE_GNUTLS) -# ifndef USE_GNUTLS - OPTSSLSYSTEMCERTS, - OPTSSLV2, -# endif /* !USE_GNUTLS */ - OPTSSLV3, - OPTTLSV1, - OPTSSLFORCETLS, -#endif /* USE_SSL || USE_GNUTLS */ OPTIMPLICITAUTOVIEW, - OPTINCLUDEONLYFIRST, OPTKEEPFLAGGED, - OPTMAILCAPSANITIZE, OPTMAILDIRTRASH, OPTMARKERS, OPTMARKOLD, OPTMBOXPANE, - OPTMENUSCROLL, /* scroll menu instead of implicit next-page */ - OPTMENUMOVEOFF, - OPTMETAKEY, /* interpret ALT-x as ESC-x */ + OPTSHORTENHIERARCHY, /* set when to shorten "hierarchies" in the sidebar */ + OPTSIDEBARNEWMAILONLY, OPTMETOO, OPTMHPURGE, OPTMIMEFORWDECODE, -#ifdef USE_NNTP - OPTMIMESUBJECT, /* encode subject line with RFC2047 */ -#endif OPTNARROWTREE, OPTPAGERSTOP, OPTPIPEDECODE, OPTPIPESPLIT, - OPTPOPAUTHTRYALL, OPTPOPLAST, OPTPRINTDECODE, OPTPRINTSPLIT, OPTPROMPTAFTER, OPTQUOTEEMPTY, OPTQUOTEQUOTED, - OPTREADONLY, - OPTREPLYSELF, OPTRESOLVE, OPTREVALIAS, OPTREVNAME, OPTREVREAL, - OPTRFC2047PARAMS, - OPTSAVEADDRESS, - OPTSAVEEMPTY, - OPTSAVENAME, - OPTSCORE, OPTSIGDASHES, - OPTSIGONTOP, OPTSORTRE, - OPTSPAMSEP, - OPTSTATUSONTOP, OPTSTRICTMAILTO, - OPTSTRICTMIME, OPTSTRICTTHREADS, OPTSTRIPWAS, OPTSTUFFQUOTED, - OPTSUSPEND, OPTTEXTFLOWED, OPTTHOROUGHSRC, OPTTHREADRECEIVED, OPTTILDE, OPTUNCOLLAPSEJUMP, - OPTUSE8BITMIME, - OPTUSEDOMAIN, OPTUSEFROM, - OPTUSEGPGAGENT, -#ifdef HAVE_LIBIDN OPTUSEIDN, -#endif -#ifdef HAVE_GETADDRINFO - OPTUSEIPV6, -#endif OPTWAITKEY, OPTWEED, OPTWRAP, @@ -372,44 +269,15 @@ enum { OPTXMAILTO, /* 1 if $edit_header is forcebly set */ OPTXTERMSETTITLES, - OPTCRYPTUSEGPGME, - /* PGP options */ - - OPTCRYPTAUTOSIGN, - OPTCRYPTAUTOENCRYPT, - OPTCRYPTAUTOPGP, - OPTCRYPTAUTOSMIME, - OPTCRYPTREPLYENCRYPT, - OPTCRYPTREPLYSIGN, - OPTCRYPTREPLYSIGNENCRYPTED, - OPTCRYPTTIMESTAMP, - OPTSMIMEISDEFAULT, - OPTASKCERTLABEL, - OPTSDEFAULTDECRYPTKEY, - OPTPGPIGNORESUB, - OPTPGPCHECKEXIT, - OPTPGPLONGIDS, - OPTPGPAUTODEC, -#if 0 - OPTPGPENCRYPTSELF, -#endif OPTPGPRETAINABLESIG, - OPTPGPSTRICTENC, OPTFORWDECRYPT, OPTPGPSHOWUNUSABLE, - OPTPGPAUTOINLINE, - OPTPGPREPLYINLINE, /* news options */ - -#ifdef USE_NNTP OPTSHOWNEWNEWS, OPTSHOWONLYUNREAD, - OPTSAVEUNSUB, OPTLOADDESC, - OPTXCOMMENTTO, -#endif /* USE_NNTP */ /* pseudo options */ @@ -438,31 +306,21 @@ enum { OPTMENUCALLER, /* (pseudo) tell menu to give caller a take */ OPTREDRAWTREE, /* (pseudo) redraw the thread tree */ OPTPGPCHECKTRUST, /* (pseudo) used by pgp_select_key () */ - OPTDONTHANDLEPGPKEYS, /* (pseudo) used to extract PGP keys */ OPTUNBUFFEREDINPUT, /* (pseudo) don't use key buffer */ - -#ifdef USE_NNTP OPTNEWS, /* (pseudo) used to change reader mode */ OPTNEWSSEND, /* (pseudo) used to change behavior when posting */ - OPTNEWSCACHE, /* (pseudo) used to indicate if news cache exist */ -#endif - OPTSHORTENHIERARCHY, /* set when to shorten "hierarchies" in the sidebar */ - OPTSIDEBARNEWMAILONLY, OPTMAX }; -#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)) -#define mutt_bit_isset(v,n) (v[n/8] & (1 << (n % 8))) +#define mutt_bit_set(v,n) (v[n / 8] |= (1 << (n & 7))) +#define mutt_bit_unset(v,n) (v[n / 8] &= ~(1 << (n & 7))) +#define mutt_bit_toggle(v,n) (v[n / 8] ^= (1 << (n & 7))) +#define mutt_bit_isset(v,n) (v[n / 8] & (1 << (n & 7))) -#define set_option(x) mutt_bit_set(Options,x) -#define unset_option(x) mutt_bit_unset(Options,x) -#define toggle_option(x) mutt_bit_toggle(Options,x) -#define option(x) mutt_bit_isset(Options,x) - -int mutt_matches_ignore (const char *, string_list_t *); +#define set_option(x) mutt_bit_set(Options, x) +#define unset_option(x) mutt_bit_unset(Options, x) +#define toggle_option(x) mutt_bit_toggle(Options, x) +#define option(x) mutt_bit_isset(Options, x) void mutt_init (int, string_list_t *); @@ -483,28 +341,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; @@ -518,9 +356,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 */