Fix formatting in coff-x86_64.c
[deliverable/binutils-gdb.git] / gdb / gdbserver / gdbthread.h
index adc23da6423b0492688dc065e274e8aff8b441ce..051041948569632e27261064f39f83410fa73de1 100644 (file)
@@ -1,6 +1,5 @@
 /* Multi-thread control defs for remote server for GDB.
-   Copyright (C) 1993, 1995, 1997-2000, 2002-2012 Free Software
-   Foundation, Inc.
+   Copyright (C) 1993-2015 Free Software Foundation, Inc.
 
    This file is part of GDB.
 
 #ifndef GDB_THREAD_H
 #define GDB_THREAD_H
 
-#include "server.h"
+#include "inferiors.h"
+
+struct btrace_target_info;
+struct regcache;
 
 struct thread_info
 {
+  /* This must appear first.  See inferiors.h.
+     The list iterator functions assume it.  */
   struct inferior_list_entry entry;
+
   void *target_data;
-  void *regcache_data;
+  struct regcache *regcache_data;
 
   /* The last resume GDB requested on this thread.  */
   enum resume_kind last_resume_kind;
@@ -34,6 +39,9 @@ struct thread_info
   /* The last wait status reported for this thread.  */
   struct target_waitstatus last_status;
 
+  /* True if LAST_STATUS hasn't been reported to GDB yet.  */
+  int status_pending_p;
+
   /* Given `while-stepping', a thread may be collecting data for more
      than one tracepoint simultaneously.  E.g.:
 
@@ -58,16 +66,25 @@ struct thread_info
    Each item in the list holds the current step of the while-stepping
    action.  */
   struct wstep_state *while_stepping;
+
+  /* Branch trace target information for this thread.  */
+  struct btrace_target_info *btrace;
 };
 
 extern struct inferior_list all_threads;
 
 void remove_thread (struct thread_info *thread);
-void add_thread (ptid_t ptid, void *target_data);
+struct thread_info *add_thread (ptid_t ptid, void *target_data);
+
+struct thread_info *get_first_thread (void);
 
 struct thread_info *find_thread_ptid (ptid_t ptid);
-struct thread_info *gdb_id_to_thread (unsigned int);
+
+/* Find any thread of the PID process.  Returns NULL if none is
+   found.  */
+struct thread_info *find_any_thread_of_pid (int pid);
 
 /* Get current thread ID (Linux task ID).  */
-#define current_ptid ((struct inferior_list_entry *) current_inferior)->id
+#define current_ptid (current_thread->entry.id)
+
 #endif /* GDB_THREAD_H */
This page took 0.024827 seconds and 4 git commands to generate.