MicrOS
signal.h
Go to the documentation of this file.
1 #ifndef SIGNAL_H
2 #define SIGNAL_H
3 
4 #include <stdint.h>
5 #include "stdio.h"
6 #include "micros.h"
7 
9 #define SIGABRT 0
10 
12 #define SIGFPE 1
13 
15 #define SIGILL 2
16 
18 #define SIGINT 3
19 
21 #define SIGSEGV 4
22 
24 #define SIGTERM 5
25 
27 #define SIG_IGN 0
28 
30 #define SIG_DFL 1
31 
33 #define SIG_ERR 2
34 
36 
37 typedef int32_t sig_atomic_t;
38 
40 typedef void (*signal_func)(int);
41 
44 
45 #ifdef __cplusplus
46 extern "C" {
47 #endif
48 
50 
56 void (*signal(int sig, signal_func func))(int);
57 
59 
64 int raise(int sig);
65 
67 
73 int raise_with_param(int sig, int param);
74 
76 
80 void default_sigabrt_handler(int param);
81 
83 
87 void default_sigfpe_handler(int param);
88 
90 
94 void default_sigill_handler(int param);
95 
97 
101 void default_sigint_handler(int param);
102 
104 
108 void default_sigsegv_handler(int param);
109 
111 
115 void default_sigterm_handler(int param);
116 
118 
121 void __signal_init();
122 
124 
128 
129 #ifdef __cplusplus
130 }
131 #endif
132 
133 #endif
void default_sigill_handler(int param)
Default signal handle for SIGILL.
Definition: default_sigill_handler.c:3
void default_sigabrt_handler(int param)
Default signal handle for SIGABRT.
Definition: default_sigabrt_handler.c:3
void(*)(int) signal(int sig, signal_func func)
Set function to handle signal.
Definition: signal.h:56
int raise_with_param(int sig, int param)
Generates a signal with the specified parameter.
Definition: raise_with_param.c:3
void default_sigterm_handler(int param)
Default signal handle for SIGTERM.
Definition: default_sigterm_handler.c:3
void __signal_init()
Initialize default signal handlers.
Definition: __signal_init.c:3
signal_func __signal_get_defualt_handler(int sig)
Get default handler for the specified signal.
Definition: __signal_get_defualt_handler.c:3
signal_func signal_handlers[6]
Array containing all signal handlers.
Definition: signal.c:3
void default_sigint_handler(int param)
Default signal handle for SIGINT.
Definition: default_sigint_handler.c:3
int32_t sig_atomic_t
Integral type.
Definition: signal.h:37
void(* signal_func)(int)
Signal function signature.
Definition: signal.h:40
void default_sigsegv_handler(int param)
Default signal handle for SIGSEGV.
Definition: default_sigsegv_handler.c:3
void default_sigfpe_handler(int param)
Default signal handle for SIGFPE.
Definition: default_sigfpe_handler.c:3