summaryrefslogtreecommitdiff
path: root/src/signals.h
blob: 33f9dab7ff8a9594e969f7f4ccc07f6f00a9d9e3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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 */