diff options
Diffstat (limited to 'src/signals.h')
-rw-r--r-- | src/signals.h | 46 |
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 */ |