fix some obscure header type size/alignment issues
[musl] / include / ucontext.h
index 87c89ca..3bb776e 100644 (file)
@@ -4,17 +4,19 @@
 extern "C" {
 #endif
 
+#include <features.h>
+
 #include <signal.h>
 
-#ifdef _GNU_SOURCE
-#define ucontext __ucontext
+#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
+#define NGREG (sizeof(gregset_t)/sizeof(greg_t))
 #endif
 
 struct __ucontext;
 
 int  getcontext(struct __ucontext *);
 void makecontext(struct __ucontext *, void (*)(void), int, ...);
-int  setcontext(const ucontext_t *);
+int  setcontext(const struct __ucontext *);
 int  swapcontext(struct __ucontext *, const struct __ucontext *);
 
 #ifdef __cplusplus