xref: /netbsd-src/sys/arch/hppa/include/signal.h (revision a0c577d65f52485986933ae1473fa28f4e1d7ff3)
1 /*	$NetBSD: signal.h,v 1.12 2021/10/28 11:25:02 christos Exp $	*/
2 
3 /*	$OpenBSD: signal.h,v 1.1 1998/06/23 19:45:27 mickey Exp $	*/
4 
5 /*
6  * Copyright (c) 1994, The University of Utah and
7  * the Computer Systems Laboratory at the University of Utah (CSL).
8  * All rights reserved.
9  *
10  * Permission to use, copy, modify and distribute this software is hereby
11  * granted provided that (1) source code retains these copyright, permission,
12  * and disclaimer notices, and (2) redistributions including binaries
13  * reproduce the notices in supporting documentation, and (3) all advertising
14  * materials mentioning features or use of this software display the following
15  * acknowledgement: ``This product includes software developed by the
16  * Computer Systems Laboratory at the University of Utah.''
17  *
18  * THE UNIVERSITY OF UTAH AND CSL ALLOW FREE USE OF THIS SOFTWARE IN ITS "AS
19  * IS" CONDITION.  THE UNIVERSITY OF UTAH AND CSL DISCLAIM ANY LIABILITY OF
20  * ANY KIND FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
21  *
22  * CSL requests users of this software to return to csl-dist@cs.utah.edu any
23  * improvements that they make and grant CSL redistribution rights.
24  *
25  * 	Utah $Hdr: signal.h 1.3 94/12/16$
26  */
27 
28 #ifndef _HPPA_SIGNAL_H__
29 #define _HPPA_SIGNAL_H__
30 
31 /*
32  * Machine-dependent signal definitions
33  */
34 
35 #include <sys/featuretest.h>
36 #include <sys/sigtypes.h>
37 
38 typedef int sig_atomic_t;
39 
40 #if defined(_XOPEN_SOURCE) || defined(_NETBSD_SOURCE)
41 #include <machine/trap.h>	/* codes for SIGILL, SIGFPE */
42 #endif
43 
44 #if defined(_LIBC)
45 #define	__HAVE_STRUCT_SIGCONTEXT
46 /*
47  * Information pushed on stack when a signal is delivered.
48  * This is used by the kernel to restore state following
49  * execution of the signal handler.  It is also made available
50  * to the handler to allow it to restore state properly if
51  * a non-standard exit is performed.
52  */
53 struct	sigcontext {
54 	int	sc_onstack;		/* sigstack state to restore */
55 	int	__sc_mask13;		/* signal mask to restore (old style) */
56 	int	sc_sp;			/* sp to restore */
57 	int	sc_fp;			/* fp to restore */
58 	int	sc_ap;			/* ap to restore */
59 	int	sc_pcsqh;		/* pc space queue (head) to restore */
60 	int	sc_pcoqh;		/* pc offset queue (head) to restore */
61 	int	sc_pcsqt;		/* pc space queue (tail) to restore */
62 	int	sc_pcoqt;		/* pc offset queue (tail) to restore */
63 	int	sc_ps;			/* psl to restore */
64 	sigset_t sc_mask;		/* signal mask to restore (new style) */
65 };
66 #endif
67 
68 #endif /* _HPPA_SIGNAL_H__ */
69