signalvar.h (51791) | signalvar.h (52140) |
---|---|
1/* 2 * Copyright (c) 1991, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 17 unchanged lines hidden (view full) --- 26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31 * SUCH DAMAGE. 32 * 33 * @(#)signalvar.h 8.6 (Berkeley) 2/19/95 | 1/* 2 * Copyright (c) 1991, 1993 3 * The Regents of the University of California. All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 17 unchanged lines hidden (view full) --- 26 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 31 * SUCH DAMAGE. 32 * 33 * @(#)signalvar.h 8.6 (Berkeley) 2/19/95 |
34 * $FreeBSD: head/sys/sys/signalvar.h 51791 1999-09-29 15:03:48Z marcel $ | 34 * $FreeBSD: head/sys/sys/signalvar.h 52140 1999-10-11 20:33:17Z luoqi $ |
35 */ 36 37#ifndef _SYS_SIGNALVAR_H_ /* tmp for user.h */ 38#define _SYS_SIGNALVAR_H_ 39 40#include <sys/signal.h> 41#include <sys/proc.h> 42 --- 11 unchanged lines hidden (view full) --- 54struct sigacts { 55 sig_t ps_sigact[_SIG_MAXSIG]; /* disposition of signals */ 56 sigset_t ps_catchmask[_SIG_MAXSIG]; /* signals to be blocked */ 57 sigset_t ps_sigonstack; /* signals to take on sigstack */ 58 sigset_t ps_sigintr; /* signals that interrupt syscalls */ 59 sigset_t ps_sigreset; /* signals that reset when caught */ 60 sigset_t ps_signodefer; /* signals not masked while handled */ 61 sigset_t ps_siginfo; /* signals that want SA_SIGINFO args */ | 35 */ 36 37#ifndef _SYS_SIGNALVAR_H_ /* tmp for user.h */ 38#define _SYS_SIGNALVAR_H_ 39 40#include <sys/signal.h> 41#include <sys/proc.h> 42 --- 11 unchanged lines hidden (view full) --- 54struct sigacts { 55 sig_t ps_sigact[_SIG_MAXSIG]; /* disposition of signals */ 56 sigset_t ps_catchmask[_SIG_MAXSIG]; /* signals to be blocked */ 57 sigset_t ps_sigonstack; /* signals to take on sigstack */ 58 sigset_t ps_sigintr; /* signals that interrupt syscalls */ 59 sigset_t ps_sigreset; /* signals that reset when caught */ 60 sigset_t ps_signodefer; /* signals not masked while handled */ 61 sigset_t ps_siginfo; /* signals that want SA_SIGINFO args */ |
62 int ps_flags; /* signal flags, below */ 63 stack_t ps_sigstk; /* sp & on stack state variable */ 64 sigset_t ps_usertramp; /* SunOS compat; libc sigtramp XXX */ | 62 sigset_t ps_osigset; /* signals that use osigset_t */ |
65}; 66 | 63}; 64 |
67/* signal flags */ 68#define SAS_OLDMASK 0x01 /* need to restore mask before pause */ 69#define SAS_ALTSTACK 0x02 /* have alternate signal stack */ 70 | |
71/* 72 * Compatibility 73 */ 74typedef struct { 75 struct osigcontext si_sc; 76 int si_signo; 77 int si_code; 78 union sigval si_value; --- 70 unchanged lines hidden (view full) --- 149 150#define SIGSETNAND(set1, set2) \ 151 do { \ 152 int __i; \ 153 for (__i = 0; __i < _SIG_WORDS; __i++) \ 154 (set1).__bits[__i] &= ~(set2).__bits[__i]; \ 155 } while (0) 156 | 65/* 66 * Compatibility 67 */ 68typedef struct { 69 struct osigcontext si_sc; 70 int si_signo; 71 int si_code; 72 union sigval si_value; --- 70 unchanged lines hidden (view full) --- 143 144#define SIGSETNAND(set1, set2) \ 145 do { \ 146 int __i; \ 147 for (__i = 0; __i < _SIG_WORDS; __i++) \ 148 (set1).__bits[__i] &= ~(set2).__bits[__i]; \ 149 } while (0) 150 |
151#define SIGSETLO(set1, set2) ((set1).__bits[0] = (set2).__bits[0]) 152#define SIGSETOLD(set, oset) ((set).__bits[0] = (oset)) 153 |
|
157#define SIG_CANTMASK(set) \ 158 SIGDELSET(set, SIGKILL), SIGDELSET(set, SIGSTOP) 159 160#define SIG_STOPSIGMASK(set) \ 161 SIGDELSET(set, SIGSTOP), SIGDELSET(set, SIGTSTP), \ 162 SIGDELSET(set, SIGTTIN), SIGDELSET(set, SIGTTOU) 163 164#define SIG_CONTSIGMASK(set) \ --- 85 unchanged lines hidden --- | 154#define SIG_CANTMASK(set) \ 155 SIGDELSET(set, SIGKILL), SIGDELSET(set, SIGSTOP) 156 157#define SIG_STOPSIGMASK(set) \ 158 SIGDELSET(set, SIGSTOP), SIGDELSET(set, SIGTSTP), \ 159 SIGDELSET(set, SIGTTIN), SIGDELSET(set, SIGTTOU) 160 161#define SIG_CONTSIGMASK(set) \ --- 85 unchanged lines hidden --- |