xref: /minix3/minix/servers/vfs/threads.h (revision 728b0e5b34f86324dd11c688da77a8efa7de8c66)
1*433d6423SLionel Sambuc #ifndef __VFS_WORKERS_H__
2*433d6423SLionel Sambuc #define __VFS_WORKERS_H__
3*433d6423SLionel Sambuc #include <minix/mthread.h>
4*433d6423SLionel Sambuc 
5*433d6423SLionel Sambuc #define thread_t	mthread_thread_t
6*433d6423SLionel Sambuc #define mutex_t		mthread_mutex_t
7*433d6423SLionel Sambuc #define cond_t		mthread_cond_t
8*433d6423SLionel Sambuc #define attr_t		mthread_attr_t
9*433d6423SLionel Sambuc 
10*433d6423SLionel Sambuc #define mutex_init	mthread_mutex_init
11*433d6423SLionel Sambuc #define mutex_destroy	mthread_mutex_destroy
12*433d6423SLionel Sambuc #define mutex_lock	mthread_mutex_lock
13*433d6423SLionel Sambuc #define mutex_trylock	mthread_mutex_trylock
14*433d6423SLionel Sambuc #define mutex_unlock	mthread_mutex_unlock
15*433d6423SLionel Sambuc 
16*433d6423SLionel Sambuc #define cond_init	mthread_cond_init
17*433d6423SLionel Sambuc #define cond_destroy	mthread_cond_destroy
18*433d6423SLionel Sambuc #define cond_wait	mthread_cond_wait
19*433d6423SLionel Sambuc #define cond_signal	mthread_cond_signal
20*433d6423SLionel Sambuc 
21*433d6423SLionel Sambuc struct fproc;
22*433d6423SLionel Sambuc 
23*433d6423SLionel Sambuc struct worker_thread {
24*433d6423SLionel Sambuc   thread_t w_tid;
25*433d6423SLionel Sambuc   mutex_t w_event_mutex;
26*433d6423SLionel Sambuc   cond_t w_event;
27*433d6423SLionel Sambuc   struct fproc *w_fp;
28*433d6423SLionel Sambuc   message w_m_in;
29*433d6423SLionel Sambuc   message w_m_out;
30*433d6423SLionel Sambuc   int w_err_code;
31*433d6423SLionel Sambuc   message *w_sendrec;
32*433d6423SLionel Sambuc   message *w_drv_sendrec;
33*433d6423SLionel Sambuc   endpoint_t w_task;
34*433d6423SLionel Sambuc   struct dmap *w_dmap;
35*433d6423SLionel Sambuc   struct worker_thread *w_next;
36*433d6423SLionel Sambuc };
37*433d6423SLionel Sambuc 
38*433d6423SLionel Sambuc #endif
39