11 #ifndef __XML_THREADS_H__
12 #define __XML_THREADS_H__
14 #include <libxml/xmlversion.h>
23 typedef struct _xmlMutex xmlMutex;
24 typedef xmlMutex *xmlMutexPtr;
29 typedef struct _xmlRMutex xmlRMutex;
30 typedef xmlRMutex *xmlRMutexPtr;
35 #include <libxml/globals.h>
39 XMLPUBFUN xmlMutexPtr XMLCALL
41 XMLPUBFUN
void XMLCALL
42 xmlMutexLock (xmlMutexPtr tok);
43 XMLPUBFUN
void XMLCALL
44 xmlMutexUnlock (xmlMutexPtr tok);
45 XMLPUBFUN
void XMLCALL
46 xmlFreeMutex (xmlMutexPtr tok);
48 XMLPUBFUN xmlRMutexPtr XMLCALL
50 XMLPUBFUN
void XMLCALL
51 xmlRMutexLock (xmlRMutexPtr tok);
52 XMLPUBFUN
void XMLCALL
53 xmlRMutexUnlock (xmlRMutexPtr tok);
54 XMLPUBFUN
void XMLCALL
55 xmlFreeRMutex (xmlRMutexPtr tok);
60 XMLPUBFUN
void XMLCALL
61 xmlInitThreads (
void);
62 XMLPUBFUN
void XMLCALL
63 xmlLockLibrary (
void);
64 XMLPUBFUN
void XMLCALL
65 xmlUnlockLibrary(
void);
67 xmlGetThreadId (
void);
69 xmlIsMainThread (
void);
70 XMLPUBFUN
void XMLCALL
71 xmlCleanupThreads(
void);
72 XMLPUBFUN xmlGlobalStatePtr XMLCALL
73 xmlGetGlobalState(
void);
75 #if defined(HAVE_WIN32_THREADS) && !defined(HAVE_COMPILER_TLS) && defined(LIBXML_STATIC_FOR_DLL)
76 int XMLCALL xmlDllMain(
void *hinstDLL,
unsigned long fdwReason,
void *lpvReserved);