* the GNU General Public License.
*
* Copyright 2004 Develer S.r.l. (http://www.develer.com/)
- * Copyright 1999,2000,2001 Bernardo Innocenti <bernie@develer.com>
+ * Copyright 1999,2000,2001 Bernie Innocenti <bernie@codewiz.org>
*
* -->
*
- * \brief Signal module (public interface).
+ * \brief Signal module for IPC.
*
* \version $Id$
*
- * \author Bernardo Innocenti <bernie@develer.com>
+ * \author Bernie Innocenti <bernie@codewiz.org>
+ *
+ * $WIZ$ module_name = "signal"
+ * $WIZ$ module_depends = "kernel", "timer"
+ * $WIZ$ module_configuration = "bertos/cfg/cfg_signal.h"
*/
-
#ifndef KERN_SIGNAL_H
#define KERN_SIGNAL_H
#include <cfg/compiler.h>
-
+#include <cfg/macros.h> // BV()
/* Fwd decl */
struct Process;
/* Inter-process Communication services */
sigmask_t sig_check(sigmask_t sigs);
-void sig_signal(struct Process *proc, sigmask_t sig);
+void sig_send(struct Process *proc, sigmask_t sig);
+void sig_post(struct Process *proc, sigmask_t sig);
+/*
+ * XXX: this is provided for backword compatibility, consider to make this
+ * deprecated for the future.
+ */
+INLINE void sig_signal(struct Process *proc, sigmask_t sig)
+{
+ sig_post(proc, sig);
+}
sigmask_t sig_wait(sigmask_t sigs);
sigmask_t sig_waitTimeout(sigmask_t sigs, ticks_t timeout);
+int signal_testRun(void);
+int signal_testSetup(void);
+int signal_testTearDown(void);
/**
* \name Signal definitions