aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/libmdocml.h
diff options
context:
space:
mode:
authorKristaps Dzonsons <kristaps@bsd.lv>2008-11-22 20:15:34 +0000
committerKristaps Dzonsons <kristaps@bsd.lv>2008-11-22 20:15:34 +0000
commitf7c6d11f272cc0ec57ca0edce234d8aef453f9b5 (patch)
tree6b901cf06e3fed954fdf60caac04b12e6964f693 /libmdocml.h
parent0c023dc23d3930756004b7517582d0e5bb5c5b68 (diff)
downloadmandoc-f7c6d11f272cc0ec57ca0edce234d8aef453f9b5.tar.gz
mandoc-f7c6d11f272cc0ec57ca0edce234d8aef453f9b5.tar.zst
mandoc-f7c6d11f272cc0ec57ca0edce234d8aef453f9b5.zip
Fuller seperation into mdocml/libmdocml.
Diffstat (limited to 'libmdocml.h')
-rw-r--r--libmdocml.h44
1 files changed, 29 insertions, 15 deletions
diff --git a/libmdocml.h b/libmdocml.h
index 63b8c3f4..60ea7f8f 100644
--- a/libmdocml.h
+++ b/libmdocml.h
@@ -1,4 +1,4 @@
-/* $Id: libmdocml.h,v 1.2 2008/11/22 18:34:06 kristaps Exp $ */
+/* $Id: libmdocml.h,v 1.3 2008/11/22 20:15:34 kristaps Exp $ */
/*
* Copyright (c) 2008 Kristaps Dzonsons <kristaps@kth.se>
*
@@ -21,29 +21,43 @@
#include <sys/types.h>
-struct md_rbuf {
- int fd;
- const char *name;
- char *buf;
- size_t bufsz;
- size_t line;
+struct md_params_dummy {
+ int dummy;
};
-struct md_mbuf {
- int fd;
- const char *name;
- char *buf;
- size_t bufsz;
- size_t pos;
+struct md_params_html4_strict {
+ int dummy;
+};
+
+union md_params {
+ struct md_params_dummy dummy;
+ struct md_params_html4_strict html4_strict;
};
enum md_type {
- MD_DUMMY
+ MD_DUMMY, /* Dummy type echoes input. */
+ MD_HTML4_STRICT /* HTML4.01-strict. */
+};
+
+struct md_args {
+ union md_params params;/* Parameters for parser. */
+ enum md_type type; /* Type of parser. */
+};
+
+struct md_buf {
+ int fd; /* Open file descriptor. */
+ char *name; /* Name of file/socket/whatever. */
+ char *buf; /* Buffer for storing data. */
+ size_t bufsz; /* Size of buf. */
};
__BEGIN_DECLS
-int md_run(enum md_type, struct md_mbuf *, struct md_rbuf *);
+/* Run the parser over prepared input and output buffers. Returns -1 on
+ * failure and 0 on success.
+ */
+int md_run(const struct md_args *,
+ const struct md_buf *, const struct md_buf *);
__END_DECLS