+void mandoc_msg(enum mandocerr, struct mparse *,
+ int, int, const char *);
+#if __GNUC__ - 0 >= 4
+__attribute__((__format__ (__printf__, 5, 6)))
+#endif
+void mandoc_vmsg(enum mandocerr, struct mparse *,
+ int, int, const char *, ...);
+char *mandoc_getarg(struct mparse *, char **, int, int *);
+char *mandoc_normdate(struct mparse *, char *, int, int);
+int mandoc_eos(const char *, size_t);
+int mandoc_strntoi(const char *, size_t, int);
+const char *mandoc_a2msec(const char*);
+
+void mdoc_free(struct mdoc *);
+struct mdoc *mdoc_alloc(struct roff *, struct mparse *,
+ const char *, int);
+void mdoc_reset(struct mdoc *);
+int mdoc_parseln(struct mdoc *, int, char *, int);
+void mdoc_endparse(struct mdoc *);
+void mdoc_addspan(struct mdoc *, const struct tbl_span *);
+void mdoc_addeqn(struct mdoc *, const struct eqn *);
+
+void man_free(struct man *);
+struct man *man_alloc(struct roff *, struct mparse *,
+ const char *, int);
+void man_reset(struct man *);
+int man_parseln(struct man *, int, char *, int);
+void man_endparse(struct man *);
+void man_addspan(struct man *, const struct tbl_span *);
+void man_addeqn(struct man *, const struct eqn *);