1#ifndef _SYS_PTRACE_H 2#define _SYS_PTRACE_H 3#ifdef __cplusplus 4extern "C" { 5#endif 6 7#include <stdint.h> 8 9#define PTRACE_TRACEME 0 10#define PT_TRACE_ME PTRACE_TRACEME 11 12#define PTRACE_PEEKTEXT 1 13#define PTRACE_PEEKDATA 2 14#define PTRACE_PEEKUSER 3 15#define PTRACE_POKETEXT 4 16#define PTRACE_POKEDATA 5 17#define PTRACE_POKEUSER 6 18#define PTRACE_CONT 7 19#define PTRACE_KILL 8 20#define PTRACE_SINGLESTEP 9 21#define PTRACE_GETREGS 12 22#define PTRACE_SETREGS 13 23#define PTRACE_GETFPREGS 14 24#define PTRACE_SETFPREGS 15 25#define PTRACE_ATTACH 16 26#define PTRACE_DETACH 17 27#define PTRACE_GETFPXREGS 18 28#define PTRACE_SETFPXREGS 19 29#define PTRACE_SYSCALL 24 30#define PTRACE_SETOPTIONS 0x4200 31#define PTRACE_GETEVENTMSG 0x4201 32#define PTRACE_GETSIGINFO 0x4202 33#define PTRACE_SETSIGINFO 0x4203 34#define PTRACE_GETREGSET 0x4204 35#define PTRACE_SETREGSET 0x4205 36#define PTRACE_SEIZE 0x4206 37#define PTRACE_INTERRUPT 0x4207 38#define PTRACE_LISTEN 0x4208 39#define PTRACE_PEEKSIGINFO 0x4209 40#define PTRACE_GETSIGMASK 0x420a 41#define PTRACE_SETSIGMASK 0x420b 42#define PTRACE_SECCOMP_GET_FILTER 0x420c 43 44#define PT_READ_I PTRACE_PEEKTEXT 45#define PT_READ_D PTRACE_PEEKDATA 46#define PT_READ_U PTRACE_PEEKUSER 47#define PT_WRITE_I PTRACE_POKETEXT 48#define PT_WRITE_D PTRACE_POKEDATA 49#define PT_WRITE_U PTRACE_POKEUSER 50#define PT_CONTINUE PTRACE_CONT 51#define PT_KILL PTRACE_KILL 52#define PT_STEP PTRACE_SINGLESTEP 53#define PT_GETREGS PTRACE_GETREGS 54#define PT_SETREGS PTRACE_SETREGS 55#define PT_GETFPREGS PTRACE_GETFPREGS 56#define PT_SETFPREGS PTRACE_SETFPREGS 57#define PT_ATTACH PTRACE_ATTACH 58#define PT_DETACH PTRACE_DETACH 59#define PT_GETFPXREGS PTRACE_GETFPXREGS 60#define PT_SETFPXREGS PTRACE_SETFPXREGS 61#define PT_SYSCALL PTRACE_SYSCALL 62#define PT_SETOPTIONS PTRACE_SETOPTIONS 63#define PT_GETEVENTMSG PTRACE_GETEVENTMSG 64#define PT_GETSIGINFO PTRACE_GETSIGINFO 65#define PT_SETSIGINFO PTRACE_SETSIGINFO 66 67#define PTRACE_O_TRACESYSGOOD 0x00000001 68#define PTRACE_O_TRACEFORK 0x00000002 69#define PTRACE_O_TRACEVFORK 0x00000004 70#define PTRACE_O_TRACECLONE 0x00000008 71#define PTRACE_O_TRACEEXEC 0x00000010 72#define PTRACE_O_TRACEVFORKDONE 0x00000020 73#define PTRACE_O_TRACEEXIT 0x00000040 74#define PTRACE_O_TRACESECCOMP 0x00000080 75#define PTRACE_O_EXITKILL 0x00100000 76#define PTRACE_O_SUSPEND_SECCOMP 0x00200000 77#define PTRACE_O_MASK 0x003000ff 78 79#define PTRACE_EVENT_FORK 1 80#define PTRACE_EVENT_VFORK 2 81#define PTRACE_EVENT_CLONE 3 82#define PTRACE_EVENT_EXEC 4 83#define PTRACE_EVENT_VFORK_DONE 5 84#define PTRACE_EVENT_EXIT 6 85#define PTRACE_EVENT_SECCOMP 7 86 87#define PTRACE_PEEKSIGINFO_SHARED 1 88 89struct ptrace_peeksiginfo_args { 90 uint64_t off; 91 uint32_t flags; 92 int32_t nr; 93}; 94 95long ptrace(int, ...); 96 97#ifdef __cplusplus 98} 99#endif 100#endif 101