=================================================================== RCS file: /cvs/mandoc/Attic/mmain.h,v retrieving revision 1.1 retrieving revision 1.5 diff -u -p -r1.1 -r1.5 --- mandoc/Attic/mmain.h 2009/02/22 22:58:39 1.1 +++ mandoc/Attic/mmain.h 2009/03/15 07:08:53 1.5 @@ -1,4 +1,4 @@ -/* $Id: mmain.h,v 1.1 2009/02/22 22:58:39 kristaps Exp $ */ +/* $Id: mmain.h,v 1.5 2009/03/15 07:08:53 kristaps Exp $ */ /* * Copyright (c) 2008 Kristaps Dzonsons * @@ -22,23 +22,39 @@ /* * This is a convenience library for utilities implementing mdoc(3) * accepting a similar set of command-line patterns. mmain handles - * error reporting (to the terminal), preparing and reading the input - * file, and enacting the parse itself. + * error reporting (to the terminal), command-line parsing, preparing + * and reading the input file, and enacting the parse itself. */ #include "mdoc.h" +/* Rules for "dead" functions: */ +#if defined(__NetBSD__) +#define dead_pre __dead +#define dead_post __attribute__((__noreturn__)) +#elif defined(__OpenBSD__) +#define dead_pre __dead +#define dead_post /* Nothing. */ +#else +#define dead_pre /* Nothing. */ +#define dead_post __attribute__((__noreturn__)) +#endif + __BEGIN_DECLS struct mmain; struct mmain *mmain_alloc(void); -__dead void mmain_exit(struct mmain *, int); -int mmain_getopt(struct mmain *, int, - char *[], const char *); -int mmain_isopt(int); -struct mdoc *mmain_mdoc(struct mmain *); -void mmain_usage(const char *); +dead_pre void mmain_exit(struct mmain *, int) dead_post; +int mmain_getopt(struct mmain *, int, char *[], + const char *, const char *, + const char *, void *, + int (*)(void *, int, char *)); +struct mdoc *mmain_mdoc(struct mmain *, const char *); +void mmain_reset(struct mmain *); +void mmain_free(struct mmain *); +void mmain_prepare(struct mmain *, const char *); +struct mdoc *mmain_process(struct mmain *); __END_DECLS