1*8d67ca89SAndroid Build Coastguard Worker /* 2*8d67ca89SAndroid Build Coastguard Worker * This file is auto-generated. Modifications will be lost. 3*8d67ca89SAndroid Build Coastguard Worker * 4*8d67ca89SAndroid Build Coastguard Worker * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/ 5*8d67ca89SAndroid Build Coastguard Worker * for more information. 6*8d67ca89SAndroid Build Coastguard Worker */ 7*8d67ca89SAndroid Build Coastguard Worker #ifndef _UAPI_LINUX_PTRACE_H 8*8d67ca89SAndroid Build Coastguard Worker #define _UAPI_LINUX_PTRACE_H 9*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h> 10*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_TRACEME 0 11*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_PEEKTEXT 1 12*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_PEEKDATA 2 13*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_PEEKUSR 3 14*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_POKETEXT 4 15*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_POKEDATA 5 16*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_POKEUSR 6 17*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_CONT 7 18*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_KILL 8 19*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_SINGLESTEP 9 20*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_ATTACH 16 21*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_DETACH 17 22*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_SYSCALL 24 23*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_SETOPTIONS 0x4200 24*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_GETEVENTMSG 0x4201 25*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_GETSIGINFO 0x4202 26*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_SETSIGINFO 0x4203 27*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_GETREGSET 0x4204 28*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_SETREGSET 0x4205 29*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_SEIZE 0x4206 30*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_INTERRUPT 0x4207 31*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_LISTEN 0x4208 32*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_PEEKSIGINFO 0x4209 33*8d67ca89SAndroid Build Coastguard Worker struct ptrace_peeksiginfo_args { 34*8d67ca89SAndroid Build Coastguard Worker __u64 off; 35*8d67ca89SAndroid Build Coastguard Worker __u32 flags; 36*8d67ca89SAndroid Build Coastguard Worker __s32 nr; 37*8d67ca89SAndroid Build Coastguard Worker }; 38*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_GETSIGMASK 0x420a 39*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_SETSIGMASK 0x420b 40*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_SECCOMP_GET_FILTER 0x420c 41*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_SECCOMP_GET_METADATA 0x420d 42*8d67ca89SAndroid Build Coastguard Worker struct seccomp_metadata { 43*8d67ca89SAndroid Build Coastguard Worker __u64 filter_off; 44*8d67ca89SAndroid Build Coastguard Worker __u64 flags; 45*8d67ca89SAndroid Build Coastguard Worker }; 46*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_GET_SYSCALL_INFO 0x420e 47*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_SYSCALL_INFO_NONE 0 48*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_SYSCALL_INFO_ENTRY 1 49*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_SYSCALL_INFO_EXIT 2 50*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_SYSCALL_INFO_SECCOMP 3 51*8d67ca89SAndroid Build Coastguard Worker struct ptrace_syscall_info { 52*8d67ca89SAndroid Build Coastguard Worker __u8 op; 53*8d67ca89SAndroid Build Coastguard Worker __u8 pad[3]; 54*8d67ca89SAndroid Build Coastguard Worker __u32 arch; 55*8d67ca89SAndroid Build Coastguard Worker __u64 instruction_pointer; 56*8d67ca89SAndroid Build Coastguard Worker __u64 stack_pointer; 57*8d67ca89SAndroid Build Coastguard Worker union { 58*8d67ca89SAndroid Build Coastguard Worker struct { 59*8d67ca89SAndroid Build Coastguard Worker __u64 nr; 60*8d67ca89SAndroid Build Coastguard Worker __u64 args[6]; 61*8d67ca89SAndroid Build Coastguard Worker } entry; 62*8d67ca89SAndroid Build Coastguard Worker struct { 63*8d67ca89SAndroid Build Coastguard Worker __s64 rval; 64*8d67ca89SAndroid Build Coastguard Worker __u8 is_error; 65*8d67ca89SAndroid Build Coastguard Worker } exit; 66*8d67ca89SAndroid Build Coastguard Worker struct { 67*8d67ca89SAndroid Build Coastguard Worker __u64 nr; 68*8d67ca89SAndroid Build Coastguard Worker __u64 args[6]; 69*8d67ca89SAndroid Build Coastguard Worker __u32 ret_data; 70*8d67ca89SAndroid Build Coastguard Worker } seccomp; 71*8d67ca89SAndroid Build Coastguard Worker }; 72*8d67ca89SAndroid Build Coastguard Worker }; 73*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_GET_RSEQ_CONFIGURATION 0x420f 74*8d67ca89SAndroid Build Coastguard Worker struct ptrace_rseq_configuration { 75*8d67ca89SAndroid Build Coastguard Worker __u64 rseq_abi_pointer; 76*8d67ca89SAndroid Build Coastguard Worker __u32 rseq_abi_size; 77*8d67ca89SAndroid Build Coastguard Worker __u32 signature; 78*8d67ca89SAndroid Build Coastguard Worker __u32 flags; 79*8d67ca89SAndroid Build Coastguard Worker __u32 pad; 80*8d67ca89SAndroid Build Coastguard Worker }; 81*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_SET_SYSCALL_USER_DISPATCH_CONFIG 0x4210 82*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_GET_SYSCALL_USER_DISPATCH_CONFIG 0x4211 83*8d67ca89SAndroid Build Coastguard Worker struct ptrace_sud_config { 84*8d67ca89SAndroid Build Coastguard Worker __u64 mode; 85*8d67ca89SAndroid Build Coastguard Worker __u64 selector; 86*8d67ca89SAndroid Build Coastguard Worker __u64 offset; 87*8d67ca89SAndroid Build Coastguard Worker __u64 len; 88*8d67ca89SAndroid Build Coastguard Worker }; 89*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_EVENTMSG_SYSCALL_ENTRY 1 90*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_EVENTMSG_SYSCALL_EXIT 2 91*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_PEEKSIGINFO_SHARED (1 << 0) 92*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_EVENT_FORK 1 93*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_EVENT_VFORK 2 94*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_EVENT_CLONE 3 95*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_EVENT_EXEC 4 96*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_EVENT_VFORK_DONE 5 97*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_EVENT_EXIT 6 98*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_EVENT_SECCOMP 7 99*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_EVENT_STOP 128 100*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_O_TRACESYSGOOD 1 101*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_O_TRACEFORK (1 << PTRACE_EVENT_FORK) 102*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_O_TRACEVFORK (1 << PTRACE_EVENT_VFORK) 103*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_O_TRACECLONE (1 << PTRACE_EVENT_CLONE) 104*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_O_TRACEEXEC (1 << PTRACE_EVENT_EXEC) 105*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_O_TRACEVFORKDONE (1 << PTRACE_EVENT_VFORK_DONE) 106*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_O_TRACEEXIT (1 << PTRACE_EVENT_EXIT) 107*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_O_TRACESECCOMP (1 << PTRACE_EVENT_SECCOMP) 108*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_O_EXITKILL (1 << 20) 109*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_O_SUSPEND_SECCOMP (1 << 21) 110*8d67ca89SAndroid Build Coastguard Worker #define PTRACE_O_MASK (0x000000ff | PTRACE_O_EXITKILL | PTRACE_O_SUSPEND_SECCOMP) 111*8d67ca89SAndroid Build Coastguard Worker #include <asm/ptrace.h> 112*8d67ca89SAndroid Build Coastguard Worker #endif 113