/** Copyright 2003-2009, Axel DΓΆrfler, axeld@pinc-software.de.* Distributed under the terms of the MIT License.*/#ifndef _KERNEL_TLS_H#define _KERNEL_TLS_H#include <support/TLS.h>#define TLS_SIZE (TLS_MAX_KEYS * sizeof(void *))#define TLS_COMPAT_SIZE (TLS_MAX_KEYS * sizeof(uint32))enum {TLS_BASE_ADDRESS_SLOT = 0,// contains the address of the local storage spaceTLS_THREAD_ID_SLOT,TLS_ERRNO_SLOT,TLS_ON_EXIT_THREAD_SLOT,TLS_USER_THREAD_SLOT,TLS_DYNAMIC_THREAD_VECTOR,TLS_MALLOC_SLOT,TLS_LOCALE_SLOT,// Note: these entries can safely be changed between// releases; 3rd party code always calls tls_allocate()// to get a free slotTLS_FIRST_FREE_SLOT// the first free slot for user allocations};#endif /* _KERNEL_TLS_H */