00001
00038 #ifndef THREAD_H
00039 #define THREAD_H
00040
00041 #define NSTHREAD_EXPORTS
00042 #include "nsthread.h"
00043
00044 #ifdef WIN32
00045 typedef char *caddr_t;
00046 #endif
00047
00048 extern int NsGetStack(void **addrPtr, size_t *sizePtr);
00049 extern void NsthreadsInit(void);
00050 extern void NsInitThreads(void);
00051 extern void NsInitMaster(void);
00052 extern void NsInitReentrant(void);
00053 extern void NsMutexInitNext(Ns_Mutex *mutex, char *prefix, unsigned int *nextPtr);
00054 extern void *NsGetLock(Ns_Mutex *mutex);
00055 extern void *NsLockAlloc(void);
00056 extern void NsLockFree(void *lock);
00057 extern void NsLockSet(void *lock);
00058 extern int NsLockTry(void *lock);
00059 extern void NsLockUnset(void *lock);
00060 extern void NsCleanupTls(void **slots);
00061 extern void **NsGetTls(void);
00062 extern void NsThreadMain(void *arg);
00063 extern void NsCreateThread(void *arg, long stacksize, Ns_Thread *threadPtr);
00064 extern void NsThreadFatal(char *func, char *osfunc, int err) _nsnoreturn;
00065
00066 #endif