39#if (defined(SDL_PLATFORM_WIN32) || defined(SDL_PLATFORM_GDK)) && !defined(SDL_PLATFORM_WINRT)
117#ifdef SDL_WIKI_DOCUMENTATION_SECTION
255#define SDL_PROP_THREAD_CREATE_ENTRY_FUNCTION_POINTER "entry_function"
256#define SDL_PROP_THREAD_CREATE_NAME_STRING "name"
257#define SDL_PROP_THREAD_CREATE_USERDATA_POINTER "userdata"
258#define SDL_PROP_THREAD_CREATE_STACKSIZE_NUMBER "stacksize"
265#ifndef SDL_WIKI_DOCUMENTATION_SECTION
266# if (defined(SDL_PLATFORM_WIN32) || defined(SDL_PLATFORM_GDK)) && !defined(SDL_PLATFORM_WINRT)
267# ifndef SDL_BeginThreadFunction
268# define SDL_BeginThreadFunction _beginthreadex
270# ifndef SDL_EndThreadFunction
271# define SDL_EndThreadFunction _endthreadex
277#ifndef SDL_WIKI_DOCUMENTATION_SECTION
278# ifndef SDL_BeginThreadFunction
279# define SDL_BeginThreadFunction NULL
283#ifndef SDL_WIKI_DOCUMENTATION_SECTION
284# ifndef SDL_EndThreadFunction
285# define SDL_EndThreadFunction NULL
289#ifndef SDL_WIKI_DOCUMENTATION_SECTION
321#define SDL_CreateThread(fn, name, data) SDL_CreateThreadRuntime((fn), (name), (data), (SDL_FunctionPointer) (SDL_BeginThreadFunction), (SDL_FunctionPointer) (SDL_EndThreadFunction))
322#define SDL_CreateThreadWithProperties(props) SDL_CreateThreadWithPropertiesRuntime((props), (SDL_FunctionPointer) (SDL_BeginThreadFunction), (SDL_FunctionPointer) (SDL_EndThreadFunction))
323#define SDL_PROP_THREAD_CREATE_ENTRY_FUNCTION_POINTER "entry_function"
324#define SDL_PROP_THREAD_CREATE_NAME_STRING "name"
325#define SDL_PROP_THREAD_CREATE_USERDATA_POINTER "userdata"
326#define SDL_PROP_THREAD_CREATE_STACKSIZE_NUMBER "stacksize"
void(* SDL_FunctionPointer)(void)
SDL_ThreadID SDL_GetThreadID(SDL_Thread *thread)
#define SDL_CreateThreadWithProperties(props)
void SDL_DetachThread(SDL_Thread *thread)
#define SDL_CreateThread(fn, name, data)
void SDL_CleanupTLS(void)
const char * SDL_GetThreadName(SDL_Thread *thread)
struct SDL_Thread SDL_Thread
int SDL_SetTLS(SDL_TLSID *id, const void *value, SDL_TLSDestructorCallback destructor)
int 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)