X-Git-Url: http://git.marmaro.de/?p=mmh;a=blobdiff_plain;f=h%2Fmh.h;h=8107a3e326fbae377482d0ae95757e41de14978d;hp=6b8f4a97a2ec7a21a45ebefc10b31f6953853d6a;hb=a3d849510ecad775e265ab7b6090e85576f48ef7;hpb=fa591538beda05e6ce89323128705beabe4f543f diff --git a/h/mh.h b/h/mh.h index 6b8f4a9..8107a3e 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,13 +203,28 @@ struct msgs { ** terminating NULL. */ +struct field { + char name[NAMESZ]; + size_t namelen; + char *value; + size_t valuelen; + size_t alloclen; +}; + +enum state { + LENERR2 = -2, + FMTERR2 = -3, + IOERR2 = -1, + FLD2 = 0, + BODY2, + FILEEOF2, +}; + #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 */ extern int msg_count; /* m_getfld() indicators (That's a hack!) */