vfs: check userland buffers before reading them.
[haiku.git] / src / libs / libunwind / x86_64 / ucontext_i.h
blobe41e5629272c823ca62cca2a42fb029ab531824a
1 /* Copyright (C) 2004 Hewlett-Packard Co.
2 Contributed by David Mosberger-Tang <davidm@hpl.hp.com>.
4 This file is part of libunwind.
6 Permission is hereby granted, free of charge, to any person obtaining
7 a copy of this software and associated documentation files (the
8 "Software"), to deal in the Software without restriction, including
9 without limitation the rights to use, copy, modify, merge, publish,
10 distribute, sublicense, and/or sell copies of the Software, and to
11 permit persons to whom the Software is furnished to do so, subject to
12 the following conditions:
14 The above copyright notice and this permission notice shall be
15 included in all copies or substantial portions of the Software.
17 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
18 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
20 NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
21 LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
22 OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
23 WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */
25 #if defined __linux__
26 #define UC_MCONTEXT_GREGS_R8 0x28
27 #define UC_MCONTEXT_GREGS_R9 0x30
28 #define UC_MCONTEXT_GREGS_R10 0x38
29 #define UC_MCONTEXT_GREGS_R11 0x40
30 #define UC_MCONTEXT_GREGS_R12 0x48
31 #define UC_MCONTEXT_GREGS_R13 0x50
32 #define UC_MCONTEXT_GREGS_R14 0x58
33 #define UC_MCONTEXT_GREGS_R15 0x60
34 #define UC_MCONTEXT_GREGS_RDI 0x68
35 #define UC_MCONTEXT_GREGS_RSI 0x70
36 #define UC_MCONTEXT_GREGS_RBP 0x78
37 #define UC_MCONTEXT_GREGS_RBX 0x80
38 #define UC_MCONTEXT_GREGS_RDX 0x88
39 #define UC_MCONTEXT_GREGS_RAX 0x90
40 #define UC_MCONTEXT_GREGS_RCX 0x98
41 #define UC_MCONTEXT_GREGS_RSP 0xa0
42 #define UC_MCONTEXT_GREGS_RIP 0xa8
43 #define UC_MCONTEXT_FPREGS_PTR 0x1a8
44 #define UC_MCONTEXT_FPREGS_MEM 0xe0
45 #define UC_SIGMASK 0x128
46 #define FPREGS_OFFSET_MXCSR 0x18
47 #elif defined __FreeBSD__
48 #define UC_SIGMASK 0x0
49 #define UC_MCONTEXT_GREGS_RDI 0x18
50 #define UC_MCONTEXT_GREGS_RSI 0x20
51 #define UC_MCONTEXT_GREGS_RDX 0x28
52 #define UC_MCONTEXT_GREGS_RCX 0x30
53 #define UC_MCONTEXT_GREGS_R8 0x38
54 #define UC_MCONTEXT_GREGS_R9 0x40
55 #define UC_MCONTEXT_GREGS_RAX 0x48
56 #define UC_MCONTEXT_GREGS_RBX 0x50
57 #define UC_MCONTEXT_GREGS_RBP 0x58
58 #define UC_MCONTEXT_GREGS_R10 0x60
59 #define UC_MCONTEXT_GREGS_R11 0x68
60 #define UC_MCONTEXT_GREGS_R12 0x70
61 #define UC_MCONTEXT_GREGS_R13 0x78
62 #define UC_MCONTEXT_GREGS_R14 0x80
63 #define UC_MCONTEXT_GREGS_R15 0x88
64 #define UC_MCONTEXT_FS 0x94
65 #define UC_MCONTEXT_GS 0x96
66 #define UC_MCONTEXT_FLAGS 0xa0
67 #define UC_MCONTEXT_ES 0xa4
68 #define UC_MCONTEXT_DS 0xa6
69 #define UC_MCONTEXT_GREGS_RIP 0xb0
70 #define UC_MCONTEXT_CS 0xb8
71 #define UC_MCONTEXT_RFLAGS 0xc0
72 #define UC_MCONTEXT_GREGS_RSP 0xc8
73 #define UC_MCONTEXT_SS 0xd0
74 #define UC_MCONTEXT_MC_LEN 0xd8
75 #define UC_MCONTEXT_FPFORMAT 0xe0
76 #define UC_MCONTEXT_OWNEDFP 0xe8
77 #define UC_MCONTEXT_FPSTATE 0xf0
78 #define UC_MCONTEXT_FPOWNED_FPU 0x20001
79 #define UC_MCONTEXT_FPFMT_XMM 0x10002
80 #define UC_MCONTEXT_MC_LEN_VAL 0x320
81 #elif defined(__sun)
82 #define UC_MCONTEXT_GREGS_R8 0x78
83 #define UC_MCONTEXT_GREGS_R9 0x70
84 #define UC_MCONTEXT_GREGS_R10 0x68
85 #define UC_MCONTEXT_GREGS_R11 0x60
86 #define UC_MCONTEXT_GREGS_R12 0x58
87 #define UC_MCONTEXT_GREGS_R13 0x50
88 #define UC_MCONTEXT_GREGS_R14 0x48
89 #define UC_MCONTEXT_GREGS_R15 0x40
90 #define UC_MCONTEXT_GREGS_RDI 0x80
91 #define UC_MCONTEXT_GREGS_RSI 0x88
92 #define UC_MCONTEXT_GREGS_RBP 0x90
93 #define UC_MCONTEXT_GREGS_RBX 0x98
94 #define UC_MCONTEXT_GREGS_RDX 0xa0
95 #define UC_MCONTEXT_GREGS_RAX 0xb0
96 #define UC_MCONTEXT_GREGS_RCX 0xa8
97 #define UC_MCONTEXT_GREGS_RSP 0xe0
98 #define UC_MCONTEXT_GREGS_RIP 0xc8
99 #define UC_MCONTEXT_FPREGS_MEM 0x120
100 #define FPREGS_OFFSET_MXCSR 0x18
101 #define UC_SIGMASK 0x128
102 #endif