=================================================================== RCS file: /cvs/mandoc/man.h,v retrieving revision 1.12 retrieving revision 1.22 diff -u -p -r1.12 -r1.22 --- mandoc/man.h 2009/06/10 20:18:43 1.12 +++ mandoc/man.h 2009/10/24 05:45:04 1.22 @@ -1,4 +1,4 @@ -/* $Id: man.h,v 1.12 2009/06/10 20:18:43 kristaps Exp $ */ +/* $Id: man.h,v 1.22 2009/10/24 05:45:04 kristaps Exp $ */ /* * Copyright (c) 2009 Kristaps Dzonsons * @@ -19,7 +19,7 @@ #include -#define MAN___ 0 +#define MAN_br 0 #define MAN_TH 1 #define MAN_SH 2 #define MAN_SS 3 @@ -40,15 +40,26 @@ #define MAN_I 18 #define MAN_IR 19 #define MAN_RI 20 -#define MAN_br 21 -#define MAN_na 22 -#define MAN_i 23 -#define MAN_MAX 24 +#define MAN_na 21 +#define MAN_i 22 +#define MAN_sp 23 +#define MAN_nf 24 +#define MAN_fi 25 +#define MAN_r 26 +#define MAN_RE 27 +#define MAN_RS 28 +#define MAN_DT 29 +#define MAN_UC 30 +#define MAN_PD 31 +#define MAN_MAX 32 enum man_type { MAN_TEXT, MAN_ELEM, - MAN_ROOT + MAN_ROOT, + MAN_BLOCK, + MAN_HEAD, + MAN_BODY }; struct man_meta { @@ -64,6 +75,7 @@ struct man_node { struct man_node *child; struct man_node *next; struct man_node *prev; + int nchild; int line; int pos; int tok; @@ -72,9 +84,13 @@ struct man_node { #define MAN_ACTED (1 << 1) enum man_type type; char *string; + struct man_node *head; + struct man_node *body; }; -#define MAN_IGN_MACRO (1 << 0) /* Ignore unknown macros. */ +#define MAN_IGN_MACRO (1 << 0) +#define MAN_IGN_CHARS (1 << 1) +#define MAN_IGN_ESCAPE (1 << 2) extern const char *const *man_macronames; @@ -92,7 +108,6 @@ struct man *man_alloc(void *, int, const struct man_c int man_reset(struct man *); int man_parseln(struct man *, int, char *buf); int man_endparse(struct man *); -int man_valid_post(struct man *); const struct man_node *man_node(const struct man *); const struct man_meta *man_meta(const struct man *);