diff options
Diffstat (limited to 'libmdocml.h')
-rw-r--r-- | libmdocml.h | 42 |
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 |