diff options
author | Kristaps Dzonsons <kristaps@bsd.lv> | 2008-12-03 14:39:59 +0000 |
---|---|---|
committer | Kristaps Dzonsons <kristaps@bsd.lv> | 2008-12-03 14:39:59 +0000 |
commit | ac4bc07079be4963163734d67749697140f23b4b (patch) | |
tree | b286cf3805fac09fc13f81d1055c1d879eeaf65d /ml.h | |
parent | 947a810f327c5d9b23991b114fea38e5c44aa5ad (diff) | |
download | mandoc-ac4bc07079be4963163734d67749697140f23b4b.tar.gz |
Abstract ml/mlg/html/xml.
Diffstat (limited to 'ml.h')
-rw-r--r-- | ml.h | 54 |
1 files changed, 54 insertions, 0 deletions
@@ -0,0 +1,54 @@ +/* $Id$ */ +/* + * Copyright (c) 2008 Kristaps Dzonsons <kristaps@kth.se> + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the + * above copyright notice and this permission notice appear in all + * copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL + * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE + * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL + * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR + * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER + * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR + * PERFORMANCE OF THIS SOFTWARE. + */ +#ifndef ML_H +#define ML_H + +struct md_mlg; + +enum md_ns { + MD_NS_BLOCK, + MD_NS_INLINE, + MD_NS_DEFAULT, +}; + +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 **); + + +__BEGIN_DECLS + +int ml_nputstring(struct md_mbuf *, + const char *, size_t, size_t *); +int ml_nputs(struct md_mbuf *, + const char *, size_t, size_t *); +int ml_putchars(struct md_mbuf *, + char, size_t, size_t *); + +struct md_mlg *mlg_alloc(const struct md_args *, + const struct md_rbuf *, struct md_mbuf *, + ml_begintag, ml_endtag); +int mlg_exit(struct md_mlg *, int); +int mlg_line(struct md_mlg *, char *); + +__END_DECLS + +#endif /*!ML_H*/ |