2005-10-06 17:30:50 +10:00
/** \file signal.h
The library for various signal related issues
*/
2006-10-30 07:09:11 +10:00
# ifndef FISH_SIGNALH
# define FISH_SIGNALH
2005-10-06 17:30:50 +10:00
2012-08-15 00:57:56 -07:00
# include <signal.h>
2005-10-06 17:30:50 +10:00
/**
Get the integer signal value representing the specified signal , or
- 1 of no signal was found
*/
2012-11-18 16:30:30 -08:00
int wcs2sig ( const wchar_t * str ) ;
2005-10-06 17:30:50 +10:00
/**
Get string representation of a signal
*/
2012-11-18 16:30:30 -08:00
const wchar_t * sig2wcs ( int sig ) ;
2005-10-06 17:30:50 +10:00
/**
Returns a description of the specified signal .
*/
2012-11-18 16:30:30 -08:00
const wchar_t * signal_get_desc ( int sig ) ;
2005-10-06 17:30:50 +10:00
2005-10-06 21:54:16 +10:00
/**
Set all signal handlers to SIG_DFL
*/
void signal_reset_handlers ( ) ;
/**
Set signal handlers to fish default handlers
*/
2005-10-06 17:30:50 +10:00
void signal_set_handlers ( ) ;
2005-10-06 21:54:16 +10:00
/**
2005-10-14 21:40:33 +10:00
Tell fish what to do on the specified signal .
\ param sig The signal to specify the action of
\ param do_handle If true fish will catch the specified signal and fire an event , otherwise the default action ( SIG_DFL ) will be set
2005-10-06 21:54:16 +10:00
*/
2012-11-18 16:30:30 -08:00
void signal_handle ( int sig , int do_handle ) ;
2005-10-14 21:40:33 +10:00
2006-01-24 06:40:14 +10:00
/**
2005-10-14 21:40:33 +10:00
Block all signals
*/
void signal_block ( ) ;
/**
Unblock all signals
*/
void signal_unblock ( ) ;
2006-10-30 07:09:11 +10:00
/**
Returns true if signals are being blocked
*/
2012-12-04 16:00:35 -08:00
bool signal_is_blocked ( ) ;
2006-10-30 07:09:11 +10:00
2012-08-15 00:57:56 -07:00
/**
Returns signals with non - default handlers
*/
void get_signals_with_handlers ( sigset_t * set ) ;
2006-10-30 07:09:11 +10:00
# endif