Kernel - Added (possibly buggy) support for WaitTID(TID>0)
[tpg/acess2.git] / KernelLand / Kernel / include / events.h
1 /*
2  * Acess2 Kernel
3  * - By John Hodge (thePowersGang)
4  *
5  * events.h
6  * - Thread Events
7  */
8 #ifndef _EVENTS_H_
9 #define _EVENTS_H_
10
11 #include <threads.h>
12
13 /**
14  * \name Event Values
15  * \{
16  */
17 //! Fired when a VFS wait is ready [used in select(2)]
18 #define THREAD_EVENT_VFS        0x00000001
19 //! Fired when an IPC Message arrives
20 #define THREAD_EVENT_IPCMSG     0x00000002
21 //! Fired when a signal (e.g. SIGINT) is asserted
22 #define THREAD_EVENT_SIGNAL     0x00000004
23 //! Timer event fire
24 #define THREAD_EVENT_TIMER      0x00000008
25 //! General purpose event for short waits
26 //! e.g. waiting for an IRQ in a Read() call
27 #define THREAD_EVENT_SHORTWAIT  0x00000010
28 //! Fired when a child process quits
29 #define THREAD_EVENT_DEADCHILD  0x00000020
30
31 #define THREAD_EVENT_USER1      0x10000000
32 #define THREAD_EVENT_USER2      0x20000000
33 #define THREAD_EVENT_USER3      0x40000000
34 #define THREAD_EVENT_USER4      0x80000000
35 /**
36  * \}
37  */
38
39 // === FUNCTIONS ===
40 extern void     Threads_PostEvent(tThread *Thread, Uint32 EventMask);
41 extern void     Threads_ClearEvent(Uint32 EventMask);
42 extern Uint32   Threads_WaitEvents(Uint32 EventMask);
43
44 #endif
45

UCC git Repository :: git.ucc.asn.au