15#ifndef WIN32_LEAN_AND_MEAN
16#define WIN32_LEAN_AND_MEAN
24#include <corecrt_startup.h>
31#define FUNCS_PER_NODE 30
58#ifdef HAVE_ATTRIBUTE_THREAD
59#define __CRT_THREAD __declspec(thread)
61#define __CRT_THREAD __thread
65#define DISABLE_MS_TLS 1
70#if !defined (DISABLE_MS_TLS)
100 pfunc = (
_PVFV *) ps;
117#if !defined (DISABLE_MS_TLS)
118 if (dtor_list ==
NULL)
120 dtor_list = &dtor_list_head;
121 dtor_list_head.count = 0;
129 pnode->
next = dtor_list;
132 dtor_list->
count = 0;
134 dtor_list->funcs[dtor_list->count++] =
func;
142#if !defined (DISABLE_MS_TLS)
154#if !defined (DISABLE_MS_TLS)
157 for (pnode = dtor_list; pnode !=
NULL; pnode = pnext)
159 for (
i = pnode->
count - 1;
i >= 0; --
i)
166 free ((
void *) pnode);
int mingw_initltsdrot_force
int mingw_initltsdyn_force
int mingw_initltssuo_force
static WCHAR reason[MAX_STRING_RESOURCE_LEN]
#define DLL_THREAD_DETACH
#define DLL_PROCESS_ATTACH
#define DLL_PROCESS_DETACH
#define DLL_THREAD_ATTACH
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
VOID(NTAPI * PIMAGE_TLS_CALLBACK)(PVOID DllHandle, ULONG Reason, PVOID Reserved)
void(__cdecl * _PVFV)(void)
struct TlsDtorNode * next
_PVFV funcs[FUNCS_PER_NODE]
const PIMAGE_TLS_CALLBACK __dyn_tls_init_callback
static BOOL WINAPI __dyn_tls_dtor(HANDLE hDllHandle, DWORD dwReason, LPVOID lpreserved)
WINBOOL __mingw_TLScallback(HANDLE hDllHandle, DWORD reason, LPVOID reserved)