xref: /drstd/dlibc/src/unix/header/arch_x64_user/mod.rs (revision 86982c5e9b2eaa583327251616ee822c36288824)
1 //! A part of the ptrace compatibility for Redox OS
2 
3 #[repr(C)]
4 pub struct user_fpregs_struct {
5     pub cwd: u16,
6     pub swd: u16,
7     pub ftw: u16,
8     pub fop: u16,
9     pub rip: u64,
10     pub rdp: u64,
11     pub mxcsr: u32,
12     pub mxcr_mask: u32,
13     pub st_space: [u32; 32],
14     pub xmm_space: [u32; 64],
15     pub padding: [u32; 24],
16 }
17 
18 #[repr(C)]
19 pub struct user_regs_struct {
20     pub r15: ::c_ulong,
21     pub r14: ::c_ulong,
22     pub r13: ::c_ulong,
23     pub r12: ::c_ulong,
24     pub rbp: ::c_ulong,
25     pub rbx: ::c_ulong,
26     pub r11: ::c_ulong,
27     pub r10: ::c_ulong,
28     pub r9: ::c_ulong,
29     pub r8: ::c_ulong,
30     pub rax: ::c_ulong,
31     pub rcx: ::c_ulong,
32     pub rdx: ::c_ulong,
33     pub rsi: ::c_ulong,
34     pub rdi: ::c_ulong,
35     pub orig_rax: ::c_ulong,
36     pub rip: ::c_ulong,
37     pub cs: ::c_ulong,
38     pub eflags: ::c_ulong,
39     pub rsp: ::c_ulong,
40     pub ss: ::c_ulong,
41     pub fs_base: ::c_ulong,
42     pub gs_base: ::c_ulong,
43     pub ds: ::c_ulong,
44     pub es: ::c_ulong,
45     pub fs: ::c_ulong,
46     pub gs: ::c_ulong,
47 }
48 
49 pub type elf_greg_t = ::c_ulong;
50 
51 pub type elf_gregset_t = [::c_ulong; 27];
52 pub type elf_fpregset_t = user_fpregs_struct;
53 #[repr(C)]
54 pub struct user {
55     pub regs: user_regs_struct,
56     pub u_fpvalid: ::c_int,
57     pub i387: user_fpregs_struct,
58     pub u_tsize: ::c_ulong,
59     pub u_dsize: ::c_ulong,
60     pub u_ssize: ::c_ulong,
61     pub start_code: ::c_ulong,
62     pub start_stack: ::c_ulong,
63     pub signal: ::c_long,
64     pub reserved: ::c_int,
65     pub u_ar0: *mut user_regs_struct,
66     pub u_fpstate: *mut user_fpregs_struct,
67     pub magic: ::c_ulong,
68     pub u_comm: [::c_char; 32],
69     pub u_debugreg: [::c_ulong; 8],
70 }
71 
72 #[no_mangle]
73 pub extern "C" fn _cbindgen_only_generates_structs_if_they_are_mentioned_which_is_dumb_x86_user(
74     a: user_fpregs_struct,
75     b: user_regs_struct,
76     c: user,
77     d: elf_gregset_t,
78     e: elf_greg_t,
79     f: elf_fpregset_t,
80 ) {
81 }
82