diff options
Diffstat (limited to 'include/sys/ptrace.h')
| -rw-r--r-- | include/sys/ptrace.h | 38 | 
1 files changed, 38 insertions, 0 deletions
| diff --git a/include/sys/ptrace.h b/include/sys/ptrace.h index 229e1f3d..c72e3c06 100644 --- a/include/sys/ptrace.h +++ b/include/sys/ptrace.h @@ -41,6 +41,8 @@ extern "C" {  #define PTRACE_SETSIGMASK 0x420b  #define PTRACE_SECCOMP_GET_FILTER 0x420c  #define PTRACE_SECCOMP_GET_METADATA 0x420d +#define PTRACE_GET_SYSCALL_INFO 0x420e +#define PTRACE_GET_RSEQ_CONFIGURATION	0x420f  #define PT_READ_I PTRACE_PEEKTEXT  #define PT_READ_D PTRACE_PEEKDATA @@ -88,6 +90,11 @@ extern "C" {  #define PTRACE_PEEKSIGINFO_SHARED 1 +#define PTRACE_SYSCALL_INFO_NONE 0 +#define PTRACE_SYSCALL_INFO_ENTRY 1 +#define PTRACE_SYSCALL_INFO_EXIT 2 +#define PTRACE_SYSCALL_INFO_SECCOMP 3 +  #include <bits/ptrace.h>  struct __ptrace_peeksiginfo_args { @@ -101,6 +108,37 @@ struct __ptrace_seccomp_metadata {  	uint64_t flags;  }; +struct __ptrace_syscall_info { +	uint8_t op; +	uint8_t __pad[3]; +	uint32_t arch; +	uint64_t instruction_pointer; +	uint64_t stack_pointer; +	union { +		struct { +			uint64_t nr; +			uint64_t args[6]; +		} entry; +		struct { +			int64_t rval; +			uint8_t is_error; +		} exit; +		struct { +			uint64_t nr; +			uint64_t args[6]; +			uint32_t ret_data; +		} seccomp; +	}; +}; + +struct __ptrace_rseq_configuration { +	uint64_t rseq_abi_pointer; +	uint32_t rseq_abi_size; +	uint32_t signature; +	uint32_t flags; +	uint32_t pad; +}; +  long ptrace(int, ...);  #ifdef __cplusplus | 
