about summary refs log tree commit diff
path: root/linuxthreads_db/thread_dbP.h
diff options
context:
space:
mode:
Diffstat (limited to 'linuxthreads_db/thread_dbP.h')
-rw-r--r--linuxthreads_db/thread_dbP.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/linuxthreads_db/thread_dbP.h b/linuxthreads_db/thread_dbP.h
new file mode 100644
index 0000000000..8db5b588dd
--- /dev/null
+++ b/linuxthreads_db/thread_dbP.h
@@ -0,0 +1,46 @@
+/* Private header for thread debug library.  */
+#ifndef _THREAD_DBP_H
+#define _THREAD_DBP_H	1
+
+#include "thread_db.h"
+#include "../linuxthreads/internals.h"
+
+#include "proc_service.h"
+
+
+/* Comment out the following for less verbose output.  */
+#define LOG(c) __libc_write (2, c "\n", strlen (c "\n"))
+extern ssize_t __libc_write (int, const void *, size_t);
+
+
+
+/* Handle for a process.  This type is opaque.  */
+struct td_thragent
+{
+  /* Delivered by the debugger and we have to pass it back in the
+     proc callbacks.  */
+  struct ps_prochandle *ph;
+
+  /* Some cached information.  */
+
+  /* Address of the `__pthread_handles' array.  */
+  struct pthread_handle_struct *handles;
+
+  /* Address of the `pthread_kyes' array.  */
+  struct pthread_key_struct *keys;
+
+  /* Maximum number of threads.  */
+  int pthread_threads_max;
+
+  /* Maximum number of thread-local data keys.  */
+  int pthread_keys_max;
+
+  /* Size of 2nd level array for thread-local data keys.  */
+  int pthread_key_2ndlevel_size;
+
+  /* Sizeof struct _pthread_descr_struct.  */
+  int sizeof_descr;
+};
+
+
+#endif /* thread_dbP.h */