=================================================================== RCS file: /cvs/mandoc/Attic/libmdocml.h,v retrieving revision 1.2 retrieving revision 1.14 diff -u -p -r1.2 -r1.14 --- mandoc/Attic/libmdocml.h 2008/11/22 18:34:06 1.2 +++ mandoc/Attic/libmdocml.h 2008/12/10 14:42:46 1.14 @@ -1,4 +1,4 @@ -/* $Id: libmdocml.h,v 1.2 2008/11/22 18:34:06 kristaps Exp $ */ +/* $Id: libmdocml.h,v 1.14 2008/12/10 14:42:46 kristaps Exp $ */ /* * Copyright (c) 2008 Kristaps Dzonsons * @@ -21,29 +21,46 @@ #include -struct md_rbuf { - int fd; - const char *name; - char *buf; - size_t bufsz; - size_t line; +struct md_params_html { + char *css; + int flags; +#define HTML_CSS_EMBED (1 << 0) }; -struct md_mbuf { - int fd; - const char *name; - char *buf; - size_t bufsz; - size_t pos; +union md_params { + struct md_params_html html; }; enum md_type { - MD_DUMMY + MD_XML, /* XML. */ + MD_HTML, /* HTML4.01-strict. */ + MD_NOOP /* Validates only. */ }; +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) +#define MD_WARN_ERROR (1 << 1) + 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