• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/toolchains/hndtools-arm-linux-2.6.36-uclibc-4.5.3/usr/include/bits/
1/* Definition of `struct sigcontext' for Linux/ARM
2   Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
3   This file is part of the GNU C Library.
4
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
7   License as published by the Free Software Foundation; either
8   version 2.1 of the License, or (at your option) any later version.
9
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.
14
15   You should have received a copy of the GNU Lesser General Public
16   License along with the GNU C Library; if not, write to the Free
17   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
18   02111-1307 USA.  */
19
20/* The format of struct sigcontext changed between 2.0 and 2.1 kernels.
21   Fortunately 2.0 puts a magic number in the first word and this is not
22   a legal value for `trap_no', so we can tell them apart.  */
23
24/* Early 2.2 and 2.3 kernels do not have the `fault_address' member in
25   the sigcontext structure.  Unfortunately there is no reliable way
26   to test for its presence and this word will contain garbage for too-old
27   kernels.  Versions 2.2.14 and 2.3.35 (plus later versions) are known to
28   include this element.  */
29
30#ifndef __ARMSIGCTX_H
31#define __ARMSIGCTX_H	1
32
33#include <asm/ptrace.h>
34
35union k_sigcontext
36  {
37    struct
38      {
39	unsigned long int trap_no;
40	unsigned long int error_code;
41	unsigned long int oldmask;
42	unsigned long int arm_r0;
43	unsigned long int arm_r1;
44	unsigned long int arm_r2;
45	unsigned long int arm_r3;
46	unsigned long int arm_r4;
47	unsigned long int arm_r5;
48	unsigned long int arm_r6;
49	unsigned long int arm_r7;
50	unsigned long int arm_r8;
51	unsigned long int arm_r9;
52	unsigned long int arm_r10;
53	unsigned long int arm_fp;
54	unsigned long int arm_ip;
55	unsigned long int arm_sp;
56	unsigned long int arm_lr;
57	unsigned long int arm_pc;
58	unsigned long int arm_cpsr;
59	unsigned long fault_address;
60      } v21;
61    struct
62      {
63	unsigned long int magic;
64	struct pt_regs reg;
65	unsigned long int trap_no;
66	unsigned long int error_code;
67	unsigned long int oldmask;
68      } v20;
69};
70
71#define SIGCONTEXT_2_0_MAGIC	0x4B534154
72
73#endif	/* bits/armsigctx.h */
74