X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=mutt.h;h=2ef4a1b869505bd30fe7d9c1a5eb8c56a859c4a3;hp=545247268f51e2aef16bde402e68c56ae26189ed;hb=ab12fea9d01b3b9bc53081ae4ccc046243f1cb9f;hpb=b17296ba049d71986028ac83f0b415a021d0691c diff --git a/mutt.h b/mutt.h index 5452472..2ef4a1b 100644 --- a/mutt.h +++ b/mutt.h @@ -41,9 +41,12 @@ #include #include -#include "rfc822.h" -#include "list.h" -#include "hash.h" +#include +#include +#include + +#include + #include "charset.h" #include "lib/rx.h" @@ -65,22 +68,6 @@ #define INITVAL(x) #endif -/* 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_QUOTE (1<<3) /* don't interpret quotes */ -#define M_TOKEN_PATTERN (1<<4) /* !)|~ are terms (for patterns) */ -#define M_TOKEN_COMMENT (1<<5) /* don't reap comments */ -#define M_TOKEN_SEMICOLON (1<<6) /* don't treat ; as special */ - -typedef struct { - char *data; /* pointer to data */ - char *dptr; /* current read/write position */ - size_t dsize; /* length of data */ - int destroy; /* destroy `data' when done? */ -} BUFFER; - typedef struct { int ch; /* raw key pressed */ int op; /* function op */ @@ -201,6 +188,7 @@ enum { M_CRYPT_ENCRYPT, M_PGP_KEY, M_XLABEL, + M_MIMEATTACH, #ifdef USE_NNTP M_NEWSGROUPS, #endif @@ -317,6 +305,7 @@ enum { OPTCOLLAPSEUNREAD, OPTCONFIRMAPPEND, OPTCONFIRMCREATE, + OPTCOUNTATTACH, OPTDELETEUNTAG, OPTDELSP, OPTDIGESTCOLLAPSE, @@ -332,7 +321,7 @@ enum { OPTFORCENAME, OPTFORWDECODE, OPTFORWQUOTE, -#if USE_HCACHE +#ifdef USE_HCACHE OPTHCACHEVERIFY, #if HAVE_QDBM OPTHCACHECOMPRESS, @@ -539,7 +528,7 @@ typedef struct spam_list_t { } SPAM_LIST; -#define mutt_new_spam_list() mem_calloc (1, sizeof (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 *, LIST *); @@ -577,12 +566,6 @@ typedef struct envelope { unsigned int refs_changed:1; /* References changed to break thread */ } ENVELOPE; -typedef struct parameter { - char *attribute; - char *value; - struct parameter *next; -} PARAMETER; - /* Information that helps in determing the Content-* of an attachment */ typedef struct content { long hibin; /* 8-bit characters */ @@ -603,13 +586,13 @@ typedef struct body { PARAMETER *parameter; /* parameters of the content-type */ char *description; /* content-description */ char *form_name; /* Content-Disposition form-data name param */ - long hdr_offset; /* offset in stream where the headers begin. + off_t hdr_offset; /* offset in stream where the headers begin. * this info is used when invoking metamail, * where we need to send the headers of the * attachment */ - long offset; /* offset where the actual data begins */ - LOFF_T length; /* length (in bytes) of attachment */ + off_t offset; /* offset where the actual data begins */ + off_t length; /* length (in bytes) of attachment */ char *filename; /* when sending a message, this is the file * to which this structure refers */ @@ -630,6 +613,8 @@ typedef struct body { struct attachptr *aptr; /* Menu information, used in recvattach.c */ + signed short attach_count; + time_t stamp; /* time stamp of last * encoding update. */ @@ -667,6 +652,7 @@ typedef struct body { unsigned int badsig:1; /* bad cryptographic signature (needed to check encrypted s/mime-signatures) */ unsigned int collapsed:1; /* used by recvattach */ + unsigned int attach_qualifies:1; } BODY; @@ -706,6 +692,9 @@ typedef struct header { unsigned int searched:1; unsigned int matched:1; + /* tells whether the attach count is valid */ + unsigned int attach_valid:1; + /* the following are used to support collapsing threads */ unsigned int collapsed:1; /* is this message part of a collapsed thread? */ unsigned int limited:1; /* is this message in a limited view? */ @@ -717,7 +706,7 @@ typedef struct header { time_t date_sent; /* time when the message was sent (UTC) */ time_t received; /* time when the message was placed in the mailbox */ - long offset; /* where in the stream does this message begin? */ + off_t offset; /* where in the stream does this message begin? */ int lines; /* how many lines in the body of this message? */ int index; /* the absolute (unsorted) message number */ int msgno; /* number displayed to the user */ @@ -733,6 +722,8 @@ typedef struct header { char *tree; /* character string to print thread tree */ struct thread *thread; + short attach_total; + #ifdef MIXMASTER LIST *chain; #endif @@ -834,6 +825,18 @@ typedef struct { unsigned int counting:1; /* do we just want to cound? */ } CONTEXT; +/* for attachment counter */ +typedef struct { + char *major; + int major_int; + const char *minor; + regex_t minor_rx; +} ATTACH_MATCH; + +/* Flags for mutt_count_body_parts() */ +#define M_PARTS_TOPLEVEL (1<<0) /* is the top-level part */ +#define M_PARTS_RECOUNT (1<<1) /* force recount */ + #include "protos.h" #include "lib.h" #include "globals.h"