mod.rs 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. //! A part of the ptrace compatibility for Redox OS
  2. use crate::platform::types::*;
  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. #[repr(C)]
  18. pub struct user_regs_struct {
  19. pub r15: c_ulong,
  20. pub r14: c_ulong,
  21. pub r13: c_ulong,
  22. pub r12: c_ulong,
  23. pub rbp: c_ulong,
  24. pub rbx: c_ulong,
  25. pub r11: c_ulong,
  26. pub r10: c_ulong,
  27. pub r9: c_ulong,
  28. pub r8: c_ulong,
  29. pub rax: c_ulong,
  30. pub rcx: c_ulong,
  31. pub rdx: c_ulong,
  32. pub rsi: c_ulong,
  33. pub rdi: c_ulong,
  34. pub orig_rax: c_ulong,
  35. pub rip: c_ulong,
  36. pub cs: c_ulong,
  37. pub eflags: c_ulong,
  38. pub rsp: c_ulong,
  39. pub ss: c_ulong,
  40. pub fs_base: c_ulong,
  41. pub gs_base: c_ulong,
  42. pub ds: c_ulong,
  43. pub es: c_ulong,
  44. pub fs: c_ulong,
  45. pub gs: c_ulong,
  46. }
  47. pub type elf_greg_t = c_ulong;
  48. pub type elf_gregset_t = [c_ulong; 27];
  49. pub type elf_fpregset_t = user_fpregs_struct;
  50. #[repr(C)]
  51. pub struct user {
  52. pub regs: user_regs_struct,
  53. pub u_fpvalid: c_int,
  54. pub i387: user_fpregs_struct,
  55. pub u_tsize: c_ulong,
  56. pub u_dsize: c_ulong,
  57. pub u_ssize: c_ulong,
  58. pub start_code: c_ulong,
  59. pub start_stack: c_ulong,
  60. pub signal: c_long,
  61. pub reserved: c_int,
  62. pub u_ar0: *mut user_regs_struct,
  63. pub u_fpstate: *mut user_fpregs_struct,
  64. pub magic: c_ulong,
  65. pub u_comm: [c_char; 32],
  66. pub u_debugreg: [c_ulong; 8],
  67. }
  68. #[no_mangle]
  69. pub extern "C" fn _cbindgen_only_generates_structs_if_they_are_mentioned_which_is_dumb_x86_user(
  70. a: user_fpregs_struct,
  71. b: user_regs_struct,
  72. c: user,
  73. d: elf_gregset_t,
  74. e: elf_greg_t,
  75. f: elf_fpregset_t,
  76. ) {
  77. }