source: libcf/trunk/include/cf_thread.h@ 6

Last change on this file since 6 was 6, checked in by cheese, 11 years ago

#1 add debug util and arrange some code

File size: 1.2 KB
Line 
1/**
2 * cf_thread.h
3 */
4#ifndef __CF_THREAD_H__
5#define __CF_THREAD_H__
6
7#include "cf_base.h"
8
9#define CF_ERROR_THREAD_CREATE CF_ERROR_THREAD - 1
10#define CF_ERROR_THREAD_INVALID_ARGS CF_ERROR_THREAD - 2
11
12#define CF_ERROR_MUTEX_CREATE CF_ERROR_MUTEX - 1
13#define CF_ERROR_MUTEX_INVALID_ARGS CF_ERROR_MUTEX - 2
14
15#ifdef _WIN32
16//# include <stddef.h>
17# define CF_THREAD_RETURN unsigned int
18# define CF_THREAD_CALL __stdcall
19#else // #ifdef _WIN32
20# define CF_THREAD_RETURN void *
21# define CF_THREAD_CALL
22#endif // #ifdef _WIN32
23
24typedef CF_THREAD_RETURN (CF_THREAD_CALL * CF_Thread_Function) (void *);
25
26typedef void * CF_Thread;
27typedef void * CF_Mutex;
28
29#ifdef __cplusplus
30extern "C" {
31#endif
32
33CF_EXPORT int
34CF_Thread_Create (CF_Thread * threadID,
35 CF_Thread_Function callback,
36 void * arg);
37
38CF_EXPORT int
39CF_Thread_Release (CF_Thread * threadID);
40
41CF_EXPORT int
42CF_Thread_Join (CF_Thread * threadID);
43
44CF_EXPORT int
45CF_Mutex_Create (CF_Mutex * mutex);
46
47CF_EXPORT int
48CF_Mutex_Destory (CF_Mutex * mutex);
49
50CF_EXPORT int
51CF_Mutex_Lock (CF_Mutex * mutex);
52
53CF_EXPORT int
54CF_Mutex_Unlock (CF_Mutex * mutex);
55
56#ifdef __cplusplus
57}
58#endif
59
60#endif // #ifndef __CF_THREAD_H__
Note: See TracBrowser for help on using the repository browser.