1 #ifndef _LINUX_WAIT_H
2 #define _LINUX_WAIT_H
3
4 #define WNOHANG 0x00000001
5 #define WUNTRACED 0x00000002
6
7 #define __WCLONE 0x80000000
8
9 #ifdef __KERNEL__
10
11 struct wait_queue {
12 struct task_struct * task;
13 struct wait_queue * next;
14 };
15
16 struct semaphore {
17 int count;
18 struct wait_queue * wait;
19 };
20
21 #define MUTEX ((struct semaphore) { 1, NULL })
22 #define MUTEX_LOCKED ((struct semaphore) { 0, NULL })
23
24 struct select_table_entry {
25 struct wait_queue wait;
26 struct wait_queue ** wait_address;
27 };
28
29 typedef struct select_table_struct {
30 int nr;
31 struct select_table_entry * entry;
32 } select_table;
33
34 #define __MAX_SELECT_TABLE_ENTRIES (4096 / sizeof (struct select_table_entry))
35
36 #endif
37
38 #endif