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