1#![no_std]
11#![deny(warnings, missing_docs)]
12
13#[repr(C)]
14#[derive(Debug, Clone, Copy, Default)]
15pub struct SignalAction {
17 pub handler: usize,
19 pub mask: usize,
21}
22
23pub const MAX_SIG: usize = 31;
25
26numeric_enum_macro::numeric_enum! {
29 #[repr(u8)]
30 #[allow(missing_docs)]
31 #[derive(Eq, PartialEq, Debug, Copy, Clone)]
32 pub enum SignalNo {
37 ERR = 0,
38 SIGHUP = 1,
39 SIGINT = 2,
40 SIGQUIT = 3,
41 SIGILL = 4,
42 SIGTRAP = 5,
43 SIGABRT = 6,
44 SIGBUS = 7,
45 SIGFPE = 8,
46 SIGKILL = 9,
47 SIGUSR1 = 10,
48 SIGSEGV = 11,
49 SIGUSR2 = 12,
50 SIGPIPE = 13,
51 SIGALRM = 14,
52 SIGTERM = 15,
53 SIGSTKFLT = 16,
54 SIGCHLD = 17,
55 SIGCONT = 18,
56 SIGSTOP = 19,
57 SIGTSTP = 20,
58 SIGTTIN = 21,
59 SIGTTOU = 22,
60 SIGURG = 23,
61 SIGXCPU = 24,
62 SIGXFSZ = 25,
63 SIGVTALRM = 26,
64 SIGPROF = 27,
65 SIGWINCH = 28,
66 SIGIO = 29,
67 SIGPWR = 30,
68 SIGSYS = 31,
69 SIGRTMIN = 32,
70 SIGRT1 = 33,
71 SIGRT2 = 34,
72 SIGRT3 = 35,
73 SIGRT4 = 36,
74 SIGRT5 = 37,
75 SIGRT6 = 38,
76 SIGRT7 = 39,
77 SIGRT8 = 40,
78 SIGRT9 = 41,
79 SIGRT10 = 42,
80 SIGRT11 = 43,
81 SIGRT12 = 44,
82 SIGRT13 = 45,
83 SIGRT14 = 46,
84 SIGRT15 = 47,
85 SIGRT16 = 48,
86 SIGRT17 = 49,
87 SIGRT18 = 50,
88 SIGRT19 = 51,
89 SIGRT20 = 52,
90 SIGRT21 = 53,
91 SIGRT22 = 54,
92 SIGRT23 = 55,
93 SIGRT24 = 56,
94 SIGRT25 = 57,
95 SIGRT26 = 58,
96 SIGRT27 = 59,
97 SIGRT28 = 60,
98 SIGRT29 = 61,
99 SIGRT30 = 62,
100 SIGRT31 = 63,
101 }
102}
103
104impl From<usize> for SignalNo {
105 fn from(num: usize) -> Self {
106 Self::try_from(num as u8).unwrap_or(Self::ERR)
107 }
108}