align stack properly for calling global ctors/dtors on x86[_64]
[musl] / include / ucontext.h
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 (*)(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