summaryrefslogtreecommitdiff
path: root/src/signals.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/signals.h')
-rw-r--r--src/signals.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/src/signals.h b/src/signals.h
new file mode 100644
index 0000000..33f9dab
--- /dev/null
+++ b/src/signals.h
@@ -0,0 +1,46 @@
+#ifndef __SIGNALS_H
+#define __SIGNALS_H
+
+#include "errors.h"
+
+#include <stdarg.h> /* for variable arguments */
+#include <signal.h> /* for signal constants,
+ sigaction, kill, etc. */
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+const char *signal_get_short_name( int sig );
+
+const char *signal_get_long_name( int sig );
+
+error_t signal_install_ignore( int sig, ... );
+
+error_t signal_install_empty( int sig, ... );
+
+typedef void (*signal_func_t)( int );
+
+error_t signal_install_func( signal_func_t func, int sig, ... );
+
+error_t signal_install_fatal( int sig, ... );
+
+error_t signal_install_notify( int sig, ... );
+
+error_t signal_install_notify_parent( int sig, ... );
+
+error_t signal_initialize( void );
+
+int signal_suspend( int timeout, error_t *error );
+
+void signal_terminate( void );
+
+error_t signal_install_handlers_parent( void );
+
+error_t signal_install_handlers_daemon( void );
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* ifndef __SIGNALS_H */