2005-10-06 07:30:50 +00:00
|
|
|
/** \file signal.h
|
|
|
|
|
|
|
|
The library for various signal related issues
|
|
|
|
|
|
|
|
*/
|
2006-10-29 21:09:11 +00:00
|
|
|
#ifndef FISH_SIGNALH
|
|
|
|
#define FISH_SIGNALH
|
2005-10-06 07:30:50 +00:00
|
|
|
|
2012-08-15 07:57:56 +00:00
|
|
|
#include <signal.h>
|
|
|
|
|
2005-10-06 07:30:50 +00:00
|
|
|
/**
|
|
|
|
Get the integer signal value representing the specified signal, or
|
|
|
|
-1 of no signal was found
|
|
|
|
*/
|
|
|
|
int wcs2sig( const wchar_t *str );
|
|
|
|
|
|
|
|
/**
|
|
|
|
Get string representation of a signal
|
|
|
|
*/
|
|
|
|
const wchar_t *sig2wcs( int sig );
|
|
|
|
|
|
|
|
/**
|
|
|
|
Returns a description of the specified signal.
|
|
|
|
*/
|
2006-02-01 15:49:11 +00:00
|
|
|
const wchar_t *signal_get_desc( int sig );
|
2005-10-06 07:30:50 +00:00
|
|
|
|
2005-10-06 11:54:16 +00:00
|
|
|
/**
|
|
|
|
Set all signal handlers to SIG_DFL
|
|
|
|
*/
|
|
|
|
void signal_reset_handlers();
|
|
|
|
|
|
|
|
/**
|
|
|
|
Set signal handlers to fish default handlers
|
|
|
|
*/
|
2005-10-06 07:30:50 +00:00
|
|
|
void signal_set_handlers();
|
2005-10-06 11:54:16 +00:00
|
|
|
|
|
|
|
/**
|
2005-10-14 11:40:33 +00: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 11:54:16 +00:00
|
|
|
*/
|
|
|
|
void signal_handle( int sig, int do_handle );
|
2005-10-14 11:40:33 +00:00
|
|
|
|
2006-01-23 20:40:14 +00:00
|
|
|
/**
|
2005-10-14 11:40:33 +00:00
|
|
|
Block all signals
|
|
|
|
*/
|
|
|
|
void signal_block();
|
|
|
|
|
|
|
|
/**
|
|
|
|
Unblock all signals
|
|
|
|
*/
|
|
|
|
void signal_unblock();
|
2006-10-29 21:09:11 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
Returns true if signals are being blocked
|
|
|
|
*/
|
|
|
|
int signal_is_blocked();
|
|
|
|
|
2012-08-15 07:57:56 +00:00
|
|
|
/**
|
|
|
|
Returns signals with non-default handlers
|
|
|
|
*/
|
|
|
|
void get_signals_with_handlers(sigset_t *set);
|
|
|
|
|
2006-10-29 21:09:11 +00:00
|
|
|
#endif
|