=================================================================== RCS file: /cvs/mandoc/mdoc.h,v retrieving revision 1.24 retrieving revision 1.28 diff -u -p -r1.24 -r1.28 --- mandoc/mdoc.h 2009/01/17 14:04:25 1.24 +++ mandoc/mdoc.h 2009/01/20 13:44:05 1.28 @@ -1,4 +1,4 @@ -/* $Id: mdoc.h,v 1.24 2009/01/17 14:04:25 kristaps Exp $ */ +/* $Id: mdoc.h,v 1.28 2009/01/20 13:44:05 kristaps Exp $ */ /* * Copyright (c) 2008 Kristaps Dzonsons * @@ -346,10 +346,9 @@ struct mdoc_meta { enum mdoc_vol vol; enum mdoc_arch arch; time_t date; -#define META_TITLE_SZ (64) - char title[META_TITLE_SZ]; -#define META_OS_SZ (64) - char os[META_OS_SZ]; + char *title; + char *os; + char *name; }; struct mdoc_text { @@ -386,8 +385,12 @@ struct mdoc_node { int line; int pos; int tok; + int flags; +#define MDOC_VALID (1 << 0) +#define MDOC_ACTED (1 << 1) enum mdoc_type type; union mdoc_data data; + /* FIXME: have an enum mdoc_sec. */ }; /* Call-backs for parse messages. */ @@ -414,8 +417,11 @@ struct mdoc *mdoc_alloc(void *data, const struct mdoc /* Parse a single line (boolean retval). */ int mdoc_parseln(struct mdoc *, int, char *buf); -/* Get parse result or NULL. */ -const struct mdoc_node *mdoc_result(struct mdoc *); +/* Get result first node. */ +const struct mdoc_node *mdoc_node(struct mdoc *); + +/* Get result meta-information. */ +const struct mdoc_meta *mdoc_meta(struct mdoc *); /* Signal end of parse sequence (boolean retval). */ int mdoc_endparse(struct mdoc *);