** mh.h -- main header file for all of nmh
*/
-#include <h/nmh.h>
+#include <config.h>
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/types.h>
+#include <stdarg.h>
+
/*
** Well-used constants
#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 {
** terminating NULL.
*/
+struct field {
+ char name[NAMESZ];
+ size_t namelen;
+ char *value;
+ size_t valuelen;
+ size_t alloclen;
+};
+
+enum state {
+ LENERR2 = -2,
+ FMTERR2 = -3,
+ ERR2 = -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!) */