X-Git-Url: http://git.marmaro.de/?a=blobdiff_plain;f=h%2Fmh.h;h=225d0c91ff5b3c7d415f70f1e1e936fa41a472ef;hb=9f8f8b1e1d553774865f2c177191c359c3dc652c;hp=c8ece5d1009320730940970bf0898d6f513bc77d;hpb=1691e80890e5d8ba258c51c214a3e91880e1db2b;p=mmh diff --git a/h/mh.h b/h/mh.h index c8ece5d..225d0c9 100644 --- a/h/mh.h +++ b/h/mh.h @@ -1,8 +1,6 @@ /* * mh.h -- main header file for all of nmh - * - * $Id$ */ #include @@ -21,6 +19,25 @@ #define DMAXFOLDER 4 /* typical number of digits */ #define MAXFOLDER 1000 /* message increment */ +#ifndef FALSE +#define FALSE 0 +#endif +#ifndef TRUE +#define TRUE 1 +#endif +typedef unsigned char boolean; /* not int so we can pack in a structure */ + +/* If we're using gcc then give it some information about + * functions that abort. + */ +#if __GNUC__ > 2 +#define NORETURN __attribute__((__noreturn__)) +#define NMH_UNUSED(i) (void) i +#else +#define NORETURN +#define NMH_UNUSED(i) i +#endif + /* * user context/profile structure */ @@ -39,11 +56,19 @@ struct node { struct swit { char *sw; + + /* The minchars field is apparently used like this: + + -# : Switch can be abbreviated to # characters; switch hidden in -help. + 0 : Switch can't be abbreviated; switch shown in -help. + # : Switch can be abbreviated to # characters; switch shown in -help. */ int minchars; }; extern struct swit anoyes[]; /* standard yes/no switches */ +#define ATTACHFORMATS 3 /* Number of send attach formats. */ + /* * general folder attributes */ @@ -198,7 +223,15 @@ struct msgs { * m_getfld() message parsing */ -#define NAMESZ 128 /* Limit on component name size */ +#define NAMESZ 999 /* Limit on component name size. + RFC 2822 limits line lengths to + 998 characters, so a header name + can be at most that long. + m_getfld limits header names to 2 + less than NAMESZ, which is fine, + because header names must be + followed by a colon. Add one for + terminating NULL. */ #define LENERR (-2) /* Name too long error from getfld */ #define FMTERR (-3) /* Message Format error */ @@ -230,6 +263,11 @@ extern char *msg_delim; /* .. */ #define OUTPUTLINELEN 72 /* default line length for headers */ +#define LINK "@" /* Name of link to file to which you are */ + /* replying. */ + +#define NMH_ATTACH_HEADER "Nmh-Attachment" /* Default header for -attach */ + /* * miscellaneous macros */ @@ -260,6 +298,13 @@ extern char *defpath; /* pathname of user's profile */ extern char *ctxpath; /* pathname of user's context */ extern struct node *m_defs; /* list of profile/context entries */ +/* What style to use for generated Message-ID and Content-ID header + fields. The localname style is pid.time@localname, where time is + in seconds. The random style replaces the localname with some + (pseudo)random bytes and uses microsecond-resolution time. */ +int save_message_id_style (const char *); +char *message_id (time_t, int); + /* * These standard strings are defined in config.c. They are the * only system-dependent parameters in nmh, and thus by redefining @@ -276,9 +321,9 @@ extern char *defaultfolder; extern char *digestcomps; extern char *distcomps; extern char *draft; -extern char *faceproc; extern char *fileproc; extern char *foldprot; +extern char *formatproc; extern char *forwcomps; extern char *inbox; extern char *incproc; @@ -308,7 +353,6 @@ extern char *rcvdistcomps; extern char *rcvstoreproc; extern char *replcomps; extern char *replgroupcomps; -extern char *rmfproc; extern char *rmmproc; extern char *sendproc; extern char *showmimeproc; @@ -320,5 +364,7 @@ extern char *vmhproc; extern char *whatnowproc; extern char *whomproc; +extern void (*done) (int) NORETURN; + #include