*** empty log message ***
[mandoc.git] / mdoc.h
diff --git a/mdoc.h b/mdoc.h
index a9d961728e79de905801924f56d4667d4d255352..3e0c82977107763b842abaa1d901a51e70a7c5d3 100644 (file)
--- a/mdoc.h
+++ b/mdoc.h
@@ -1,6 +1,6 @@
-/* $Id: mdoc.h,v 1.41 2009/03/08 20:50:12 kristaps Exp $ */
+/* $Id: mdoc.h,v 1.54 2009/03/31 13:50:19 kristaps Exp $ */
 /*
- * Copyright (c) 2008 Kristaps Dzonsons <kristaps@kth.se>
+ * Copyright (c) 2008, 2009 Kristaps Dzonsons <kristaps@openbsd.org>
  *
  * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the
@@ -19,6 +19,8 @@
 #ifndef MDOC_H
 #define MDOC_H
 
+#include <time.h>
+
 /*
  * This library implements a validating scanner/parser for ``mdoc'' roff
  * macro documents, a.k.a. BSD manual page documents.  The mdoc.c file
@@ -29,8 +31,6 @@
 
 /* What follows is a list of ALL possible macros. */
 
-/* TODO: Brq et al. */
-
 #define        MDOC___          0
 #define        MDOC_Dd          1
 #define        MDOC_Dt          2
 #define        MDOC_Ud          105
 #define        MDOC_Lb          106
 #define        MDOC_Ap          107
-#define        MDOC_MAX         108
+#define        MDOC_Lp          108
+#define        MDOC_Lk          109
+#define        MDOC_Mt          110
+#define        MDOC_Brq         111
+#define        MDOC_Bro         112
+#define        MDOC_Brc         113
+#define        MDOC__C          114
+#define        MDOC_Es          115
+#define        MDOC_En          116
+#define        MDOC_Dx          117
+#define        MDOC__Q          118
+#define        MDOC_MAX         119
 
 /* What follows is a list of ALL possible macro arguments. */
 
 #define        MDOC_Words       22
 #define        MDOC_Emphasis    23
 #define        MDOC_Symbolic    24
-#define        MDOC_ARG_MAX     25
+#define        MDOC_Nested      25
+#define        MDOC_ARG_MAX     26
 
 /* Warnings are either syntax or groff-compatibility. */
 enum   mdoc_warn {
@@ -263,6 +275,7 @@ struct      mdoc_node {
 
 #define        MDOC_IGN_SCOPE   (1 << 0) /* Ignore scope violations. */
 #define        MDOC_IGN_ESCAPE  (1 << 1) /* Ignore bad escape sequences. */
+#define        MDOC_IGN_MACRO   (1 << 2) /* Ignore unknown macros. */
 
 /* Call-backs for parse messages. */
 struct mdoc_cb {
@@ -288,8 +301,8 @@ void                  mdoc_free(struct mdoc *);
 /* Allocate a new parser instance. */
 struct mdoc     *mdoc_alloc(void *, int, const struct mdoc_cb *);
 
-/* Set parse options. */
-void             mdoc_setflags(struct mdoc *, int);
+/* Gets system ready for another parse. */
+int              mdoc_reset(struct mdoc *);
 
 /* Parse a single line in a stream (boolean retval). */
 int              mdoc_parseln(struct mdoc *, int, char *buf);
@@ -309,8 +322,6 @@ const char   *mdoc_a2att(const char *);
 const char      *mdoc_a2lib(const char *);
 const char      *mdoc_a2st(const char *);
 
-int              mdoc_isdelim(const char *);
-
 __END_DECLS
 
 #endif /*!MDOC_H*/