50#if defined(SDL_PLATFORM_WINDOWS)
145#ifdef SDL_WIKI_DOCUMENTATION_SECTION
283#define SDL_PROP_THREAD_CREATE_ENTRY_FUNCTION_POINTER "SDL.thread.create.entry_function"
284#define SDL_PROP_THREAD_CREATE_NAME_STRING "SDL.thread.create.name"
285#define SDL_PROP_THREAD_CREATE_USERDATA_POINTER "SDL.thread.create.userdata"
286#define SDL_PROP_THREAD_CREATE_STACKSIZE_NUMBER "SDL.thread.create.stacksize"
293#ifndef SDL_WIKI_DOCUMENTATION_SECTION
294# if defined(SDL_PLATFORM_WINDOWS)
295# ifndef SDL_BeginThreadFunction
296# define SDL_BeginThreadFunction _beginthreadex
298# ifndef SDL_EndThreadFunction
299# define SDL_EndThreadFunction _endthreadex
305#ifndef SDL_WIKI_DOCUMENTATION_SECTION
306# ifndef SDL_BeginThreadFunction
307# define SDL_BeginThreadFunction NULL
311#ifndef SDL_WIKI_DOCUMENTATION_SECTION
312# ifndef SDL_EndThreadFunction
313# define SDL_EndThreadFunction NULL
317#ifndef SDL_WIKI_DOCUMENTATION_SECTION
349#define SDL_CreateThread(fn, name, data) SDL_CreateThreadRuntime((fn), (name), (data), (SDL_FunctionPointer) (SDL_BeginThreadFunction), (SDL_FunctionPointer) (SDL_EndThreadFunction))
350#define SDL_CreateThreadWithProperties(props) SDL_CreateThreadWithPropertiesRuntime((props), (SDL_FunctionPointer) (SDL_BeginThreadFunction), (SDL_FunctionPointer) (SDL_EndThreadFunction))
351#define SDL_PROP_THREAD_CREATE_ENTRY_FUNCTION_POINTER "SDL.thread.create.entry_function"
352#define SDL_PROP_THREAD_CREATE_NAME_STRING "SDL.thread.create.name"
353#define SDL_PROP_THREAD_CREATE_USERDATA_POINTER "SDL.thread.create.userdata"
354#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)