From ac4bc07079be4963163734d67749697140f23b4b Mon Sep 17 00:00:00 2001 From: Kristaps Dzonsons Date: Wed, 3 Dec 2008 14:39:59 +0000 Subject: Abstract ml/mlg/html/xml. --- ml.h | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 ml.h (limited to 'ml.h') diff --git a/ml.h b/ml.h new file mode 100644 index 00000000..806a6e27 --- /dev/null +++ b/ml.h @@ -0,0 +1,54 @@ +/* $Id$ */ +/* + * Copyright (c) 2008 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 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*/ -- cgit