Annotation of win32/gnome/gnome-xml/include/libxml/threads.h, revision 1.1
1.1 ! paf 1: /**
! 2: * threads.c: set of generic threading related routines
! 3: *
! 4: * See Copyright for the status of this software.
! 5: *
! 6: * daniel@veillard.com
! 7: */
! 8:
! 9: #ifndef __XML_THREADS_H__
! 10: #define __XML_THREADS_H__
! 11:
! 12: #ifdef __cplusplus
! 13: extern "C" {
! 14: #endif
! 15:
! 16: /*
! 17: * xmlMutex are a simple mutual exception locks.
! 18: */
! 19: typedef struct _xmlMutex xmlMutex;
! 20: typedef xmlMutex *xmlMutexPtr;
! 21:
! 22: /*
! 23: * xmlRMutex are reentrant mutual exception locks.
! 24: */
! 25: typedef struct _xmlRMutex xmlRMutex;
! 26: typedef xmlRMutex *xmlRMutexPtr;
! 27:
! 28: #ifdef __cplusplus
! 29: }
! 30: #endif
! 31: #include <libxml/globals.h>
! 32: #ifdef __cplusplus
! 33: extern "C" {
! 34: #endif
! 35:
! 36: xmlMutexPtr xmlNewMutex (void);
! 37: void xmlMutexLock (xmlMutexPtr tok);
! 38: void xmlMutexUnlock (xmlMutexPtr tok);
! 39: void xmlFreeMutex (xmlMutexPtr tok);
! 40:
! 41: xmlRMutexPtr xmlNewRMutex (void);
! 42: void xmlRMutexLock (xmlRMutexPtr tok);
! 43: void xmlRMutexUnlock (xmlRMutexPtr tok);
! 44: void xmlFreeRMutex (xmlRMutexPtr tok);
! 45:
! 46: /*
! 47: * Library wide APIs.
! 48: */
! 49: void xmlInitThreads (void);
! 50: void xmlLockLibrary (void);
! 51: void xmlUnlockLibrary(void);
! 52: int xmlGetThreadId (void);
! 53: int xmlIsMainThread (void);
! 54: void xmlCleanupThreads(void);
! 55: xmlGlobalStatePtr xmlGetGlobalState(void);
! 56:
! 57: #ifdef __cplusplus
! 58: }
! 59: #endif
! 60:
! 61:
! 62: #endif /* __XML_THREADS_H__ */
E-mail: