blob: 96c27cb7acf6b78ab8bad16b0229bc7d9ab68d43 [file] [log] [blame]
#ifndef _UCONTEXT_H
#define _UCONTEXT_H
#ifdef __cplusplus
extern "C" {
#endif
#include <signal.h>
struct __fpstate {
unsigned long __x[7];
unsigned char __y[80];
unsigned long __z;
};
typedef struct {
unsigned long __gregs[19];
void *__fpregs;
unsigned long __oldmask, __cr2;
} mcontext_t;
typedef struct ucontext {
unsigned long uc_flags;
struct ucontext *uc_link;
stack_t uc_stack;
mcontext_t uc_mcontext;
sigset_t uc_sigmask;
struct __fpstate __fpregs_mem;
} ucontext_t;
int getcontext(ucontext_t *);
void makecontext(ucontext_t *, void (*)(void), int, ...);
int setcontext(const ucontext_t *);
int swapcontext(ucontext_t *, const ucontext_t *);
#ifdef __cplusplus
}
#endif
#endif