#include <sysdep.h>
#include <tls.h>
#include <kernel-features.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)
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

-- 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
