thread_generic.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00017 #ifndef __thread_generic_h__
00018 #define __thread_generic_h__
00019
00020 #include <pthread.h>
00021 #include <wintypes.h>
00022
00023 #ifdef __cplusplus
00024 extern "C"
00025 {
00026 #endif
00027
00028 #define PCSCLITE_THREAD_T pthread_t
00029 #define PCSCLITE_MUTEX pthread_mutex_t
00030 #define PCSCLITE_MUTEX_T pthread_mutex_t*
00031 #define PCSCLITE_THREAD_FUNCTION(f) void *(*f)(void *)
00032
00033
00034 #define THREAD_ATTR_DEFAULT 0
00035 #define THREAD_ATTR_DETACHED 1
00036
00037 int SYS_MutexInit(PCSCLITE_MUTEX_T);
00038 int SYS_MutexDestroy(PCSCLITE_MUTEX_T);
00039 int SYS_MutexLock(PCSCLITE_MUTEX_T);
00040 int SYS_MutexTryLock(PCSCLITE_MUTEX_T);
00041 int SYS_MutexUnLock(PCSCLITE_MUTEX_T);
00042 int SYS_ThreadCreate(PCSCLITE_THREAD_T *, int, PCSCLITE_THREAD_FUNCTION( ),
00043 LPVOID);
00044 int SYS_ThreadCancel(PCSCLITE_THREAD_T);
00045 int SYS_ThreadDetach(PCSCLITE_THREAD_T);
00046 int SYS_ThreadJoin(PCSCLITE_THREAD_T, LPVOID*);
00047 int SYS_ThreadExit( LPVOID);
00048 PCSCLITE_THREAD_T SYS_ThreadSelf(void);
00049 int SYS_ThreadEqual(PCSCLITE_THREAD_T *, PCSCLITE_THREAD_T *);
00050 int SYS_ThreadSetCancelType(int, int *);
00051
00052 #ifdef __cplusplus
00053 }
00054 #endif
00055
00056 #endif