POSIX+ says goodbye and leaves. It used to be fun, now it's just painful
[reactos.git] / posix / lib / psxdll / misc / tls.c
diff --git a/posix/lib/psxdll/misc/tls.c b/posix/lib/psxdll/misc/tls.c
deleted file mode 100644 (file)
index bc17481..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-/* $Id: tls.c,v 1.1 2002/05/17 02:07:14 hyperion Exp $
- */
-/*
- * COPYRIGHT:   See COPYING in the top level directory
- * PROJECT:     ReactOS POSIX+ Subsystem
- * FILE:        subsys/psx/lib/psxdll/misc/tls.c
- * PURPOSE:     Thread local storage
- * PROGRAMMER:  KJK::Hyperion <noog@libero.it>
- * UPDATE HISTORY:
- *              30/04/2002: Created
- */
-
-#include <ddk/ntddk.h>
-#include <ntdll/rtl.h>
-#include <psx/tls.h>
-#include <psx/errno.h>
-
-__tls_index_t __tls_alloc()
-{
- ULONG nIndex;
-
- RtlAcquirePebLock();
-
- nIndex = RtlFindClearBitsAndSet(NtCurrentPeb()->TlsBitmap, 1, 0);
-
- if (nIndex == (ULONG)-1)
-  errno = ENOMEM;
- else
-  NtCurrentTeb()->TlsSlots[nIndex] = 0;
-
- RtlReleasePebLock();
-
- return(nIndex);
-
-}
-
-int __tls_free(__tls_index_t index)
-{
- if (index >= TLS_MINIMUM_AVAILABLE)
- {
-        errno = ERANGE;
-        return (-1);
- }
-
- RtlAcquirePebLock();
-
- if(RtlAreBitsSet(NtCurrentPeb()->TlsBitmap, index, 1))
- {
-        NtSetInformationThread
-  (
-   NtCurrentThread(),
-                       ThreadZeroTlsCell,
-                       &index,
-                       sizeof(DWORD)
-  );
-
-        RtlClearBits(NtCurrentPeb()->TlsBitmap, index, 1);
- }
-
- RtlReleasePebLock();
-
- return (0);
-}
-
-void * __tls_get_val(__tls_index_t index)
-{
- if(index >= TLS_MINIMUM_AVAILABLE)
- {
-        errno = ERANGE;
-        return (0);
- }
-
- return (NtCurrentTeb()->TlsSlots[index]);
-}
-
-int __tls_put_val(__tls_index_t index, void * data)
-{
- if(index >= TLS_MINIMUM_AVAILABLE)
- {
-       errno = ERANGE;
-  return (-1);
- }
-
- NtCurrentTeb()->TlsSlots[index] = data;
- return (0);
-}
-
-/* EOF */
-