Include top-level headers from cfg/ subdir.
[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.6  2005/04/11 19:10:28  bernie
19  *#* Include top-level headers from cfg/ subdir.
20  *#*
21  *#* Revision 1.5  2004/12/08 08:57:35  bernie
22  *#* Rename sigset_t to sigmask_t.
23  *#*
24  *#* Revision 1.4  2004/08/25 14:12:09  rasky
25  *#* Aggiornato il comment block dei log RCS
26  *#*
27  *#* Revision 1.3  2004/07/30 14:30:27  rasky
28  *#* Resa la sig_signal interrupt safe (con il nuovo scheduler IRQ-safe)
29  *#* Rimossa event_doIntr (ora inutile) e semplificata la logica delle macro con funzioni inline
30  *#*
31  *#* Revision 1.2  2004/06/03 11:27:09  bernie
32  *#* Add dual-license information.
33  *#*
34  *#* Revision 1.1  2004/05/23 17:27:00  bernie
35  *#* Import kern/ subdirectory.
36  *#*/
37
38 #ifndef KERN_SIGNAL_H
39 #define KERN_SIGNAL_H
40
41 #include <cfg/compiler.h>
42
43
44 /* Fwd decl */
45 struct Process;
46
47 /* Inter-process Communication services */
48 sigmask_t sig_check(sigmask_t sigs);
49 void sig_signal(struct Process *proc, sigmask_t sig);
50 sigmask_t sig_wait(sigmask_t sigs);
51
52
53 /*!
54  * \name Signal definitions
55  * \{
56  */
57 #define SIG_USER0    BV(0)  /*!< Free for user usage */
58 #define SIG_USER1    BV(1)  /*!< Free for user usage */
59 #define SIG_USER2    BV(2)  /*!< Free for user usage */
60 #define SIG_USER3    BV(3)  /*!< Free for user usage */
61 #define SIG_SYSTEM4  BV(4)  /*!< Reserved for system use */
62 #define SIG_SYSTEM5  BV(5)  /*!< Reserved for system use */
63 #define SIG_SYSTEM6  BV(6)  /*!< Reserved for system use */
64 #define SIG_SINGLE   BV(7)  /*!< Used to wait for a single event */
65 /*\}*/
66
67 #endif /* KERN_SIGNAL_H */