X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=h%2Fmh.h;h=e1795caa1b681466ada5b4f6af22ee41d6c2a0ae;hp=6b8f4a97a2ec7a21a45ebefc10b31f6953853d6a;hb=d4bcca1aa235370bc20bc2734c0cd6f700b17871;hpb=fa591538beda05e6ce89323128705beabe4f543f diff --git a/h/mh.h b/h/mh.h index 6b8f4a9..e1795ca 100644 --- a/h/mh.h +++ b/h/mh.h @@ -2,7 +2,14 @@ ** mh.h -- main header file for all of nmh */ -#include +#include + +#include +#include +#include +#include +#include + /* ** Well-used constants @@ -36,6 +43,30 @@ typedef unsigned char boolean; /* not int so we can pack in a structure */ #endif /* +** we should be getting this value from pathconf(_PC_PATH_MAX) +*/ +#ifndef PATH_MAX +# ifdef MAXPATHLEN +# define PATH_MAX MAXPATHLEN +# else + /* so we will just pick something */ +# define PATH_MAX 1024 +# endif +#endif + +/* +** we should be getting this value from sysconf(_SC_OPEN_MAX) +*/ +#ifndef OPEN_MAX +# ifdef NOFILE +# define OPEN_MAX NOFILE +# else + /* so we will just pick something */ +# define OPEN_MAX 64 +# endif +#endif + +/* ** user context/profile structure */ struct node { @@ -172,16 +203,24 @@ struct msgs { ** terminating NULL. */ -#define LENERR (-2) /* Name too long error from getfld */ -#define FMTERR (-3) /* Message Format error */ -#define FLD 0 /* Field returned */ -#define FLDPLUS 1 /* Field returned with more to come */ -#define FLDEOF 2 /* Field returned ending at eom */ -#define BODY 3 /* Body returned with more to come */ -#define BODYEOF 4 /* Body returned ending at eom */ -#define FILEEOF 5 /* Reached end of input file */ +/* m_getfld2() returned data */ +struct field { + char name[NAMESZ]; + size_t namelen; + char *value; + size_t valuelen; + size_t alloclen; +}; -extern int msg_count; /* m_getfld() indicators (That's a hack!) */ +/* m_getfld2() states */ +enum state { + LENERR2 = -2, /* Line too long */ + FMTERR2 = -3, /* Format error in message */ + IOERR2 = -1, /* Read error */ + FLD2 = 0, /* Header field returned */ + BODY2, /* Body line returned */ + FILEEOF2, /* Reached end of input file */ +}; #define NOUSE 0 /* draft being re-used */ @@ -252,6 +291,7 @@ extern char *psequence; extern char *rcvdistcomps; extern char *replcomps; extern char *replgroupcomps; +extern char *scanformat; extern char *sendmail; extern char *seq_all; extern char *seq_beyond;