//uspace/trunk/libc/include/thread.h |
---|
38,9 → 38,9 |
extern int thread_create(void (* function)(void *arg), void *arg, char *name); |
extern void thread_exit(int status); |
tcb_t * __make_tls(void); |
tcb_t * __alloc_tls(void **data, size_t size); |
void __free_tls(tcb_t *); |
void __free_tls_arch(tcb_t *, size_t size); |
extern tcb_t * __make_tls(void); |
extern tcb_t * __alloc_tls(void **data, size_t size); |
extern void __free_tls(tcb_t *); |
extern void __free_tls_arch(tcb_t *, size_t size); |
#endif |
//uspace/trunk/libc/include/psthread.h |
---|
74,6 → 74,7 |
void psthread_add_ready(pstid_t ptid); |
void psthread_add_manager(pstid_t psthrid); |
void psthread_remove_manager(void); |
pstid_t psthread_get_id(void); |
static inline int psthread_schedule_next() { |
return psthread_schedule_next_adv(PS_PREEMPT); |
//uspace/trunk/libc/include/async.h |
---|
4,6 → 4,8 |
#include <ipc/ipc.h> |
#include <psthread.h> |
typedef ipc_callid_t aid_t; |
int async_manager(void); |
void async_create_manager(void); |
void async_destroy_manager(void); |
10,9 → 12,14 |
int _async_init(void); |
ipc_callid_t async_get_call(ipc_call_t *data); |
/* Should be defined by application */ |
pstid_t async_new_connection(ipc_callid_t callid, ipc_call_t *call, |
void (*cthread)(ipc_callid_t,ipc_call_t *)); |
aid_t async_send_2(int phoneid, ipcarg_t method, ipcarg_t arg1, ipcarg_t arg2, |
ipc_call_t *dataptr); |
void async_wait_for(aid_t amsgid, ipcarg_t *result); |
/* Should be defined by application */ |
void client_connection(ipc_callid_t callid, ipc_call_t *call) __attribute__((weak)); |
#endif |