projects
/
c11tester.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
clockvector: add print() method
[c11tester.git]
/
libthreads.h
diff --git
a/libthreads.h
b/libthreads.h
index 3324fccfdf0b902866748ec964ca15ebc4071783..f6de95bb9fa4f3614f07658b2abe05f8217ec6fa 100644
(file)
--- a/
libthreads.h
+++ b/
libthreads.h
@@
-1,27
+1,23
@@
#ifndef __LIBTHREADS_H__
#define __LIBTHREADS_H__
#ifndef __LIBTHREADS_H__
#define __LIBTHREADS_H__
-#include <stdio.h>
-#include <ucontext.h>
-
-#ifdef CONFIG_DEBUG
-#define DBG() do { printf("Here: %s, L%d\n", __func__, __LINE__); } while (0)
-#define DEBUG(fmt, ...) printf(fmt, ##__VA_ARGS__)
-#else
-#define DBG()
-#define DEBUG(fmt, ...)
+#ifdef __cplusplus
+extern "C" {
#endif
#endif
-struct thread {
- void (*start_routine);
-
void *arg
;
- ucontext_t context;
-
void *stack
;
- int
index
;
- int
completed
;
-
}
;
+ typedef void (*thrd_start_t)(void *);
+
+
typedef int thrd_t
;
+
+
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);
+ void user_main(void);
+
+#ifdef __cplusplus
+}
+#endif
#endif /* __LIBTHREADS_H__ */
#endif /* __LIBTHREADS_H__ */