2 * Summary: interfaces for thread handling
3 * Description: set of generic threading related routines
4 * should work with pthreads, Windows native or TLS threads
6 * Copy: See Copyright for the status of this software.
8 * Author: Daniel Veillard
9 * Portion Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.
20 #include <libxml2_globals.h>
27 * xmlMutex are a simple mutual exception locks.
29 typedef struct _xmlMutex xmlMutex;
30 typedef xmlMutex *xmlMutexPtr;
33 * xmlRMutex are reentrant mutual exception locks.
35 typedef struct _xmlRMutex xmlRMutex;
36 typedef xmlRMutex *xmlRMutexPtr;
38 XMLPUBFUN xmlMutexPtr XMLCALL
40 XMLPUBFUN void XMLCALL
41 xmlMutexLock (xmlMutexPtr tok);
42 XMLPUBFUN void XMLCALL
43 xmlMutexUnlock (xmlMutexPtr tok);
44 XMLPUBFUN void XMLCALL
45 xmlFreeMutex (xmlMutexPtr tok);
47 XMLPUBFUN xmlRMutexPtr XMLCALL
49 XMLPUBFUN void XMLCALL
50 xmlRMutexLock (xmlRMutexPtr tok);
51 XMLPUBFUN void XMLCALL
52 xmlRMutexUnlock (xmlRMutexPtr tok);
55 #ifndef XMLENGINE_EXCLUDE_UNUSED
56 XMLPUBFUN void XMLCALL
57 xmlFreeRMutex (xmlRMutexPtr tok);
58 #endif /* ifndef XMLENGINE_EXCLUDE_UNUSED */
63 XMLPUBFUN void XMLCALL
64 xmlInitThreads (void);
65 XMLPUBFUN void XMLCALL
66 xmlLockLibrary (void);
67 XMLPUBFUN void XMLCALL
68 xmlUnlockLibrary(void);
70 xmlGetThreadId (void);
72 xmlIsMainThread (void);
73 XMLPUBFUN void XMLCALL
74 xmlCleanupThreads(void);
75 XMLPUBFUN xmlGlobalStatePtr XMLCALL
76 xmlGetGlobalState(void);
83 #endif /* XML_THREADS_H */