#include <pthread.h> #include <tls.h> RESULT offsetof (struct pthread, result) TID offsetof (struct pthread, tid) CANCELHANDLING offsetof (struct pthread, cancelhandling) CLEANUP_JMP_BUF offsetof (struct pthread, cleanup_jmp_buf) MULTIPLE_THREADS_OFFSET offsetof (struct pthread, header.multiple_threads) TLS_PRE_TCB_SIZE sizeof (struct pthread) MUTEX_FUTEX offsetof (pthread_mutex_t, __data.__lock) -- Use a thread_offset when working with asm to make things simpler -- This way we get the offset of a member in the struct pthread that -- preceeds the thread pointer (which points to the dtv). #define thread_offsetof(mem) (unsigned int)(offsetof(struct pthread, mem) - sizeof(struct pthread)) TID_THREAD_OFFSET thread_offsetof (tid) MULTIPLE_THREADS_THREAD_OFFSET thread_offsetof (header.multiple_threads)