xref: /aosp_15_r20/bionic/libc/kernel/uapi/linux/ptrace.h (revision 8d67ca893c1523eb926b9080dbe4e2ffd2a27ba1)
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