home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 13 / AACD13.ISO / AACD / Programming / SDL-Amiga / include / SDL_thread.h < prev    next >
C/C++ Source or Header  |  2000-04-20  |  2KB  |  75 lines

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