=================================================================== RCS file: /cvs/mandoc/Attic/private.h,v retrieving revision 1.9 retrieving revision 1.21 diff -u -p -r1.9 -r1.21 --- mandoc/Attic/private.h 2008/11/26 21:42:59 1.9 +++ mandoc/Attic/private.h 2008/12/01 15:32:36 1.21 @@ -1,4 +1,4 @@ -/* $Id: private.h,v 1.9 2008/11/26 21:42:59 kristaps Exp $ */ +/* $Id: private.h,v 1.21 2008/12/01 15:32:36 kristaps Exp $ */ /* * Copyright (c) 2008 Kristaps Dzonsons * @@ -137,7 +137,13 @@ struct md_mbuf { #define ROFF_Fc 97 #define ROFF_Oo 98 #define ROFF_Oc 99 -#define ROFF_MAX 100 +#define ROFF_Bk 100 +#define ROFF_Ek 101 +#define ROFF_Bt 102 +#define ROFF_Hf 103 +#define ROFF_Fr 104 +#define ROFF_Ud 105 +#define ROFF_MAX 106 #define ROFF_Split 0 #define ROFF_Nosplit 1 @@ -197,40 +203,44 @@ struct md_mbuf { #define ROFF_susv2 55 #define ROFF_susv3 56 #define ROFF_svid4 57 -#define ROFF_ARGMAX 58 +#define ROFF_Filled 58 +#define ROFF_Words 59 +#define ROFF_ARGMAX 60 extern const char *const *toknames; extern const char *const *tokargnames; -/* FIXME: have a md_roff with all necessary parameters. */ +enum roffmsg { ROFF_WARN, ROFF_ERROR }; -/* FIXME: have roffbegin and roffend for doc head/foot. */ - struct roffcb { - int (*roffhead)(void); - int (*rofftail)(void); - int (*roffin)(int, int *, char **); - int (*roffout)(int); - int (*roffblkin)(int); - int (*roffblkout)(int); + void (*roffmsg)(void *, enum roffmsg, + const char *, const char *, char *); + int (*roffhead)(void *); + int (*rofftail)(void *); + int (*roffin)(void *, int, int *, char **); + int (*roffdata)(void *, int, char *); + int (*roffout)(void *, int); + int (*roffblkin)(void *, int, int *, char **); + int (*roffblkout)(void *, int); + int (*roffspecial)(void *, int); }; __BEGIN_DECLS typedef void (*(*md_init)(const struct md_args *, struct md_mbuf *, const struct md_rbuf *)); -typedef int (*md_line)(void *, char *, size_t); +typedef int (*md_line)(void *, char *); typedef int (*md_exit)(void *, int); void *md_init_html4_strict(const struct md_args *, struct md_mbuf *, const struct md_rbuf *); -int md_line_html4_strict(void *, char *, size_t); +int md_line_html4_strict(void *, char *); int md_exit_html4_strict(void *, int); -void *md_init_dummy(const struct md_args *, +void *md_init_xml(const struct md_args *, struct md_mbuf *, const struct md_rbuf *); -int md_line_dummy(void *, char *, size_t); -int md_exit_dummy(void *, int); +int md_line_xml(void *, char *); +int md_exit_xml(void *, int); int md_buf_puts(struct md_mbuf *, const char *, size_t); int md_buf_putchar(struct md_mbuf *, char); @@ -238,10 +248,8 @@ int md_buf_putstring(struct md_mbuf *, const char struct rofftree; -struct rofftree *roff_alloc(const struct md_args *, - struct md_mbuf *, const struct md_rbuf *, - const struct roffcb *); -int roff_engine(struct rofftree *, char *, size_t); +struct rofftree *roff_alloc(const struct roffcb *, void *); +int roff_engine(struct rofftree *, char *); int roff_free(struct rofftree *, int); __END_DECLS