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