]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/alpha/include/signal.h
This commit was generated by cvs2svn to compensate for changes in r49187,
[FreeBSD/FreeBSD.git] / sys / alpha / include / signal.h
1 /* $Id: signal.h,v 1.1 1998/01/10 10:13:16 jb Exp $ */
2 /* From: NetBSD: signal.h,v 1.3 1997/04/06 08:47:43 cgd Exp */
3
4 /*
5  * Copyright (c) 1994, 1995 Carnegie-Mellon University.
6  * All rights reserved.
7  *
8  * Author: Chris G. Demetriou
9  * 
10  * Permission to use, copy, modify and distribute this software and
11  * its documentation is hereby granted, provided that both the copyright
12  * notice and this permission notice appear in all copies of the
13  * software, derivative works or modified versions, and any portions
14  * thereof, and that both notices appear in supporting documentation.
15  * 
16  * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" 
17  * CONDITION.  CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND 
18  * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
19  * 
20  * Carnegie Mellon requests users of this software to return to
21  *
22  *  Software Distribution Coordinator  or  Software.Distribution@CS.CMU.EDU
23  *  School of Computer Science
24  *  Carnegie Mellon University
25  *  Pittsburgh PA 15213-3890
26  *
27  * any improvements or extensions that they make and grant Carnegie the
28  * rights to redistribute these changes.
29  */
30
31 #ifndef _ALPHA_SIGNAL_H_
32 #define _ALPHA_SIGNAL_H_
33
34 typedef long    sig_atomic_t;
35
36 #ifndef _ANSI_SOURCE
37 /*
38  * Information pushed on stack when a signal is delivered.
39  * This is used by the kernel to restore state following
40  * execution of the signal handler.  It is also made available
41  * to the handler to allow it to restore state properly if
42  * a non-standard exit is performed.
43  *
44  * Note that sc_regs[] and sc_fpregs[]+sc_fpcr are inline
45  * representations of 'struct reg' and 'struct fpreg', respectively.
46  */
47 struct  sigcontext {
48         long    sc_onstack;             /* sigstack state to restore */
49         long    sc_mask;                /* signal mask to restore */
50         long    sc_pc;                  /* pc to restore */
51         long    sc_ps;                  /* ps to restore */
52         unsigned long sc_regs[32];      /* integer register set (see above) */
53 #define sc_sp   sc_regs[R_SP]
54         long    sc_ownedfp;             /* fp has been used */
55         unsigned long sc_fpregs[32];    /* FP register set (see above) */
56         unsigned long sc_fpcr;          /* FP control register (see above) */
57         unsigned long sc_fp_control;    /* FP software control word */
58         long    sc_reserved[2];         /* XXX */
59         long    sc_xxx1[2];             /* sc_ssize, sc_sbase on DUX */
60         unsigned long sc_traparg_a0;    /* a0 argument to trap at exception */
61         unsigned long sc_traparg_a1;    /* a1 argument to trap at exception */
62         unsigned long sc_traparg_a2;    /* a2 argument to trap at exception */
63         long    sc_xxx2[3];             /* sc_fp_trap_pc, sc_fp_trigger_sum, sc_fp_trigger_inst */
64 };
65
66 #endif /* !_ANSI_SOURCE */
67 #endif /* !_ALPHA_SIGNAL_H_*/