Replace FSF snail mail address with URLs.
[glibc.git] / sysdeps / mach / hurd / powerpc / bits / sigcontext.h
blob6e486051772f4a8241903444c7382827577517d3
1 /* Machine-dependent signal context structure for GNU Hurd. PowerPC version.
2 Copyright (C) 2001,02 Free Software Foundation, Inc.
3 This file is part of the GNU C Library.
5 The GNU C Library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Lesser General Public License as
7 published by the Free Software Foundation; either version 2.1 of the
8 License, or (at your option) any later version.
10 The GNU C Library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Lesser General Public License for more details.
15 You should have received a copy of the GNU Lesser General Public
16 License along with the GNU C Library; see the file COPYING.LIB. If
17 not, see <http://www.gnu.org/licenses/>. */
19 #if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
20 # error "Never use <bits/sigcontext.h> directly; include <signal.h> instead."
21 #endif
23 #ifndef sc_pc
25 /* Signal handlers are actually called:
26 void handler (int sig, int code, struct sigcontext *scp); */
28 /* State of this thread when the signal was taken. */
29 struct sigcontext
31 /* These first members are machine-independent. */
33 int sc_onstack; /* Nonzero if running on sigstack. */
34 __sigset_t sc_mask; /* Blocked signals to restore. */
36 /* MiG reply port this thread is using. */
37 unsigned int sc_reply_port;
39 /* Port this thread is doing an interruptible RPC on. */
40 unsigned int sc_intr_port;
42 /* Error code associated with this signal (interpreted as `error_t'). */
43 int sc_error;
45 /* All following members are machine-dependent. The rest of this
46 structure is written to be laid out identically to:
48 struct ppc_thread_state basic;
49 struct ppc_exc_state exc;
50 struct ppc_float_state fpu;
52 trampoline.c knows this, so it must be changed if this changes. */
54 #define sc_ppc_thread_state sc_srr0 /* Beginning of correspondence. */
55 #define sc_pc sc_srr0 /* For sysdeps/generic/profil-counter.h. */
56 unsigned int sc_srr0;
57 unsigned int sc_srr1;
58 unsigned int sc_gprs[32];
59 unsigned int sc_cr;
60 unsigned int sc_xer;
61 unsigned int sc_lr;
62 unsigned int sc_ctr;
63 unsigned int sc_mq;
64 unsigned int sc_ts_pad;
66 #define sc_ppc_exc_state sc_dar
67 unsigned int sc_dar;
68 unsigned int sc_dsisr;
69 unsigned int sc_exception;
70 unsigned int sc_es_pad0;
71 unsigned int sc_es_pad1[4];
73 #define sc_ppc_float_state sc_fprs[0]
74 double sc_fprs[32];
75 unsigned int sc_fpscr_pad;
76 unsigned int sc_fpscr;
79 #endif /* sc_pc */