diff options
Diffstat (limited to 'linuxthreads_db/thread_dbP.h')
-rw-r--r-- | linuxthreads_db/thread_dbP.h | 46 |
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 */ |