X-Git-Url: http://git.madism.org/?p=apps%2Fmadmutt.git;a=blobdiff_plain;f=mutt.h;h=a385f27eb9c5a511e4e2c9f0475b1b5c51e82cc9;hp=688d550af2d7886726d7bd3b5497a7755ebcdfcd;hb=78586c1ffef95f49598e381b5cefa46765fa854f;hpb=7e48409c3d6fb969706114b3c0962ffa0e112d37 diff --git a/mutt.h b/mutt.h index 688d550..a385f27 100644 --- a/mutt.h +++ b/mutt.h @@ -201,6 +201,7 @@ enum { M_CRYPT_ENCRYPT, M_PGP_KEY, M_XLABEL, + M_MIMEATTACH, #ifdef USE_NNTP M_NEWSGROUPS, #endif @@ -317,6 +318,7 @@ enum { OPTCOLLAPSEUNREAD, OPTCONFIRMAPPEND, OPTCONFIRMCREATE, + OPTCOUNTATTACH, OPTDELETEUNTAG, OPTDELSP, OPTDIGESTCOLLAPSE, @@ -603,13 +605,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. + LOFF_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 */ - long length; /* length (in bytes) of attachment */ + LOFF_T offset; /* offset where the actual data begins */ + LOFF_T length; /* length (in bytes) of attachment */ char *filename; /* when sending a message, this is the file * to which this structure refers */ @@ -630,6 +632,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 +671,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; @@ -674,7 +679,7 @@ typedef struct header { unsigned int security:11; /* bit 0-6: flags, bit 7,8: application. see: crypt.h pgplib.h, smime.h */ - unsigned int mime:1; /* has a Mime-Version header? */ + unsigned int mime:1; /* has a MIME-Version header? */ unsigned int flagged:1; /* marked important? */ unsigned int tagged:1; unsigned int appended:1; /* has been saved */ @@ -706,6 +711,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 +725,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? */ + LOFF_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 +741,8 @@ typedef struct header { char *tree; /* character string to print thread tree */ struct thread *thread; + short attach_total; + #ifdef MIXMASTER LIST *chain; #endif @@ -767,7 +777,7 @@ typedef struct thread { /* flag to mutt_pattern_comp() */ -#define M_FULL_MSG 1 /* enable body and header matching */ +#define M_FULL_MSG (1<<0) /* enable body and header matching */ typedef enum { M_MATCH_FULL_ADDRESS = 1 @@ -775,12 +785,14 @@ typedef enum { typedef struct pattern_t { short op; - short not; - short alladdr; + 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; @@ -832,6 +844,18 @@ typedef struct { unsigned int counting:1; /* do we just want to cound? */ } CONTEXT; +/* for attachment counter */ +typedef struct { + char *major; + int major_int; + 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"