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