Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
4973 | right-hear | 1 | /* |
2 | SDL - Simple DirectMedia Layer |
||
3 | Copyright (C) 1997-2004 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@libsdl.org |
||
21 | */ |
||
22 | |||
23 | #ifdef SAVE_RCSID |
||
24 | static char rcsid = |
||
25 | "@(#) $Id: SDL_thread.h,v 1.6 2004/01/04 16:49:08 slouken 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 * SDLCALL SDL_CreateThread(int (*fn)(void *), void *data); |
||
54 | |||
55 | /* Get the 32-bit thread identifier for the current thread */ |
||
56 | extern DECLSPEC Uint32 SDLCALL SDL_ThreadID(void); |
||
57 | |||
58 | /* Get the 32-bit thread identifier for the specified thread, |
||
59 | equivalent to SDL_ThreadID() if the specified thread is NULL. |
||
60 | */ |
||
61 | extern DECLSPEC Uint32 SDLCALL SDL_GetThreadID(SDL_Thread *thread); |
||
62 | |||
63 | /* Wait for a thread to finish. |
||
64 | The return code for the thread function is placed in the area |
||
65 | pointed to by 'status', if 'status' is not NULL. |
||
66 | */ |
||
67 | extern DECLSPEC void SDLCALL SDL_WaitThread(SDL_Thread *thread, int *status); |
||
68 | |||
69 | /* Forcefully kill a thread without worrying about its state */ |
||
70 | extern DECLSPEC void SDLCALL SDL_KillThread(SDL_Thread *thread); |
||
71 | |||
72 | |||
73 | /* Ends C function definitions when using C++ */ |
||
74 | #ifdef __cplusplus |
||
75 | } |
||
76 | #endif |
||
77 | #include "close_code.h" |
||
78 | |||
79 | #endif /* _SDL_thread_h */ |