=================================================================== RCS file: /cvs/mandoc/Attic/ml.h,v retrieving revision 1.2 retrieving revision 1.11 diff -u -p -r1.2 -r1.11 --- mandoc/Attic/ml.h 2008/12/03 19:21:58 1.2 +++ mandoc/Attic/ml.h 2008/12/09 17:09:12 1.11 @@ -1,4 +1,4 @@ -/* $Id: ml.h,v 1.2 2008/12/03 19:21:58 kristaps Exp $ */ +/* $Id: ml.h,v 1.11 2008/12/09 17:09:12 kristaps Exp $ */ /* * Copyright (c) 2008 Kristaps Dzonsons * @@ -29,19 +29,35 @@ enum md_ns { MD_NS_DEFAULT, }; -typedef int (*ml_begin)(struct md_mbuf *, - const struct md_args *); -typedef int (*ml_end)(struct md_mbuf *, - const struct md_args *); -typedef ssize_t (*ml_endtag)(struct md_mbuf *, - const struct md_args *, enum md_ns, int); -typedef ssize_t (*ml_begintag)(struct md_mbuf *, - const struct md_args *, enum md_ns, int, - const int *, const char **); +struct ml_cbs { + int (*ml_begin)(struct md_mbuf *, + const struct md_args *, + const struct tm *, + const char *, const char *, + enum roffmsec, const char *); + int (*ml_end)(struct md_mbuf *, + const struct md_args *); + ssize_t (*ml_beginstring)(struct md_mbuf *, + const struct md_args *, + const char *, size_t); + ssize_t (*ml_endstring)(struct md_mbuf *, + const struct md_args *, + const char *, size_t); + ssize_t (*ml_endtag)(struct md_mbuf *, + void *, const struct md_args *, + enum md_ns, int); + ssize_t (*ml_begintag)(struct md_mbuf *, + void *, const struct md_args *, + enum md_ns, int, + const int *, const char **); + int (*ml_alloc)(void **); + void (*ml_free)(void *); +}; - __BEGIN_DECLS +int ml_putstring(struct md_mbuf *, + const char *, size_t *); int ml_nputstring(struct md_mbuf *, const char *, size_t, size_t *); int ml_nputs(struct md_mbuf *, @@ -52,7 +68,7 @@ int ml_putchars(struct md_mbuf *, struct md_mlg *mlg_alloc(const struct md_args *, const struct md_rbuf *, struct md_mbuf *, - ml_begintag, ml_endtag, ml_begin, ml_end); + const struct ml_cbs *); int mlg_exit(struct md_mlg *, int); int mlg_line(struct md_mlg *, char *);