tls.h revision 44c0c4d3
1/*
2 * Copyright 2003-2009, Axel D��rfler, axeld@pinc-software.de.
3 * Distributed under the terms of the MIT License.
4 */
5#ifndef _KERNEL_TLS_H
6#define _KERNEL_TLS_H
7
8
9#include <support/TLS.h>
10
11
12#define TLS_SIZE (TLS_MAX_KEYS * sizeof(void *))
13
14enum {
15	TLS_BASE_ADDRESS_SLOT = 0,
16		// contains the address of the local storage space
17
18	TLS_THREAD_ID_SLOT,
19	TLS_ERRNO_SLOT,
20	TLS_ON_EXIT_THREAD_SLOT,
21	TLS_USER_THREAD_SLOT,
22	TLS_DYNAMIC_THREAD_VECTOR,
23
24	// Note: these entries can safely be changed between
25	// releases; 3rd party code always calls tls_allocate()
26	// to get a free slot
27
28	TLS_FIRST_FREE_SLOT
29		// the first free slot for user allocations
30};
31
32#endif	/* _KERNEL_TLS_H */
33