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