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 struct wait_queue { 10 struct task_struct * task; 11 struct wait_queue * next; 12 }; 13 14 struct semaphore { 15 int count; 16 struct wait_queue * wait; 17 }; 18 19 #define MUTEX ((struct semaphore) { 1, NULL }) 20 #define MUTEX_LOCKED ((struct semaphore) { 0, NULL }) 21 22 struct select_table_entry { 23 struct wait_queue wait; 24 struct wait_queue ** wait_address; 25 }; 26 27 typedef struct select_table_struct { 28 int nr; 29 struct select_table_entry * entry; 30 } select_table; 31 32 #define __MAX_SELECT_TABLE_ENTRIES (4096 / sizeof (struct select_table_entry)) 33 34 #endif