diff options
Diffstat (limited to 'libc')
| -rw-r--r-- | libc/sysdeps/linux/sparc/sys/ptrace.h | 97 | 
1 files changed, 92 insertions, 5 deletions
| diff --git a/libc/sysdeps/linux/sparc/sys/ptrace.h b/libc/sysdeps/linux/sparc/sys/ptrace.h index 26fa4b38d..0f6c2ccae 100644 --- a/libc/sysdeps/linux/sparc/sys/ptrace.h +++ b/libc/sysdeps/linux/sparc/sys/ptrace.h @@ -1,5 +1,5 @@  /* `ptrace' debugger support interface.  Linux/SPARC version. -   Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc. +   Copyright (C) 1996-2014 Free Software Foundation, Inc.     This file is part of the GNU C Library.     The GNU C Library is free software; you can redistribute it and/or @@ -20,7 +20,7 @@  #define _SYS_PTRACE_H	1  #include <features.h> - +#include <bits/types.h>  #include <bits/wordsize.h>  /* Linux/SPARC kernels up to 2.3.18 do not care much @@ -147,12 +147,11 @@ enum __ptrace_request  #endif    /* Continue and stop at the next (return from) syscall.  */ -  PTRACE_SYSCALL = 24 +  PTRACE_SYSCALL = 24,  #define PTRACE_SYSCALL PTRACE_SYSCALL  #if __WORDSIZE == 64 -  ,    /* Get all floating point registers used by a processes.       This is not supported on all machines.  */     PTRACE_GETFPREGS = 25, @@ -160,10 +159,98 @@ enum __ptrace_request    /* Set all floating point registers used by a processes.       This is not supported on all machines.  */ -   PTRACE_SETFPREGS = 26 +   PTRACE_SETFPREGS = 26,  #define PT_SETFPREGS PTRACE_SETFPREGS  #endif + +  /* Set ptrace filter options.  */ +  PTRACE_SETOPTIONS = 0x4200, +#define PT_SETOPTIONS PTRACE_SETOPTIONS + +  /* Get last ptrace message.  */ +  PTRACE_GETEVENTMSG = 0x4201, +#define PT_GETEVENTMSG PTRACE_GETEVENTMSG + +  /* Get siginfo for process.  */ +  PTRACE_GETSIGINFO = 0x4202, +#define PT_GETSIGINFO PTRACE_GETSIGINFO + +  /* Set new siginfo for process.  */ +  PTRACE_SETSIGINFO = 0x4203, +#define PT_SETSIGINFO PTRACE_SETSIGINFO + +  /* Get register content.  */ +  PTRACE_GETREGSET = 0x4204, +#define PTRACE_GETREGSET PTRACE_GETREGSET + +  /* Set register content.  */ +  PTRACE_SETREGSET = 0x4205, +#define PTRACE_SETREGSET PTRACE_SETREGSET + +  /* Like PTRACE_ATTACH, but do not force tracee to trap and do not affect +     signal or group stop state.  */ +  PTRACE_SEIZE = 0x4206, +#define PTRACE_SEIZE PTRACE_SEIZE + +  /* Trap seized tracee.  */ +  PTRACE_INTERRUPT = 0x4207, +#define PTRACE_INTERRUPT PTRACE_INTERRUPT + +  /* Wait for next group event.  */ +  PTRACE_LISTEN = 0x4208, +#define PTRACE_LISTEN PTRACE_LISTEN + +  PTRACE_PEEKSIGINFO = 0x4209 +#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO +}; + + +/* Flag for PTRACE_LISTEN.  */ +enum __ptrace_flags +{ +  PTRACE_SEIZE_DEVEL = 0x80000000 +}; + +/* Options set using PTRACE_SETOPTIONS.  */ +enum __ptrace_setoptions +{ +  PTRACE_O_TRACESYSGOOD	= 0x00000001, +  PTRACE_O_TRACEFORK	= 0x00000002, +  PTRACE_O_TRACEVFORK   = 0x00000004, +  PTRACE_O_TRACECLONE	= 0x00000008, +  PTRACE_O_TRACEEXEC	= 0x00000010, +  PTRACE_O_TRACEVFORKDONE = 0x00000020, +  PTRACE_O_TRACEEXIT	= 0x00000040, +  PTRACE_O_TRACESECCOMP = 0x00000080, +  PTRACE_O_EXITKILL	= 0x00100000, +  PTRACE_O_MASK		= 0x001000ff +}; + +/* Wait extended result codes for the above trace options.  */ +enum __ptrace_eventcodes +{ +  PTRACE_EVENT_FORK	= 1, +  PTRACE_EVENT_VFORK	= 2, +  PTRACE_EVENT_CLONE	= 3, +  PTRACE_EVENT_EXEC	= 4, +  PTRACE_EVENT_VFORK_DONE = 5, +  PTRACE_EVENT_EXIT	= 6, +  PTRACE_EVENT_SECCOMP  = 7 +}; + +/* Arguments for PTRACE_PEEKSIGINFO.  */ +struct __ptrace_peeksiginfo_args +{ +  __uint64_t off;	/* From which siginfo to start.  */ +  __uint32_t flags;	/* Flags for peeksiginfo.  */ +  __int32_t nr;		/* How many siginfos to take.  */ +}; + +enum __ptrace_peeksiginfo_flags +{ +  /* Read signals from a shared (process wide) queue.  */ +  PTRACE_PEEKSIGINFO_SHARED = (1 << 0)  };  /* Perform process tracing functions.  REQUEST is one of the values | 
