1/****************************************************************************
2 ****************************************************************************
3 ***
4 ***   This header was automatically generated from a Linux kernel header
5 ***   of the same name, to make information necessary for userspace to
6 ***   call into the kernel available to libc.  It contains only constants,
7 ***   structures, and macros generated from the original header, and thus,
8 ***   contains no copyrightable information.
9 ***
10 ***   To edit the content of this header, modify the corresponding
11 ***   source file (e.g. under external/kernel-headers/original/) then
12 ***   run bionic/libc/kernel/tools/update_all.py
13 ***
14 ***   Any manual change here will be lost the next time this script will
15 ***   be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
19#ifndef _I386_USER_H
20#define _I386_USER_H
21#include <asm/page.h>
22struct user_i387_struct {
23/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
24 long cwd;
25 long swd;
26 long twd;
27 long fip;
28/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
29 long fcs;
30 long foo;
31 long fos;
32 long st_space[20];
33/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
34};
35struct user_fxsr_struct {
36 unsigned short cwd;
37 unsigned short swd;
38/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
39 unsigned short twd;
40 unsigned short fop;
41 long fip;
42 long fcs;
43/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
44 long foo;
45 long fos;
46 long mxcsr;
47 long reserved;
48/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
49 long st_space[32];
50 long xmm_space[32];
51 long padding[56];
52};
53/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
54struct user_regs_struct {
55 long ebx, ecx, edx, esi, edi, ebp, eax;
56 unsigned short ds, __ds, es, __es;
57 unsigned short fs, __fs, gs, __gs;
58/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
59 long orig_eax, eip;
60 unsigned short cs, __cs;
61 long eflags, esp;
62 unsigned short ss, __ss;
63/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
64};
65struct user{
66 struct user_regs_struct regs;
67 int u_fpvalid;
68/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
69 struct user_i387_struct i387;
70 unsigned long int u_tsize;
71 unsigned long int u_dsize;
72 unsigned long int u_ssize;
73/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
74 unsigned long start_code;
75 unsigned long start_stack;
76 long int signal;
77 int reserved;
78/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
79 struct user_pt_regs * u_ar0;
80 struct user_i387_struct* u_fpstate;
81 unsigned long magic;
82 char u_comm[32];
83/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
84 int u_debugreg[8];
85};
86#define NBPG PAGE_SIZE
87#define UPAGES 1
88/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
89#define HOST_TEXT_START_ADDR (u.start_code)
90#define HOST_STACK_END_ADDR (u.start_stack + u.u_ssize * NBPG)
91#endif
92