Adding STL stuff and operator news of snapshot to model-checker. Need to actuallly...
[c11tester.git] / libthreads.h
index 8522871771aeb7f7569e3df819581b449f2e75d9..a899881c3ee5185c94d3ad115ed90329e777699e 100644 (file)
@@ -1,20 +1,23 @@
-#include <stdio.h>
+#ifndef __LIBTHREADS_H__
+#define __LIBTHREADS_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
 
-struct thread {
-       void (*start_routine);
-       void *arg;
-       ucontext_t context;
-       void *stack;
-       int index;
-};
+       typedef void (*thrd_start_t)();
 
-int thread_create(struct thread *t, void (*start_routine), void *arg);
-void thread_start(struct thread *t);
+       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);
+
+       void user_main(void);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* __LIBTHREADS_H__ */