1#ifndef _UCONTEXT_H 2#define _UCONTEXT_H 3#ifdef __cplusplus 4extern "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 15struct __ucontext; 16 17int getcontext(struct __ucontext *); 18void makecontext(struct __ucontext *, void (*)(void), int, ...); 19int setcontext(const struct __ucontext *); 20int swapcontext(struct __ucontext *, const struct __ucontext *); 21 22#ifdef __cplusplus 23} 24#endif 25#endif 26