Complete rewrite of c3po for multicore
[akaros.git] / user / c3po / threads / ucontext.h
1 #ifndef UCONTEXT_H
2 #define UCONTEXT_H
3
4 #include <stdint.h>
5 #include <ros/arch/trapframe.h>
6 #include <threadlib_internal.h>
7 struct ucontext {
8         struct user_trapframe utf;
9     void *tls_desc;
10         thread_t *thread;
11 }; 
12
13 struct ucontext* create_context(thread_t *t, void *entry_pt, void *stack_top);
14 void save_context(struct ucontext *uc);
15 void restore_context(struct ucontext *uc);
16 void destroy_context(struct ucontext *uc);
17 void print_context(struct ucontext *uc);
18
19 #endif