-/* $Id: roff.h,v 1.14 2010/05/16 10:59:36 kristaps Exp $ */
+/* $Id: roff.h,v 1.22 2011/01/01 16:18:39 kristaps Exp $ */
/*
* Copyright (c) 2010 Kristaps Dzonsons <kristaps@bsd.lv>
*
enum rofferr {
ROFF_CONT, /* continue processing line */
ROFF_RERUN, /* re-run roff interpreter with offset */
+ ROFF_APPEND, /* re-run main parser, appending next line */
+ ROFF_REPARSE, /* re-run main parser on the result */
+ ROFF_SO, /* include another file */
ROFF_IGN, /* ignore current line */
- ROFF_ERR, /* badness: puke and stop */
+ ROFF_TBL, /* a table row was successfully parsed */
+ ROFF_ERR /* badness: puke and stop */
};
__BEGIN_DECLS
struct roff;
void roff_free(struct roff *);
-struct roff *roff_alloc(mandocmsg, void *);
+struct roff *roff_alloc(struct regset *, void *, mandocmsg);
void roff_reset(struct roff *);
enum rofferr roff_parseln(struct roff *, int,
char **, size_t *, int, int *);
-int roff_endparse(struct roff *);
+void roff_endparse(struct roff *);
+const struct tbl_span *roff_span(const struct roff *);
__END_DECLS