1 #ifndef _UCONTEXT_H 2 #define _UCONTEXT_H 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 (*)(), int, ...); 19 int setcontext(const struct __ucontext *); 20 int swapcontext(struct __ucontext *, const struct __ucontext *); 21 22 #ifdef __cplusplus 23 } 24 #endif 25 #endif 26