-/* $Id: mmain.h,v 1.2 2009/02/23 07:09:13 kristaps Exp $ */
+/* $Id: mmain.h,v 1.4 2009/02/23 15:34:53 kristaps Exp $ */
/*
* Copyright (c) 2008 Kristaps Dzonsons <kristaps@kth.se>
*
#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);
+dead_pre void mmain_exit(struct mmain *, int) dead_post;
int mmain_getopt(struct mmain *, int, char *[],
const char *, const char *, void *,
int (*)(void *, int, const char *));