root/maint/gnulib/lib/windows-tls.h

/* [previous][next][first][last][top][bottom][index][help] */

INCLUDED FROM


   1 /* Thread-local storage (native Windows implementation).
   2    Copyright (C) 2005-2021 Free Software Foundation, Inc.
   3 
   4    This file is free software: you can redistribute it and/or modify
   5    it under the terms of the GNU Lesser General Public License as
   6    published by the Free Software Foundation; either version 2.1 of the
   7    License, or (at your option) any later version.
   8 
   9    This file is distributed in the hope that it will be useful,
  10    but WITHOUT ANY WARRANTY; without even the implied warranty of
  11    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12    GNU Lesser General Public License for more details.
  13 
  14    You should have received a copy of the GNU Lesser General Public License
  15    along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
  16 
  17 /* Written by Bruno Haible <bruno@clisp.org>, 2005.  */
  18 
  19 #ifndef _WINDOWS_TLS_H
  20 #define _WINDOWS_TLS_H
  21 
  22 #define WIN32_LEAN_AND_MEAN  /* avoid including junk */
  23 #include <windows.h>
  24 
  25 typedef DWORD glwthread_tls_key_t;
  26 
  27 #ifdef __cplusplus
  28 extern "C" {
  29 #endif
  30 
  31 extern int glwthread_tls_key_create (glwthread_tls_key_t *keyp, void (*destructor) (void *));
  32 extern void *glwthread_tls_get (glwthread_tls_key_t key);
  33 extern int glwthread_tls_set (glwthread_tls_key_t key, void *value);
  34 extern int glwthread_tls_key_delete (glwthread_tls_key_t key);
  35 extern void glwthread_tls_process_destructors (void);
  36 #define GLWTHREAD_DESTRUCTOR_ITERATIONS 4
  37 
  38 #ifdef __cplusplus
  39 }
  40 #endif
  41 
  42 #endif /* _WINDOWS_TLS_H */

/* [previous][next][first][last][top][bottom][index][help] */