Add a test case for skip with inlined functions
[deliverable/binutils-gdb.git] / gdb / nat / linux-nat.h
index 51d9ead21b8244c6d61c2b4161cb592eed8c53c9..13af248485504877abbfd3f8cca9983dc55043bc 100644 (file)
@@ -1,6 +1,6 @@
 /* Code for native debugging support for GNU/Linux (LWP layer).
 
-   Copyright (C) 2000-2015 Free Software Foundation, Inc.
+   Copyright (C) 2000-2019 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
    You should have received a copy of the GNU General Public License
    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
-#ifndef LINUX_NAT_H
-#define LINUX_NAT_H
+#ifndef NAT_LINUX_NAT_H
+#define NAT_LINUX_NAT_H
+
+#include "gdbsupport/function-view.h"
+#include "target/waitstatus.h"
 
 struct lwp_info;
+struct arch_lwp_info;
+
+/* This is the kernel's hard limit.  Not to be confused with SIGRTMIN.  */
+#ifndef __SIGRTMIN
+#define __SIGRTMIN 32
+#endif
 
 /* Unlike other extended result codes, WSTOPSIG (status) on
    PTRACE_O_TRACESYSGOOD syscall events doesn't return SIGTRAP, but
@@ -35,7 +44,7 @@ struct lwp_info;
 extern ptid_t current_lwp_ptid (void);
 
 /* Function type for the CALLBACK argument of iterate_over_lwps.  */
-typedef int (iterate_over_lwps_ftype) (struct lwp_info *lwp, void *arg);
+typedef int (iterate_over_lwps_ftype) (struct lwp_info *lwp);
 
 /* Iterate over all LWPs.  Calls CALLBACK with its second argument set
    to DATA for every LWP in the list.  If CALLBACK returns nonzero for
@@ -43,14 +52,25 @@ typedef int (iterate_over_lwps_ftype) (struct lwp_info *lwp, void *arg);
    LWP immediately.  Otherwise return NULL.  This function must be
    provided by the client.  */
 
-extern struct lwp_info *iterate_over_lwps (ptid_t filter,
-                                          iterate_over_lwps_ftype callback,
-                                          void *data);
+extern struct lwp_info *iterate_over_lwps
+    (ptid_t filter,
+     gdb::function_view<iterate_over_lwps_ftype> callback);
 
 /* Return the ptid of LWP.  */
 
 extern ptid_t ptid_of_lwp (struct lwp_info *lwp);
 
+/* Set the architecture-specific data of LWP.  This function must be
+   provided by the client. */
+
+extern void lwp_set_arch_private_info (struct lwp_info *lwp,
+                                      struct arch_lwp_info *info);
+
+/* Return the architecture-specific data of LWP.  This function must
+   be provided by the client. */
+
+extern struct arch_lwp_info *lwp_arch_private_info (struct lwp_info *lwp);
+
 /* Return nonzero if LWP is stopped, zero otherwise.  This function
    must be provided by the client.  */
 
@@ -66,4 +86,9 @@ extern enum target_stop_reason lwp_stop_reason (struct lwp_info *lwp);
 
 extern void linux_stop_lwp (struct lwp_info *lwp);
 
-#endif /* LINUX_NAT_H */
+/* Return nonzero if we are single-stepping this LWP at the ptrace
+   level.  */
+
+extern int lwp_is_stepping (struct lwp_info *lwp);
+
+#endif /* NAT_LINUX_NAT_H */
This page took 0.024461 seconds and 4 git commands to generate.