Home | History | Annotate | Download | only in strace
      1 #ifdef NEED_PTRACE_PROTOTYPE_WORKAROUND
      2 # define ptrace xptrace
      3 # include <sys/ptrace.h>
      4 # undef ptrace
      5 extern long ptrace(int, int, char *, long);
      6 #else
      7 # include <sys/ptrace.h>
      8 #endif
      9 
     10 #ifdef HAVE_STRUCT_IA64_FPREG
     11 # define ia64_fpreg XXX_ia64_fpreg
     12 #endif
     13 #ifdef HAVE_STRUCT_PT_ALL_USER_REGS
     14 # define pt_all_user_regs XXX_pt_all_user_regs
     15 #endif
     16 #ifdef HAVE_STRUCT_PTRACE_PEEKSIGINFO_ARGS
     17 # define ptrace_peeksiginfo_args XXX_ptrace_peeksiginfo_args
     18 #endif
     19 
     20 #include <linux/ptrace.h>
     21 
     22 #ifdef HAVE_STRUCT_IA64_FPREG
     23 # undef ia64_fpreg
     24 #endif
     25 #ifdef HAVE_STRUCT_PT_ALL_USER_REGS
     26 # undef pt_all_user_regs
     27 #endif
     28 #ifdef HAVE_STRUCT_PTRACE_PEEKSIGINFO_ARGS
     29 # undef ptrace_peeksiginfo_args
     30 #endif
     31 
     32 #ifndef PTRACE_EVENT_FORK
     33 # define PTRACE_EVENT_FORK	1
     34 #endif
     35 #ifndef PTRACE_EVENT_VFORK
     36 # define PTRACE_EVENT_VFORK	2
     37 #endif
     38 #ifndef PTRACE_EVENT_CLONE
     39 # define PTRACE_EVENT_CLONE	3
     40 #endif
     41 #ifndef PTRACE_EVENT_EXEC
     42 # define PTRACE_EVENT_EXEC	4
     43 #endif
     44 #ifndef PTRACE_EVENT_VFORK_DONE
     45 # define PTRACE_EVENT_VFORK_DONE	5
     46 #endif
     47 #ifndef PTRACE_EVENT_EXIT
     48 # define PTRACE_EVENT_EXIT	6
     49 #endif
     50 #ifndef PTRACE_EVENT_SECCOMP
     51 # define PTRACE_EVENT_SECCOMP	7
     52 #endif
     53 #ifdef PTRACE_EVENT_STOP
     54 /* Linux 3.1 - 3.3 releases had a broken value.  It was fixed in 3.4.  */
     55 # if PTRACE_EVENT_STOP == 7
     56 #  undef PTRACE_EVENT_STOP
     57 # endif
     58 #endif
     59 #ifndef PTRACE_EVENT_STOP
     60 # define PTRACE_EVENT_STOP	128
     61 #endif
     62 
     63 #ifndef PTRACE_O_TRACESYSGOOD
     64 # define PTRACE_O_TRACESYSGOOD	1
     65 #endif
     66 #ifndef PTRACE_O_TRACEFORK
     67 # define PTRACE_O_TRACEFORK	(1 << PTRACE_EVENT_FORK)
     68 #endif
     69 #ifndef PTRACE_O_TRACEVFORK
     70 # define PTRACE_O_TRACEVFORK	(1 << PTRACE_EVENT_VFORK)
     71 #endif
     72 #ifndef PTRACE_O_TRACECLONE
     73 # define PTRACE_O_TRACECLONE	(1 << PTRACE_EVENT_CLONE)
     74 #endif
     75 #ifndef PTRACE_O_TRACEEXEC
     76 # define PTRACE_O_TRACEEXEC	(1 << PTRACE_EVENT_EXEC)
     77 #endif
     78 #ifndef PTRACE_O_TRACEVFORKDONE
     79 # define PTRACE_O_TRACEVFORKDONE	(1 << PTRACE_EVENT_VFORK_DONE)
     80 #endif
     81 #ifndef PTRACE_O_TRACEEXIT
     82 # define PTRACE_O_TRACEEXIT	(1 << PTRACE_EVENT_EXIT)
     83 #endif
     84 #ifndef PTRACE_O_TRACESECCOMP
     85 # define PTRACE_O_TRACESECCOMP	(1 << PTRACE_EVENT_SECCOMP)
     86 #endif
     87 #ifndef PTRACE_O_EXITKILL
     88 # define PTRACE_O_EXITKILL	(1 << 20)
     89 #endif
     90 
     91 #ifndef PTRACE_SETOPTIONS
     92 # define PTRACE_SETOPTIONS	0x4200
     93 #endif
     94 #ifndef PTRACE_GETEVENTMSG
     95 # define PTRACE_GETEVENTMSG	0x4201
     96 #endif
     97 #ifndef PTRACE_GETSIGINFO
     98 # define PTRACE_GETSIGINFO	0x4202
     99 #endif
    100 #ifndef PTRACE_SETSIGINFO
    101 # define PTRACE_SETSIGINFO	0x4203
    102 #endif
    103 #ifndef PTRACE_GETREGSET
    104 # define PTRACE_GETREGSET	0x4204
    105 #endif
    106 #ifndef PTRACE_SETREGSET
    107 # define PTRACE_SETREGSET	0x4205
    108 #endif
    109 #ifndef PTRACE_SEIZE
    110 # define PTRACE_SEIZE		0x4206
    111 #endif
    112 #ifndef PTRACE_INTERRUPT
    113 # define PTRACE_INTERRUPT	0x4207
    114 #endif
    115 #ifndef PTRACE_LISTEN
    116 # define PTRACE_LISTEN		0x4208
    117 #endif
    118 #ifndef PTRACE_PEEKSIGINFO
    119 # define PTRACE_PEEKSIGINFO	0x4209
    120 #endif
    121 #ifndef PTRACE_GETSIGMASK
    122 # define PTRACE_GETSIGMASK	0x420a
    123 #endif
    124 #ifndef PTRACE_SETSIGMASK
    125 # define PTRACE_SETSIGMASK	0x420b
    126 #endif
    127 
    128 #if !HAVE_DECL_PTRACE_PEEKUSER
    129 # define PTRACE_PEEKUSER PTRACE_PEEKUSR
    130 #endif
    131 #if !HAVE_DECL_PTRACE_POKEUSER
    132 # define PTRACE_POKEUSER PTRACE_POKEUSR
    133 #endif
    134