Rev 2131 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2131 | Rev 2307 | ||
---|---|---|---|
Line 37... | Line 37... | ||
37 | 37 | ||
38 | #include <kernel/proc/uarg.h> |
38 | #include <kernel/proc/uarg.h> |
39 | #include <libarch/thread.h> |
39 | #include <libarch/thread.h> |
40 | #include <types.h> |
40 | #include <types.h> |
41 | 41 | ||
- | 42 | typedef uint64_t thread_id_t; |
|
- | 43 | ||
42 | extern void __thread_entry(void); |
44 | extern void __thread_entry(void); |
43 | extern void __thread_main(uspace_arg_t *uarg); |
45 | extern void __thread_main(uspace_arg_t *uarg); |
44 | 46 | ||
45 | extern int thread_create(void (* function)(void *arg), void *arg, char *name); |
47 | extern int thread_create(void (* function)(void *), void *arg, char *name, thread_id_t *tid); |
46 | extern void thread_exit(int status); |
48 | extern void thread_exit(int status); |
- | 49 | extern void thread_detach(thread_id_t thread); |
|
- | 50 | extern int thread_join(thread_id_t thread); |
|
- | 51 | extern thread_id_t thread_get_id(void); |
|
47 | extern tcb_t * __make_tls(void); |
52 | extern tcb_t * __make_tls(void); |
48 | extern tcb_t * __alloc_tls(void **data, size_t size); |
53 | extern tcb_t * __alloc_tls(void **data, size_t size); |
49 | extern void __free_tls(tcb_t *); |
54 | extern void __free_tls(tcb_t *); |
50 | extern void __free_tls_arch(tcb_t *, size_t size); |
55 | extern void __free_tls_arch(tcb_t *, size_t size); |
51 | 56 |