summaryrefslogtreecommitdiffstats
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
commitdb2de0fc6269ee8af47bd978af96272be6138207 (patch)
treec9c7636b56dcea47ffede6d7e38a055499aa6088 /libmdocml.h
parentb6bd12c3f0303e71b580e5ff0eb8e9adf580d286 (diff)
downloadmandoc-db2de0fc6269ee8af47bd978af96272be6138207.tar.gz
Fuller seperation into mdocml/libmdocml.
Diffstat (limited to 'libmdocml.h')
-rw-r--r--libmdocml.h42
1 files changed, 28 insertions, 14 deletions
diff --git a/libmdocml.h b/libmdocml.h
index 85843ce6..5d7e9727 100644
--- a/libmdocml.h
+++ b/libmdocml.h
@@ -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