X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=libthreads.h;h=8033a12dc053fe02a223b158934722331da96e8d;hb=ee0f520bb244e2aa820e6b5a7e24c43c396b0905;hp=c0eb7d75c658e2e5d3de1842cefa75b67ec0b383;hpb=b37435df867398e452d2c42d6a557d6ec140e2a1;p=model-checker.git diff --git a/libthreads.h b/libthreads.h index c0eb7d7..8033a12 100644 --- a/libthreads.h +++ b/libthreads.h @@ -1,22 +1,27 @@ +/** @file libthreads.h + * @brief Basic Thread Library Functionality. + */ + #ifndef __LIBTHREADS_H__ #define __LIBTHREADS_H__ -#include +#ifdef __cplusplus +extern "C" { +#endif + + typedef void (*thrd_start_t)(void *); + + typedef int thrd_t; -struct thread { - void (*start_routine); - void *arg; - ucontext_t context; - void *stack; - int index; - int completed; -}; + int thrd_create(thrd_t *t, thrd_start_t start_routine, void *arg); + int thrd_join(thrd_t); + int thrd_yield(void); + thrd_t thrd_current(void); -int thread_create(struct thread *t, void (*start_routine), void *arg); -void thread_join(struct thread *t); -int thread_yield(void); -struct thread *thread_current(void); + int user_main(int, char**); -extern void user_main(void); +#ifdef __cplusplus +} +#endif #endif /* __LIBTHREADS_H__ */