mod private
{
const SIGNALS : &[ ( i32, &str ) ] =
&[
( 1, "SIGHUP" ),
( 2, "SIGINT" ),
( 3, "SIGQUIT" ),
( 4, "SIGILL" ),
( 5, "SIGTRAP" ),
( 6, "SIGABRT" ),
( 7, "SIGBUS" ),
( 8, "SIGFPE" ),
( 9, "SIGKILL" ),
( 10, "SIGUSR1" ),
( 11, "SIGSEGV" ),
( 12, "SIGUSR2" ),
( 13, "SIGPIPE" ),
( 14, "SIGALRM" ),
( 15, "SIGTERM" ),
( 16, "SIGSTKFLT" ),
( 17, "SIGCHLD" ),
( 18, "SIGCONT" ),
( 19, "SIGSTOP" ),
( 20, "SIGTSTP" ),
( 21, "SIGTTIN" ),
( 22, "SIGTTOU" ),
( 23, "SIGURG" ),
( 24, "SIGXCPU" ),
( 25, "SIGXFSZ" ),
];
#[ must_use ]
pub fn signal_name( signal : i32 ) -> &'static str
{
SIGNALS
.iter()
.find( | &&( n, _ ) | n == signal )
.map_or( "UNKNOWN", | &( _, name ) | name )
}
#[ must_use ]
pub fn signal_number( name : &str ) -> Option< i32 >
{
SIGNALS
.iter()
.find( | &&( _, n ) | n == name )
.map( | &( num, _ ) | num )
}
#[ must_use ]
pub fn all_signals() -> &'static [ ( i32, &'static str ) ]
{
SIGNALS
}
}
crate ::mod_interface!
{
own use signal_name;
own use signal_number;
own use all_signals;
}