Home | History | Annotate | Line # | Download | only in include
signal.h revision 1.26
      1  1.26   thorpej /*	$NetBSD: signal.h,v 1.26 2021/10/29 21:42:02 thorpej Exp $	*/
      2   1.1        ws 
      3   1.1        ws /*
      4   1.1        ws  * Copyright (C) 1995, 1996 Wolfgang Solfrank.
      5   1.1        ws  * Copyright (C) 1995, 1996 TooLs GmbH.
      6   1.1        ws  * All rights reserved.
      7   1.1        ws  *
      8   1.1        ws  * Redistribution and use in source and binary forms, with or without
      9   1.1        ws  * modification, are permitted provided that the following conditions
     10   1.1        ws  * are met:
     11   1.1        ws  * 1. Redistributions of source code must retain the above copyright
     12   1.1        ws  *    notice, this list of conditions and the following disclaimer.
     13   1.1        ws  * 2. Redistributions in binary form must reproduce the above copyright
     14   1.1        ws  *    notice, this list of conditions and the following disclaimer in the
     15   1.1        ws  *    documentation and/or other materials provided with the distribution.
     16   1.1        ws  * 3. All advertising materials mentioning features or use of this software
     17   1.1        ws  *    must display the following acknowledgement:
     18   1.1        ws  *	This product includes software developed by TooLs GmbH.
     19   1.1        ws  * 4. The name of TooLs GmbH may not be used to endorse or promote products
     20   1.1        ws  *    derived from this software without specific prior written permission.
     21   1.1        ws  *
     22   1.1        ws  * THIS SOFTWARE IS PROVIDED BY TOOLS GMBH ``AS IS'' AND ANY EXPRESS OR
     23   1.1        ws  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
     24   1.1        ws  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
     25   1.1        ws  * IN NO EVENT SHALL TOOLS GMBH BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
     26   1.1        ws  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
     27   1.1        ws  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
     28   1.1        ws  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
     29   1.1        ws  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
     30   1.1        ws  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
     31   1.1        ws  * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     32   1.1        ws  */
     33  1.22       rin 
     34   1.6      matt #ifndef	_POWERPC_SIGNAL_H_
     35   1.6      matt #define	_POWERPC_SIGNAL_H_
     36   1.1        ws 
     37  1.13      matt #ifndef _LOCORE
     38  1.12     bjh21 #include <sys/featuretest.h>
     39  1.12     bjh21 
     40  1.26   thorpej /*
     41  1.26   thorpej  * This is needed natively for 32-bit, and for 32-bit compatibility only
     42  1.26   thorpej  * in the 64-bit environment.
     43  1.26   thorpej  */
     44  1.26   thorpej #if !defined(__LP64__) || defined(_KERNEL)
     45  1.26   thorpej #define	__HAVE_STRUCT_SIGCONTEXT
     46  1.26   thorpej #endif
     47  1.26   thorpej 
     48   1.2    kleink typedef int sig_atomic_t;
     49   1.2    kleink 
     50  1.25  christos #ifndef __LP64__
     51  1.12     bjh21 #if defined(_NETBSD_SOURCE)
     52  1.21  christos #include <sys/sigtypes.h>
     53   1.1        ws #include <machine/frame.h>
     54   1.1        ws 
     55  1.24   thorpej #if defined(_KERNEL)
     56   1.3   thorpej struct sigcontext13 {
     57   1.3   thorpej 	int sc_onstack;			/* saved onstack flag */
     58   1.4   thorpej 	int sc_mask;			/* saved signal mask (old style) */
     59  1.10      matt 	struct utrapframe sc_frame;	/* saved registers */
     60   1.3   thorpej };
     61  1.24   thorpej #endif /* _KERNEL */
     62   1.3   thorpej 
     63  1.24   thorpej #if defined(_LIBC) || defined(_KERNEL)
     64  1.13      matt /*
     65  1.13      matt  * struct sigcontext introduced in NetBSD 1.4
     66  1.13      matt  */
     67   1.1        ws struct sigcontext {
     68   1.1        ws 	int sc_onstack;			/* saved onstack flag */
     69   1.4   thorpej 	int __sc_mask13;		/* saved signal mask (old style) */
     70  1.10      matt 	struct utrapframe sc_frame;	/* saved registers */
     71   1.3   thorpej 	sigset_t sc_mask;		/* saved signal mask (new style) */
     72   1.1        ws };
     73  1.24   thorpej #endif /* _LIBC || _KERNEL */
     74   1.7   thorpej 
     75  1.12     bjh21 #endif	/* _NETBSD_SOURCE */
     76  1.25  christos #endif /* __LP64__ */
     77  1.13      matt #endif	/* !_LOCORE */
     78   1.6      matt #endif	/* !_POWERPC_SIGNAL_H_ */
     79