20#include <winpr/config.h>
22#include <winpr/handle.h>
24#include <winpr/thread.h>
37#if !defined(WITHOUT_WINPR_3x_DEPRECATED)
41 pthread_key_t key = 0;
43 if (pthread_key_create(&key,
nullptr) != 0)
44 return TLS_OUT_OF_INDEXES;
46 return TLS_OUT_OF_INDEXES;
47 return WINPR_ASSERTING_INT_CAST(DWORD, key);
50LPVOID TlsGetValue(DWORD dwTlsIndex)
52 pthread_key_t key = (pthread_key_t)dwTlsIndex;
53 return (LPVOID)pthread_getspecific(key);
56BOOL TlsSetValue(DWORD dwTlsIndex, LPVOID lpTlsValue)
58 pthread_key_t key = (pthread_key_t)dwTlsIndex;
59 pthread_setspecific(key, lpTlsValue);
63BOOL TlsFree(DWORD dwTlsIndex)
65 pthread_key_t key = (pthread_key_t)dwTlsIndex;
66 pthread_key_delete(key);