=================================================================== RCS file: /cvs/mandoc/Attic/libmdocml.h,v retrieving revision 1.2 retrieving revision 1.11 diff -u -p -r1.2 -r1.11 --- mandoc/Attic/libmdocml.h 2008/11/22 18:34:06 1.2 +++ mandoc/Attic/libmdocml.h 2008/12/03 14:39:59 1.11 @@ -1,4 +1,4 @@ -/* $Id: libmdocml.h,v 1.2 2008/11/22 18:34:06 kristaps Exp $ */ +/* $Id: libmdocml.h,v 1.11 2008/12/03 14:39:59 kristaps Exp $ */ /* * Copyright (c) 2008 Kristaps Dzonsons * @@ -21,29 +21,47 @@ #include -struct md_rbuf { - int fd; - const char *name; - char *buf; - size_t bufsz; - size_t line; +struct md_params_xml { + int dummy; }; -struct md_mbuf { - int fd; - const char *name; - char *buf; - size_t bufsz; - size_t pos; +struct md_params_html { + int dummy; }; +union md_params { + struct md_params_xml xml; + struct md_params_html html; +}; + enum md_type { - MD_DUMMY + MD_XML, /* XML. */ + MD_HTML /* HTML4.01-strict. */ }; +struct md_args { + union md_params params;/* Parameters for parser. */ + enum md_type type; /* Type of parser. */ + + int warnings; +#define MD_WARN_ALL (1 << 0) + int verbosity; +}; + +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