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