X-Git-Url: https://git.cameronkatri.com/mandoc.git/blobdiff_plain/95356d6189f5e5d41011a7cb60176f147e1fff7d..26da7f05bc7b6fd332991f1c1a4801a32bfe439f:/libman.h?ds=sidebyside diff --git a/libman.h b/libman.h index 62332750..e1a9aecc 100644 --- a/libman.h +++ b/libman.h @@ -1,6 +1,6 @@ -/* $Id: libman.h,v 1.34 2010/05/17 22:11:42 kristaps Exp $ */ +/* $Id: libman.h,v 1.44 2010/11/30 15:36:28 kristaps Exp $ */ /* - * Copyright (c) 2009 Kristaps Dzonsons + * Copyright (c) 2009, 2010 Kristaps Dzonsons * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -25,9 +25,8 @@ enum man_next { }; struct man { - void *data; - mandocmsg msg; - int pflags; /* parse flags (see man.h) */ + void *data; /* private application data */ + mandocmsg msg; /* output message handler */ int flags; /* parse flags */ #define MAN_HALT (1 << 0) /* badness happened: die */ #define MAN_ELINE (1 << 1) /* Next-line element scope. */ @@ -35,14 +34,19 @@ struct man { #define MAN_ILINE (1 << 3) /* Ignored in next-line scope. */ #define MAN_LITERAL (1 << 4) /* Literal input. */ #define MAN_BPLINE (1 << 5) - enum man_next next; - struct man_node *last; - struct man_node *first; - struct man_meta meta; + enum man_next next; /* where to put the next node */ + struct man_node *last; /* the last parsed node */ + struct man_node *first; /* the first parsed node */ + struct man_meta meta; /* document meta-data */ + struct regset *regs; /* registers */ }; -#define MACRO_PROT_ARGS struct man *m, enum mant tok, int line, \ - int ppos, int *pos, char *buf +#define MACRO_PROT_ARGS struct man *m, \ + enum mant tok, \ + int line, \ + int ppos, \ + int *pos, \ + char *buf struct man_macro { int (*fp)(MACRO_PROT_ARGS); @@ -79,9 +83,7 @@ int man_args(struct man *, int, int *, char *, char **); int man_vmsg(struct man *, enum mandocerr, int, int, const char *, ...); int man_valid_post(struct man *); -int man_valid_pre(struct man *, const struct man_node *); -int man_action_post(struct man *); -int man_action_pre(struct man *, struct man_node *); +int man_valid_pre(struct man *, struct man_node *); int man_unscope(struct man *, const struct man_node *, enum mandocerr);