1*b30d1939SAndy Fiddaman/* : : generated from contrib/ast/src/cmd/ksh93/features/sigfeatures by iffe version 2012-07-17 : : */
2*b30d1939SAndy Fiddaman#ifndef _def_sigfeatures_ksh93
3*b30d1939SAndy Fiddaman#define _def_sigfeatures_ksh93	1
4*b30d1939SAndy Fiddaman#define _sys_types	1	/* #include <sys/types.h> ok */
5*b30d1939SAndy Fiddaman#define _lib_sigrelse	1	/* sigrelse() in default lib(s) */
6*b30d1939SAndy Fiddaman#define _lib_sigprocmask	1	/* sigprocmask() in default lib(s) */
7*b30d1939SAndy Fiddaman#define _hdr_time	1	/* #include <time.h> ok */
8*b30d1939SAndy Fiddaman#define _sys_time	1	/* #include <sys/time.h> ok */
9*b30d1939SAndy Fiddaman#define _sys_times	1	/* #include <sys/times.h> ok */
10*b30d1939SAndy Fiddaman#define _hdr_stddef	1	/* #include <stddef.h> ok */
11*b30d1939SAndy Fiddaman#define _hdr_stdlib	1	/* #include <stdlib.h> ok */
12*b30d1939SAndy Fiddaman#define _hdr_signal	1	/* #include <signal.h> ok */
13*b30d1939SAndy Fiddaman#define _typ_sigset_t	1	/* sigset_t is a type */
14*b30d1939SAndy Fiddaman#ifndef _mem_sigvec_sv_mask
15*b30d1939SAndy Fiddaman#   undef _lib_sigvec
16*b30d1939SAndy Fiddaman#endif
17*b30d1939SAndy Fiddaman#ifdef _lib_sigprocmask
18*b30d1939SAndy Fiddaman#    define sh_sigaction(s,action) do { sigset_t ss;\
19*b30d1939SAndy Fiddaman			sigemptyset(&ss); \
20*b30d1939SAndy Fiddaman			if(s) sigaddset(&ss,(s)); \
21*b30d1939SAndy Fiddaman			sigprocmask(action,&ss,0); \
22*b30d1939SAndy Fiddaman			}while(0)
23*b30d1939SAndy Fiddaman#    define sigrelease(s)	sh_sigaction(s,SIG_UNBLOCK)
24*b30d1939SAndy Fiddaman#    define sigblock(s)	 	sh_sigaction(s,SIG_BLOCK)
25*b30d1939SAndy Fiddaman#    define sig_begin()		sh_sigaction(0,SIG_SETMASK)
26*b30d1939SAndy Fiddaman#else
27*b30d1939SAndy Fiddaman#   ifndef _lib_sigblock
28*b30d1939SAndy Fiddaman#	define sigblock(s)
29*b30d1939SAndy Fiddaman#   endif
30*b30d1939SAndy Fiddaman#   ifdef _lib_sigsetmask
31*b30d1939SAndy Fiddaman#       define sigrelease(s)  sigsetmask(0)
32*b30d1939SAndy Fiddaman#       define sig_begin()    sigsetmask(0)
33*b30d1939SAndy Fiddaman#   else
34*b30d1939SAndy Fiddaman#	ifdef _lib_sigrelse
35*b30d1939SAndy Fiddaman#	    define sigrelease	sigrelse
36*b30d1939SAndy Fiddaman#	    define sig_begin()
37*b30d1939SAndy Fiddaman#	else
38*b30d1939SAndy Fiddaman#	    define sig_begin()		(0)
39*b30d1939SAndy Fiddaman#	    define sigrelease(s)	(0)
40*b30d1939SAndy Fiddaman#	endif /* _lib_sigrelse */
41*b30d1939SAndy Fiddaman#    endif /* _lib_sigsetmask */
42*b30d1939SAndy Fiddaman#endif /* _lib_sigprocmask */
43*b30d1939SAndy Fiddaman
44*b30d1939SAndy Fiddaman#undef	_SIGRTMIN
45*b30d1939SAndy Fiddaman#define _SIGRTMIN	42
46*b30d1939SAndy Fiddaman#undef	_SIGRTMAX
47*b30d1939SAndy Fiddaman#define _SIGRTMAX	73
48*b30d1939SAndy Fiddaman#endif
49