=================================================================== RCS file: /cvs/mandoc/Attic/ml.h,v retrieving revision 1.9 retrieving revision 1.14 diff -u -p -r1.9 -r1.14 --- mandoc/Attic/ml.h 2008/12/07 22:40:18 1.9 +++ mandoc/Attic/ml.h 2008/12/10 12:05:33 1.14 @@ -1,4 +1,4 @@ -/* $Id: ml.h,v 1.9 2008/12/07 22:40:18 kristaps Exp $ */ +/* $Id: ml.h,v 1.14 2008/12/10 12:05:33 kristaps Exp $ */ /* * Copyright (c) 2008 Kristaps Dzonsons * @@ -19,6 +19,13 @@ #ifndef ML_H #define ML_H +#include "private.h" + +#define COLUMNS 72 +#define INDENT_SZ 4 +#define INDENT(x) ((x) > MAXINDENT ? MAXINDENT : (x)) +#define MAXINDENT 10 + struct md_mlg; enum md_ns { @@ -29,14 +36,22 @@ enum md_ns { MD_NS_DEFAULT, }; +enum ml_scope { + ML_OPEN, + ML_CLOSE +}; + struct ml_cbs { int (*ml_begin)(struct md_mbuf *, const struct md_args *, const struct tm *, const char *, const char *, - const char *, const char *); + enum roffmsec, enum roffvol); int (*ml_end)(struct md_mbuf *, - const struct md_args *); + const struct md_args *, + const struct tm *, + const char *, const char *, + enum roffmsec, enum roffvol); ssize_t (*ml_beginstring)(struct md_mbuf *, const struct md_args *, const char *, size_t); @@ -65,14 +80,16 @@ int ml_nputs(struct md_mbuf *, int ml_puts(struct md_mbuf *, const char *, size_t *); int ml_putchars(struct md_mbuf *, char, size_t, size_t *); -char *ml_literal(int, const int *, - const char **, const char **); +/* FIXME: move into mlg.h or private.h. */ struct md_mlg *mlg_alloc(const struct md_args *, const struct md_rbuf *, struct md_mbuf *, const struct ml_cbs *); int mlg_exit(struct md_mlg *, int); int mlg_line(struct md_mlg *, char *); + +int ml_tagput(struct md_mbuf *, + enum ml_scope, const char *, size_t *); __END_DECLS