signal.h

Go to the documentation of this file.
00001 
00045 #ifndef KERN_SIGNAL_H
00046 #define KERN_SIGNAL_H
00047 
00048 #include <cfg/compiler.h>
00049 #include <cfg/macros.h>    // BV()
00050 
00051 /* Fwd decl */
00052 struct Process;
00053 
00054 /* Inter-process Communication services */
00055 sigmask_t sig_check(sigmask_t sigs);
00056 void sig_send(struct Process *proc, sigmask_t sig);
00057 void sig_post(struct Process *proc, sigmask_t sig);
00058 /*
00059  * XXX: this is provided for backword compatibility, consider to make this
00060  * deprecated for the future.
00061  */
00062 INLINE void sig_signal(struct Process *proc, sigmask_t sig)
00063 {
00064     sig_post(proc, sig);
00065 }
00066 sigmask_t sig_wait(sigmask_t sigs);
00067 sigmask_t sig_waitTimeout(sigmask_t sigs, ticks_t timeout);
00068 
00069 int signal_testRun(void);
00070 int signal_testSetup(void);
00071 int signal_testTearDown(void);
00072 
00077 #define SIG_USER0    BV(0)  
00078 #define SIG_USER1    BV(1)  
00079 #define SIG_USER2    BV(2)  
00080 #define SIG_USER3    BV(3)  
00081 #define SIG_TIMEOUT  BV(4)  
00082 #define SIG_SYSTEM5  BV(5)  
00083 #define SIG_SYSTEM6  BV(6)  
00084 #define SIG_SINGLE   BV(7)  
00085 /*\}*/
00086 
00087 #endif /* KERN_SIGNAL_H */