38#if defined(SDL_PLATFORM_WINDOWS)
133#ifdef SDL_WIKI_DOCUMENTATION_SECTION
271#define SDL_PROP_THREAD_CREATE_ENTRY_FUNCTION_POINTER "SDL.thread.create.entry_function"
272#define SDL_PROP_THREAD_CREATE_NAME_STRING "SDL.thread.create.name"
273#define SDL_PROP_THREAD_CREATE_USERDATA_POINTER "SDL.thread.create.userdata"
274#define SDL_PROP_THREAD_CREATE_STACKSIZE_NUMBER "SDL.thread.create.stacksize"
281#ifndef SDL_WIKI_DOCUMENTATION_SECTION
282# if defined(SDL_PLATFORM_WINDOWS)
283# ifndef SDL_BeginThreadFunction
284# define SDL_BeginThreadFunction _beginthreadex
286# ifndef SDL_EndThreadFunction
287# define SDL_EndThreadFunction _endthreadex
293#ifndef SDL_WIKI_DOCUMENTATION_SECTION
294# ifndef SDL_BeginThreadFunction
295# define SDL_BeginThreadFunction NULL
299#ifndef SDL_WIKI_DOCUMENTATION_SECTION
300# ifndef SDL_EndThreadFunction
301# define SDL_EndThreadFunction NULL
305#ifndef SDL_WIKI_DOCUMENTATION_SECTION
337#define SDL_CreateThread(fn, name, data) SDL_CreateThreadRuntime((fn), (name), (data), (SDL_FunctionPointer) (SDL_BeginThreadFunction), (SDL_FunctionPointer) (SDL_EndThreadFunction))
338#define SDL_CreateThreadWithProperties(props) SDL_CreateThreadWithPropertiesRuntime((props), (SDL_FunctionPointer) (SDL_BeginThreadFunction), (SDL_FunctionPointer) (SDL_EndThreadFunction))
339#define SDL_PROP_THREAD_CREATE_ENTRY_FUNCTION_POINTER "SDL.thread.create.entry_function"
340#define SDL_PROP_THREAD_CREATE_NAME_STRING "SDL.thread.create.name"
341#define SDL_PROP_THREAD_CREATE_USERDATA_POINTER "SDL.thread.create.userdata"
342#define SDL_PROP_THREAD_CREATE_STACKSIZE_NUMBER "SDL.thread.create.stacksize"
void(* SDL_FunctionPointer)(void)
SDL_ThreadState SDL_GetThreadState(SDL_Thread *thread)
SDL_ThreadID SDL_GetThreadID(SDL_Thread *thread)
#define SDL_CreateThreadWithProperties(props)
void SDL_DetachThread(SDL_Thread *thread)
#define SDL_CreateThread(fn, name, data)
bool SDL_SetCurrentThreadPriority(SDL_ThreadPriority priority)
void SDL_CleanupTLS(void)
bool SDL_SetTLS(SDL_TLSID *id, const void *value, SDL_TLSDestructorCallback destructor)
const char * SDL_GetThreadName(SDL_Thread *thread)
struct SDL_Thread SDL_Thread
void SDL_WaitThread(SDL_Thread *thread, int *status)
@ SDL_THREAD_PRIORITY_TIME_CRITICAL
@ SDL_THREAD_PRIORITY_LOW
@ SDL_THREAD_PRIORITY_HIGH
@ SDL_THREAD_PRIORITY_NORMAL
void * SDL_GetTLS(SDL_TLSID *id)
void(* SDL_TLSDestructorCallback)(void *value)
SDL_ThreadID SDL_GetCurrentThreadID(void)
int(* SDL_ThreadFunction)(void *data)
SDL_Thread * SDL_CreateThreadRuntime(SDL_ThreadFunction fn, const char *name, void *data, SDL_FunctionPointer pfnBeginThread, SDL_FunctionPointer pfnEndThread)
SDL_Thread * SDL_CreateThreadWithPropertiesRuntime(SDL_PropertiesID props, SDL_FunctionPointer pfnBeginThread, SDL_FunctionPointer pfnEndThread)