Rename sigset_t to sigmask_t.
[bertos.git] / kern / signal.h
1 /*!
2  * \file
3  * <!--
4  * Copyright 2004 Develer S.r.l. (http://www.develer.com/)
5  * Copyright 1999,2000,2001 Bernardo Innocenti <bernie@develer.com>
6  * This file is part of DevLib - See devlib/README for information.
7  * -->
8  *
9  * \brief Signal module (public interface).
10  *
11  * \version $Id$
12  *
13  * \author Bernardo Innocenti <bernie@develer.com>
14  */
15
16 /*#*
17  *#* $Log$
18  *#* Revision 1.5  2004/12/08 08:57:35  bernie
19  *#* Rename sigset_t to sigmask_t.
20  *#*
21  *#* Revision 1.4  2004/08/25 14:12:09  rasky
22  *#* Aggiornato il comment block dei log RCS
23  *#*
24  *#* Revision 1.3  2004/07/30 14:30:27  rasky
25  *#* Resa la sig_signal interrupt safe (con il nuovo scheduler IRQ-safe)
26  *#* Rimossa event_doIntr (ora inutile) e semplificata la logica delle macro con funzioni inline
27  *#*
28  *#* Revision 1.2  2004/06/03 11:27:09  bernie
29  *#* Add dual-license information.
30  *#*
31  *#* Revision 1.1  2004/05/23 17:27:00  bernie
32  *#* Import kern/ subdirectory.
33  *#*/
34
35 #ifndef KERN_SIGNAL_H
36 #define KERN_SIGNAL_H
37
38 #include "compiler.h"
39
40
41 /* Fwd decl */
42 struct Process;
43
44 /* Inter-process Communication services */
45 sigmask_t sig_check(sigmask_t sigs);
46 void sig_signal(struct Process *proc, sigmask_t sig);
47 sigmask_t sig_wait(sigmask_t sigs);
48
49
50 /*!
51  * \name Signal definitions
52  * \{
53  */
54 #define SIG_USER0    BV(0)  /*!< Free for user usage */
55 #define SIG_USER1    BV(1)  /*!< Free for user usage */
56 #define SIG_USER2    BV(2)  /*!< Free for user usage */
57 #define SIG_USER3    BV(3)  /*!< Free for user usage */
58 #define SIG_SYSTEM4  BV(4)  /*!< Reserved for system use */
59 #define SIG_SYSTEM5  BV(5)  /*!< Reserved for system use */
60 #define SIG_SYSTEM6  BV(6)  /*!< Reserved for system use */
61 #define SIG_SINGLE   BV(7)  /*!< Used to wait for a single event */
62 /*\}*/
63
64 #endif /* KERN_SIGNAL_H */