this is necessary to avoid build errors if feature test macros are not
properly defined when including ucontext.h
int getcontext(struct __ucontext *);
void makecontext(struct __ucontext *, void (*)(void), int, ...);
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
int swapcontext(struct __ucontext *, const struct __ucontext *);
#ifdef __cplusplus