(define-sdl-func (* sdl-thread-t) sdl-create-thread ((fn sdl-thread-function-t) (name string) (data void*)) "SDL_CreateThread")
(define-sdl-func string sdl-get-thread-name ((thread (* sdl-thread-t))) "SDL_GetThreadName")
(define-sdl-func sdl-thread-id-t sdl-thread-id () "SDL_ThreadID")
(define-sdl-func sdl-thread-id-t sdl-get-thread-id ((thread (* sdl-thread-t))) "SDL_GetThreadID")
(define-sdl-func int sdl-set-thread-priority ((priority sdl-thread-priority-t)) "SDL_SetThreadPriority")
(define-sdl-func void sdl-wait-thread ((thread (* sdl-thread-t)) (status (* int))) "SDL_WaitThread")
(define-sdl-func void sdl-detach-thread ((thread (* sdl-thread-t))) "SDL_DetachThread")
(define-sdl-func sdl-tlsid-t sdl-tls-create () "SDL_TLSCreate")
(define-sdl-func void* sdl-tls-get ((id sdl-tlsid-t)) "SDL_TLSGet")
(define-sdl-func int sdl-tls-set ((id sdl-tlsid-t) (value void*) (destructor void*)) "SDL_TLSSet")
