1#pragma once
2
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