=================================================================== RCS file: /cvs/mandoc/Attic/libmdocml.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -p -r1.2 -r1.3 --- mandoc/Attic/libmdocml.h 2008/11/22 18:34:06 1.2 +++ mandoc/Attic/libmdocml.h 2008/11/22 20:15:34 1.3 @@ -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 * @@ -21,29 +21,43 @@ #include -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