diff options
Diffstat (limited to 'src/include/skalibs/sig.h')
-rw-r--r-- | src/include/skalibs/sig.h | 39 |
1 files changed, 8 insertions, 31 deletions
diff --git a/src/include/skalibs/sig.h b/src/include/skalibs/sig.h index eb33ed4..ccf5dac 100644 --- a/src/include/skalibs/sig.h +++ b/src/include/skalibs/sig.h @@ -1,48 +1,25 @@ /* ISC license. */ -#ifndef SIG_H -#define SIG_H +#ifndef SKALIBS_SIG_H +#define SKALIBS_SIG_H #include <sys/types.h> #include <signal.h> -#include <skalibs/gccattributes.h> - -typedef void skasighandler_t (int) ; -typedef skasighandler_t *skasighandler_t_ref ; - -struct skasigaction -{ - skasighandler_t_ref handler ; - unsigned int flags : 2 ; -} ; -#define SKASA_MASKALL 0x01 -#define SKASA_NOCLDSTOP 0x02 +#include <skalibs/gccattributes.h> -extern struct skasigaction const SKASIG_DFL ; -extern struct skasigaction const SKASIG_IGN ; -extern int skasigaction (int, struct skasigaction const *, struct skasigaction *) ; +typedef void sig_func (int) ; +typedef sig_func *sig_func_ref ; -#define sig_catcha(sig, ac) skasigaction(sig, (ac), 0) -#define sig_restore(sig) skasigaction((sig), &SKASIG_DFL, 0) +extern int sig_catch (int, sig_func_ref) ; +#define sig_restore(sig) sig_catch((sig), SIG_DFL) +#define sig_ignore(sig) sig_catch((sig), SIG_IGN) extern void sig_restoreto (sigset_t const *, unsigned int) ; -extern int sig_catch (int, skasighandler_t_ref) ; -#define sig_ignore(sig) sig_catcha((sig), &SKASIG_IGN) -#define sig_uncatch(sig) sig_restore(sig) - -#define SIGSTACKSIZE 16 -extern int sig_pusha (int, struct skasigaction const *) ; -extern int sig_pop (int) ; -extern int sig_push (int, skasighandler_t_ref) ; extern void sig_block (int) ; -extern void sig_blockset (sigset_t const *) ; extern void sig_unblock (int) ; extern void sig_blocknone (void) ; -extern void sig_pause (void) ; -extern void sig_shield (void) ; -extern void sig_unshield (void) ; extern char const *sig_name (int) ; extern int sig_number (char const *) ; |