aboutsummaryrefslogtreecommitdiff
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 */