Add dual-license information.
[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.2  2004/06/03 11:27:09  bernie
19  * Add dual-license information.
20  *
21  * Revision 1.1  2004/05/23 17:27:00  bernie
22  * Import kern/ subdirectory.
23  */
24
25 #ifndef KERN_SIGNAL_H
26 #define KERN_SIGNAL_H
27
28 #include "compiler.h"
29
30
31 /* Fwd decl */
32 struct Process;
33
34 /* Inter-process Communication services */
35 sigset_t sig_check(sigset_t sigs);
36 void sig_signal(struct Process *proc, sigset_t sig);
37 void _sig_signal(struct Process *proc, sigset_t sig);
38 sigset_t sig_wait(sigset_t sigs);
39
40
41 /*!
42  * \name Signal definitions
43  *
44  * \{
45  */
46 #define SIG_USER0    BV(0)  /*!< Free for user usage */
47 #define SIG_USER1    BV(1)  /*!< Free for user usage */
48 #define SIG_USER2    BV(2)  /*!< Free for user usage */
49 #define SIG_USER3    BV(3)  /*!< Free for user usage */
50 #define SIG_SYSTEM4  BV(4)  /*!< Reserved for system use */
51 #define SIG_SYSTEM5  BV(5)  /*!< Reserved for system use */
52 #define SIG_SYSTEM6  BV(6)  /*!< Reserved for system use */
53 #define SIG_SINGLE   BV(7)  /*!< Used to wait for a single event */
54 /*\}*/
55
56 #endif /* KERN_SIGNAL_H */