38#if defined(SDL_PLATFORM_WINDOWS)
116#ifdef SDL_WIKI_DOCUMENTATION_SECTION
254#define SDL_PROP_THREAD_CREATE_ENTRY_FUNCTION_POINTER "SDL.thread.create.entry_function"
255#define SDL_PROP_THREAD_CREATE_NAME_STRING "SDL.thread.create.name"
256#define SDL_PROP_THREAD_CREATE_USERDATA_POINTER "SDL.thread.create.userdata"
257#define SDL_PROP_THREAD_CREATE_STACKSIZE_NUMBER "SDL.thread.create.stacksize"
264#ifndef SDL_WIKI_DOCUMENTATION_SECTION
265# if defined(SDL_PLATFORM_WINDOWS)
266# ifndef SDL_BeginThreadFunction
267# define SDL_BeginThreadFunction _beginthreadex
269# ifndef SDL_EndThreadFunction
270# define SDL_EndThreadFunction _endthreadex
276#ifndef SDL_WIKI_DOCUMENTATION_SECTION
277# ifndef SDL_BeginThreadFunction
278# define SDL_BeginThreadFunction NULL
282#ifndef SDL_WIKI_DOCUMENTATION_SECTION
283# ifndef SDL_EndThreadFunction
284# define SDL_EndThreadFunction NULL
288#ifndef SDL_WIKI_DOCUMENTATION_SECTION
320#define SDL_CreateThread(fn, name, data) SDL_CreateThreadRuntime((fn), (name), (data), (SDL_FunctionPointer) (SDL_BeginThreadFunction), (SDL_FunctionPointer) (SDL_EndThreadFunction))
321#define SDL_CreateThreadWithProperties(props) SDL_CreateThreadWithPropertiesRuntime((props), (SDL_FunctionPointer) (SDL_BeginThreadFunction), (SDL_FunctionPointer) (SDL_EndThreadFunction))
322#define SDL_PROP_THREAD_CREATE_ENTRY_FUNCTION_POINTER "SDL.thread.create.entry_function"
323#define SDL_PROP_THREAD_CREATE_NAME_STRING "SDL.thread.create.name"
324#define SDL_PROP_THREAD_CREATE_USERDATA_POINTER "SDL.thread.create.userdata"
325#define SDL_PROP_THREAD_CREATE_STACKSIZE_NUMBER "SDL.thread.create.stacksize"
void(* SDL_FunctionPointer)(void)
SDL_ThreadID SDL_GetThreadID(SDL_Thread *thread)
#define SDL_CreateThreadWithProperties(props)
void SDL_DetachThread(SDL_Thread *thread)
SDL_bool SDL_SetTLS(SDL_TLSID *id, const void *value, SDL_TLSDestructorCallback destructor)
#define SDL_CreateThread(fn, name, data)
void SDL_CleanupTLS(void)
const char * SDL_GetThreadName(SDL_Thread *thread)
struct SDL_Thread SDL_Thread
SDL_bool SDL_SetThreadPriority(SDL_ThreadPriority priority)
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)