diff --git a/hermit/arch/x86/include/asm/tasks_types.h b/hermit/arch/x86/include/asm/tasks_types.h index 172f08a4a..54ac4532b 100644 --- a/hermit/arch/x86/include/asm/tasks_types.h +++ b/hermit/arch/x86/include/asm/tasks_types.h @@ -124,6 +124,13 @@ typedef struct { uint16_t unused5; } fenv_t; +typedef struct ucontext { + mregs_t uc_mregs; + fenv_t uc_fenv; + struct ucontext *uc_link; + stack_t uc_stack; +} ucontext_t; + typedef void (*handle_fpu_state)(union fpu_state* state); extern handle_fpu_state save_fpu_state; diff --git a/hermit/include/hermit/syscall.h b/hermit/include/hermit/syscall.h index 5d7da4c50..dc78bee97 100644 --- a/hermit/include/hermit/syscall.h +++ b/hermit/include/hermit/syscall.h @@ -93,12 +93,8 @@ void sys_yield(void); int sys_kill(tid_t dest, int signum); int sys_signal(signal_handler_t handler); -typedef struct ucontext { - mregs_t uc_mregs; - fenv_t uc_fenv; - struct ucontext *uc_link; - stack_t uc_stack; -} ucontext_t; +struct ucontext; +typedef struct ucontext ucontext_t; void makecontext(ucontext_t *ucp, void (*func)(), int argc, ...); int swapcontext(ucontext_t *oucp, const ucontext_t *ucp);