1 #pragma once
2 
3 #ifdef __cplusplus
4 extern "C" {
5 #endif
6 
7 #include <features.h>
8 
9 #include <signal.h>
10 
11 #if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
12 #define NGREG (sizeof(gregset_t) / sizeof(greg_t))
13 #endif
14 
15 struct __ucontext;
16 
17 int getcontext(struct __ucontext*);
18 void makecontext(struct __ucontext*, void (*)(void), int, ...);
19 int setcontext(const struct __ucontext*);
20 int swapcontext(struct __ucontext*, const struct __ucontext*);
21 
22 #ifdef __cplusplus
23 }
24 #endif
25