SDL_thread.h
上传用户:sun1608
上传日期:2007-02-02
资源大小:6116k
文件大小:2k
源码类别:

流媒体/Mpeg4/MP4

开发平台:

Visual C++

  1. /*
  2.     SDL - Simple DirectMedia Layer
  3.     Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002  Sam Lantinga
  4.     This library is free software; you can redistribute it and/or
  5.     modify it under the terms of the GNU Library General Public
  6.     License as published by the Free Software Foundation; either
  7.     version 2 of the License, or (at your option) any later version.
  8.     This library is distributed in the hope that it will be useful,
  9.     but WITHOUT ANY WARRANTY; without even the implied warranty of
  10.     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  11.     Library General Public License for more details.
  12.     You should have received a copy of the GNU Library General Public
  13.     License along with this library; if not, write to the Free
  14.     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  15.     Sam Lantinga
  16.     slouken@libsdl.org
  17. */
  18. #ifdef SAVE_RCSID
  19. static char rcsid =
  20.  "@(#) $Id: SDL_thread.h,v 1.4 2002/04/22 21:38:01 wmay Exp $";
  21. #endif
  22. #ifndef _SDL_thread_h
  23. #define _SDL_thread_h
  24. /* Header for the SDL thread management routines 
  25. These are independent of the other SDL routines.
  26. */
  27. #include "SDL_main.h"
  28. #include "SDL_types.h"
  29. /* Thread synchronization primitives */
  30. #include "SDL_mutex.h"
  31. #include "begin_code.h"
  32. /* Set up for C function definitions, even when using C++ */
  33. #ifdef __cplusplus
  34. extern "C" {
  35. #endif
  36. /* The SDL thread structure, defined in SDL_thread.c */
  37. struct SDL_Thread;
  38. typedef struct SDL_Thread SDL_Thread;
  39. /* Create a thread */
  40. extern DECLSPEC SDL_Thread * SDLCALL SDL_CreateThread(int (*fn)(void *), void *data);
  41. /* Get the 32-bit thread identifier for the current thread */
  42. extern DECLSPEC Uint32 SDLCALL SDL_ThreadID(void);
  43. /* Get the 32-bit thread identifier for the specified thread,
  44.    equivalent to SDL_ThreadID() if the specified thread is NULL.
  45.  */
  46. extern DECLSPEC Uint32 SDLCALL SDL_GetThreadID(SDL_Thread *thread);
  47. /* Wait for a thread to finish.
  48.    The return code for the thread function is placed in the area
  49.    pointed to by 'status', if 'status' is not NULL.
  50.  */
  51. extern DECLSPEC void SDLCALL SDL_WaitThread(SDL_Thread *thread, int *status);
  52. /* Forcefully kill a thread without worrying about its state */
  53. extern DECLSPEC void SDLCALL SDL_KillThread(SDL_Thread *thread);
  54. /* Ends C function definitions when using C++ */
  55. #ifdef __cplusplus
  56. }
  57. #endif
  58. #include "close_code.h"
  59. #endif /* _SDL_thread_h */