slouken@0: /* slouken@0: SDL - Simple DirectMedia Layer slouken@6137: Copyright (C) 1997-2012 Sam Lantinga slouken@0: slouken@0: This library is free software; you can redistribute it and/or slouken@1312: modify it under the terms of the GNU Lesser General Public slouken@0: License as published by the Free Software Foundation; either slouken@1312: version 2.1 of the License, or (at your option) any later version. slouken@0: slouken@0: This library is distributed in the hope that it will be useful, slouken@0: but WITHOUT ANY WARRANTY; without even the implied warranty of slouken@0: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU slouken@1312: Lesser General Public License for more details. slouken@0: slouken@1312: You should have received a copy of the GNU Lesser General Public slouken@1312: License along with this library; if not, write to the Free Software slouken@1312: Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA slouken@0: slouken@0: Sam Lantinga slouken@252: slouken@libsdl.org slouken@0: */ slouken@1402: #include "SDL_config.h" slouken@0: slouken@0: /* These are functions that need to be implemented by a port of SDL */ slouken@0: slouken@1361: #ifndef _SDL_systhread_h slouken@1361: #define _SDL_systhread_h slouken@1361: slouken@1361: #include "SDL_thread.h" slouken@0: slouken@0: /* This function creates a thread, passing args to SDL_RunThread(), slouken@0: saves a system-dependent thread id in thread->id, and returns 0 slouken@0: on success. slouken@0: */ slouken@1471: #ifdef SDL_PASSED_BEGINTHREAD_ENDTHREAD icculus@1190: extern int SDL_SYS_CreateThread(SDL_Thread *thread, void *args, pfnSDL_CurrentBeginThread pfnBeginThread, pfnSDL_CurrentEndThread pfnEndThread); icculus@1190: #else slouken@0: extern int SDL_SYS_CreateThread(SDL_Thread *thread, void *args); icculus@1190: #endif slouken@0: slouken@0: /* This function does any necessary setup in the child thread */ slouken@0: extern void SDL_SYS_SetupThread(void); slouken@0: slouken@0: /* This function waits for the thread to finish and frees any data slouken@0: allocated by SDL_SYS_CreateThread() slouken@0: */ slouken@0: extern void SDL_SYS_WaitThread(SDL_Thread *thread); slouken@0: slouken@0: /* This function kills the thread and returns */ slouken@0: extern void SDL_SYS_KillThread(SDL_Thread *thread); slouken@0: slouken@1361: #endif /* _SDL_systhread_h */