1 /* 2 * ptrace is a fickle beast and each arch sucks in a different way 3 */ 4 5 #ifndef __LTP_PTRACE_H__ 6 #define __LTP_PTRACE_H__ 7 8 #ifdef HAVE_SYS_PTRACE_H 9 # include <sys/ptrace.h> 10 #endif 11 #ifdef HAVE_SYS_REG_H 12 # include <sys/reg.h> 13 #endif 14 #ifdef __ia64__ /* what a pos */ 15 # define ia64_fpreg FU_ia64_fpreg 16 # define pt_all_user_regs FU_pt_all_user_regs 17 #endif 18 #ifdef HAVE_ASM_PTRACE_H 19 # include <asm/ptrace.h> 20 #endif 21 #ifdef HAVE_LINUX_PTRACE_H 22 # ifndef HAVE_STRUCT_PTRACE_PEEKSIGINFO_ARGS 23 # include <linux/ptrace.h> 24 # endif 25 #endif 26 #undef FU_ia64_fpreg 27 #undef FU_pt_all_user_regs 28 29 #if defined(HAVE_STRUCT_PT_REGS) 30 typedef struct pt_regs ptrace_regs; 31 #elif defined(HAVE_STRUCT_USER_REGS_STRUCT) 32 typedef struct user_regs_struct ptrace_regs; 33 #endif 34 35 #endif 36