Add new implementation m_getfld2()
[mmh] / h / mh.h
diff --git a/h/mh.h b/h/mh.h
index 17d5c2f..a93d9a9 100644 (file)
--- a/h/mh.h
+++ b/h/mh.h
@@ -4,23 +4,12 @@
 
 #include <config.h>
 
-#include <unistd.h>
 #include <stdio.h>
-#include <ctype.h>
-#include <sys/stat.h>
-
-#include <dirent.h>
-
 #include <stdlib.h>
-#include <stdarg.h>
 #include <string.h>
+#include <sys/types.h>
+#include <stdarg.h>
 
-#ifdef HAVE_SYS_PARAM_H
-# include <sys/param.h>
-#endif
-
-#include <locale.h>
-#include <limits.h>
 
 /*
 ** Well-used constants
@@ -214,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,
+       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!) */