]> git.ipfire.org Git - thirdparty/glibc.git/blobdiff - sysdeps/unix/sysv/linux/ia64/sys/ptrace.h
Update copyright dates with scripts/update-copyrights
[thirdparty/glibc.git] / sysdeps / unix / sysv / linux / ia64 / sys / ptrace.h
index ae94464b2052928c6be029a6b4ef6138ee9b9bc8..bea975bb9e3d7fbcdf65be787aa5dd18925e845b 100644 (file)
@@ -1,5 +1,5 @@
 /* `ptrace' debugger support interface.  Linux/ia64 version.
-   Copyright (C) 2001, 2006, 2007, 2011 Free Software Foundation, Inc.
+   Copyright (C) 2001-2021 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
 
    You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; if not, see
-   <http://www.gnu.org/licenses/>.  */
+   <https://www.gnu.org/licenses/>.  */
 
 #ifndef _SYS_PTRACE_H
 #define _SYS_PTRACE_H  1
 
 #include <features.h>
 #include <sys/ucontext.h>
+#include <bits/sigcontext.h>
+#include <bits/types.h>
 
 __BEGIN_DECLS
 
@@ -65,8 +67,7 @@ enum __ptrace_request
   PTRACE_KILL = 8,
 #define PT_KILL PTRACE_KILL
 
-  /* Single step the process.
-     This is not supported on all machines.  */
+  /* Single step the process.  */
   PTRACE_SINGLESTEP = 9,
 #define PT_STEP PTRACE_SINGLESTEP
 
@@ -90,7 +91,7 @@ enum __ptrace_request
   PTRACE_SETREGS = 19,
 #define PT_SETREGS PTRACE_SETREGS
 
-  /* Continue and stop at the next (return from) syscall.  */
+  /* Continue and stop at the next entry to or return from syscall.  */
   PTRACE_SYSCALL = 24,
 #define PT_SYSCALL PTRACE_SYSCALL
 
@@ -128,18 +129,37 @@ enum __ptrace_request
 #define PTRACE_INTERRUPT PTRACE_INTERRUPT
 
   /* Wait for next group event.  */
-  PTRACE_LISTEN = 0x4208
-};
+  PTRACE_LISTEN = 0x4208,
+#define PTRACE_LISTEN PTRACE_LISTEN
 
+  /* Retrieve siginfo_t structures without removing signals from a queue.  */
+  PTRACE_PEEKSIGINFO = 0x4209,
+#define PTRACE_PEEKSIGINFO PTRACE_PEEKSIGINFO
 
-/* Flag for PTRACE_LISTEN.  */
-enum __ptrace_flags
-{
-  PTRACE_SEIZE_DEVEL = 0x80000000
+  /* Get the mask of blocked signals.  */
+  PTRACE_GETSIGMASK = 0x420a,
+#define PTRACE_GETSIGMASK PTRACE_GETSIGMASK
+
+  /* Change the mask of blocked signals.  */
+  PTRACE_SETSIGMASK = 0x420b,
+#define PTRACE_SETSIGMASK PTRACE_SETSIGMASK
+
+  /* Get seccomp BPF filters.  */
+  PTRACE_SECCOMP_GET_FILTER = 0x420c,
+#define PTRACE_SECCOMP_GET_FILTER PTRACE_SECCOMP_GET_FILTER
+
+  /* Get seccomp BPF filter metadata.  */
+  PTRACE_SECCOMP_GET_METADATA = 0x420d,
+#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
+
+  /* Get information about system call.  */
+  PTRACE_GET_SYSCALL_INFO = 0x420e
+#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO
 };
 
+
 /* pt_all_user_regs is used for PTRACE_GETREGS/PTRACE_SETREGS.  */
-struct pt_all_user_regs
+struct __pt_all_user_regs
   {
     unsigned long nat;
     unsigned long cr_iip;
@@ -150,41 +170,10 @@ struct pt_all_user_regs
     unsigned long gr[32];
     unsigned long br[8];
     unsigned long ar[128];
-    struct ia64_fpreg fr[128];
+    struct __ia64_fpreg fr[128];
   };
 
-/* 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_MASK                = 0x0000007f
-};
-
-/* 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
-};
-
-/* Perform process tracing functions.  REQUEST is one of the values
-   above, and determines the action to be taken.
-   For all requests except PTRACE_TRACEME, PID specifies the process to be
-   traced.
-
-   PID and the other arguments described above for the various requests should
-   appear (those that are used for the particular request) as:
-     pid_t PID, void *ADDR, int DATA, void *ADDR2
-   after REQUEST.  */
-extern long int ptrace (enum __ptrace_request __request, ...) __THROW;
+#include <bits/ptrace-shared.h>
 
 __END_DECLS