20#include <winpr/config.h>
22#include <winpr/handle.h>
24#include <winpr/thread.h>
39 pthread_key_t key = 0;
41 if (pthread_key_create(&key,
nullptr) != 0)
42 return TLS_OUT_OF_INDEXES;
44 return TLS_OUT_OF_INDEXES;
45 return WINPR_ASSERTING_INT_CAST(DWORD, key);
48LPVOID TlsGetValue(DWORD dwTlsIndex)
50 pthread_key_t key = (pthread_key_t)dwTlsIndex;
51 return (LPVOID)pthread_getspecific(key);
54BOOL TlsSetValue(DWORD dwTlsIndex, LPVOID lpTlsValue)
56 pthread_key_t key = (pthread_key_t)dwTlsIndex;
57 pthread_setspecific(key, lpTlsValue);
61BOOL TlsFree(DWORD dwTlsIndex)
63 pthread_key_t key = (pthread_key_t)dwTlsIndex;
64 pthread_key_delete(key);