#include <sysdep.h>
#include <tls.h>

RESULT			offsetof (struct pthread, result)
TID			offsetof (struct pthread, tid)
PID			offsetof (struct pthread, pid)
CANCELHANDLING		offsetof (struct pthread, cancelhandling)
CLEANUP_JMP_BUF		offsetof (struct pthread, cleanup_jmp_buf)
CLEANUP			offsetof (struct pthread, cleanup)
CLEANUP_PREV		offsetof (struct _pthread_cleanup_buffer, __prev)
MUTEX_FUTEX		offsetof (pthread_mutex_t, __data.__lock)
MULTIPLE_THREADS_OFFSET	offsetof (tcbhead_t, multiple_threads)
POINTER_GUARD		offsetof (tcbhead_t, pointer_guard)
VGETCPU_CACHE_OFFSET	offsetof (tcbhead_t, vgetcpu_cache)
#ifndef __ASSUME_PRIVATE_FUTEX
PRIVATE_FUTEX		offsetof (tcbhead_t, private_futex)
#endif
RTLD_SAVESPACE_SSE	offsetof (tcbhead_t, rtld_savespace_sse)

-- Not strictly offsets, but these values are also used in the TCB.
TCB_CANCELSTATE_BITMASK	 CANCELSTATE_BITMASK
TCB_CANCELTYPE_BITMASK	 CANCELTYPE_BITMASK
TCB_CANCELING_BITMASK	 CANCELING_BITMASK
TCB_CANCELED_BITMASK	 CANCELED_BITMASK
TCB_EXITING_BITMASK	 EXITING_BITMASK
TCB_CANCEL_RESTMASK	 CANCEL_RESTMASK
TCB_TERMINATED_BITMASK	 TERMINATED_BITMASK
TCB_PTHREAD_CANCELED	 PTHREAD_CANCELED