38#if (defined(__WIN32__) || defined(__GDK__)) && !defined(__WINRT__)
91#if (defined(__WIN32__) || defined(__GDK__)) && !defined(__WINRT__)
112#define SDL_PASSED_BEGINTHREAD_ENDTHREAD
115 (
void *, unsigned, unsigned (__stdcall *func)(
void *),
116 void * ,
unsigned,
unsigned * );
119#ifndef SDL_beginthread
120#define SDL_beginthread _beginthreadex
123#define SDL_endthread _endthreadex
133 const char *name,
const size_t stacksize,
void *data,
138#if defined(SDL_CreateThread) && SDL_DYNAMIC_API
139#undef SDL_CreateThread
140#define SDL_CreateThread(fn, name, data) SDL_CreateThread_REAL(fn, name, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread)
141#undef SDL_CreateThreadWithStackSize
142#define SDL_CreateThreadWithStackSize(fn, name, stacksize, data) SDL_CreateThreadWithStackSize_REAL(fn, name, stacksize, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread)
144#define SDL_CreateThread(fn, name, data) SDL_CreateThread(fn, name, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread)
145#define SDL_CreateThreadWithStackSize(fn, name, stacksize, data) SDL_CreateThreadWithStackSize(fn, name, stacksize, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread)
148#elif defined(__OS2__)
153#define SDL_PASSED_BEGINTHREAD_ENDTHREAD
158#ifndef SDL_beginthread
159#define SDL_beginthread _beginthread
162#define SDL_endthread _endthread
174#if defined(SDL_CreateThread) && SDL_DYNAMIC_API
175#undef SDL_CreateThread
176#define SDL_CreateThread(fn, name, data) SDL_CreateThread_REAL(fn, name, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread)
177#undef SDL_CreateThreadWithStackSize
178#define SDL_CreateThreadWithStackSize(fn, name, stacksize, data) SDL_CreateThreadWithStackSize_REAL(fn, name, stacksize, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread)
180#define SDL_CreateThread(fn, name, data) SDL_CreateThread(fn, name, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread)
181#define SDL_CreateThreadWithStackSize(fn, name, stacksize, data) SDL_CreateThreadWithStackSize(fn, name, stacksize, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread)
447extern DECLSPEC
int SDLCALL
SDL_TLSSet(
SDL_TLSID id,
const void *value,
void (SDLCALL *destructor)(
void*));
void * SDL_TLSGet(SDL_TLSID id)
void(__cdecl * pfnSDL_CurrentEndThread)(unsigned code)
void SDL_DetachThread(SDL_Thread *thread)
#define SDL_CreateThread(fn, name, data)
SDL_threadID SDL_GetThreadID(SDL_Thread *thread)
const char * SDL_GetThreadName(SDL_Thread *thread)
SDL_TLSID SDL_TLSCreate(void)
#define SDL_CreateThreadWithStackSize(fn, name, stacksize, data)
void SDL_TLSCleanup(void)
struct SDL_Thread SDL_Thread
int SDL_SetThreadPriority(SDL_ThreadPriority priority)
void SDL_WaitThread(SDL_Thread *thread, int *status)
unsigned long SDL_threadID
int SDL_TLSSet(SDL_TLSID id, const void *value, void(*destructor)(void *))
@ SDL_THREAD_PRIORITY_TIME_CRITICAL
@ SDL_THREAD_PRIORITY_LOW
@ SDL_THREAD_PRIORITY_HIGH
@ SDL_THREAD_PRIORITY_NORMAL
int(* SDL_ThreadFunction)(void *data)
uintptr_t(__cdecl * pfnSDL_CurrentBeginThread)(void *, unsigned, unsigned(__stdcall *func)(void *), void *, unsigned, unsigned *)
SDL_threadID SDL_ThreadID(void)