Added missing linux/user.h structures.

Added equivalents for user_regs_struct and user_struct from linux/user.h for x86 and x86_64.
This commit is contained in:
Daniel McKenna 2017-05-23 17:18:55 +01:00
parent fda4049c11
commit fbcd9df1cf
2 changed files with 86 additions and 0 deletions

View File

@ -19,6 +19,44 @@ s! {
pub _st: [_libc_fpreg; 8],
pub status: ::c_ulong,
}
pub struct _libc_state {
pub ebx: ::c_long,
pub ecx: ::c_long,
pub edx: ::c_long,
pub esi: ::c_long,
pub edi: ::c_long,
pub ebp: ::c_long,
pub eax: ::c_long,
pub xds: ::c_long,
pub xes: ::c_long,
pub xfs: ::c_long,
pub xgs: ::c_long,
pub orig_eax: ::c_long,
pub eip: ::c_long,
pub xcs: ::c_long,
pub eflags: u32,
pub esp: ::c_long,
pub xss: ::c_long,
}
pub struct _libc_user {
pub regs: _libc_state,
pub u_fpvalid: i32,
pub i387: _libc_fpstate,
pub u_tsize: u32,
pub u_dsize: u32,
pub u_ssize: u32,
pub start_code: u32,
pub start_stack: u32,
pub signal: i32,
__reserved: i32,
pub u_ar0: *mut _libc_state,
pub u_fpstate: *mut _libc_fpstate,
pub magic: u32,
pub u_comm: [c_char; 32],
pub u_debugreg: [i32; 8],
}
pub struct mcontext_t {
pub gregs: [greg_t; 19],

View File

@ -78,6 +78,54 @@ s! {
__private: [u64; 12],
}
pub struct _libc_state {
pub r15: u64,
pub r14: u64,
pub r13: u64,
pub r12: u64,
pub rbp: u64,
pub rbx: u64,
pub r11: u64,
pub r10: u64,
pub r9: u64,
pub r8: u64,
pub rax: u64,
pub rcx: u64,
pub rdx: u64,
pub rsi: u64,
pub rdi: u64,
pub orig_rax: u64,
pub rip: u64,
pub cs: u64,
pub eflags: u64,
pub rsp: u64,
pub ss: u64,
pub fs_base: u64,
pub gs_base: u64,
pub ds: u64,
pub es: u64,
pub fs: u64,
pub gs: u64,
}
pub struct _libc_user {
pub regs: _libc_state,
pub u_fpvalid: ::c_int,
pub i387: _libc_fpstate,
pub u_tsize: u64,
pub u_dsize: u64,
pub u_ssize: u64,
pub start_code: u64,
pub start_stack: u64,
pub signal: i64,
__reserved: ::c_int,
pub u_ar0: *mut _libc_state,
pub u_fpstate: *mut _libc_fpstate,
pub magic: u64,
pub u_comm: [::c_char; 32],
pub u_debugreg: [u64; 8],
}
pub struct mcontext_t {
pub gregs: [greg_t; 23],
pub fpregs: *mut _libc_fpstate,