Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
arch
x86
include
asm
user32.h
Go to the documentation of this file.
1
#ifndef _ASM_X86_USER32_H
2
#define _ASM_X86_USER32_H
3
4
/* IA32 compatible user structures for ptrace.
5
* These should be used for 32bit coredumps too. */
6
7
struct
user_i387_ia32_struct
{
8
u32
cwd
;
9
u32
swd
;
10
u32
twd
;
11
u32
fip
;
12
u32
fcs
;
13
u32
foo
;
14
u32
fos
;
15
u32
st_space
[20];
/* 8*10 bytes for each FP-reg = 80 bytes */
16
};
17
18
/* FSAVE frame with extensions */
19
struct
user32_fxsr_struct
{
20
unsigned
short
cwd
;
21
unsigned
short
swd
;
22
unsigned
short
twd
;
/* not compatible to 64bit twd */
23
unsigned
short
fop
;
24
int
fip
;
25
int
fcs
;
26
int
foo
;
27
int
fos
;
28
int
mxcsr
;
29
int
reserved
;
30
int
st_space
[32];
/* 8*16 bytes for each FP-reg = 128 bytes */
31
int
xmm_space
[32];
/* 8*16 bytes for each XMM-reg = 128 bytes */
32
int
padding
[56];
33
};
34
35
struct
user_regs_struct32
{
36
__u32
ebx
,
ecx
,
edx
,
esi
,
edi
,
ebp
,
eax
;
37
unsigned
short
ds
,
__ds
,
es
,
__es
;
38
unsigned
short
fs
,
__fs
,
gs
,
__gs
;
39
__u32
orig_eax
,
eip
;
40
unsigned
short
cs
,
__cs
;
41
__u32
eflags
,
esp
;
42
unsigned
short
ss
,
__ss
;
43
};
44
45
struct
user32
{
46
struct
user_regs_struct32
regs
;
/* Where the registers are actually stored */
47
int
u_fpvalid
;
/* True if math co-processor being used. */
48
/* for this mess. Not yet used. */
49
struct
user_i387_ia32_struct
i387
;
/* Math Co-processor registers. */
50
/* The rest of this junk is to help gdb figure out what goes where */
51
__u32
u_tsize
;
/* Text segment size (pages). */
52
__u32
u_dsize
;
/* Data segment size (pages). */
53
__u32
u_ssize
;
/* Stack segment size (pages). */
54
__u32
start_code
;
/* Starting virtual address of text. */
55
__u32
start_stack
;
/* Starting virtual address of stack area.
56
This is actually the bottom of the stack,
57
the top of the stack is always found in the
58
esp register. */
59
__u32
signal
;
/* Signal that caused the core dump. */
60
int
reserved
;
/* No __u32er used */
61
__u32
u_ar0
;
/* Used by gdb to help find the values for */
62
/* the registers. */
63
__u32
u_fpstate
;
/* Math Co-processor pointer. */
64
__u32
magic
;
/* To uniquely identify a core file */
65
char
u_comm
[32];
/* User command that was responsible */
66
int
u_debugreg
[8];
67
};
68
69
70
#endif
/* _ASM_X86_USER32_H */
Generated on Thu Jan 10 2013 13:20:08 for Linux Kernel by
1.8.2