-/* $Id: mmain.h,v 1.3 2009/02/23 12:45:19 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"
-#ifdef __linux__
-#define __dead /* Nothing */
+/* 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);
-#ifdef __linux__
-void mmain_exit(struct mmain *, int)
- __attribute__((__noreturn__));
-#else
-__dead void mmain_exit(struct mmain *, int);
-#endif
+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 *));