LTKCPP-- LLRP Toolkit C Plus Plus Library
threads.h
1 
11 #ifndef __XML_THREADS_H__
12 #define __XML_THREADS_H__
13 
14 #include <libxml/xmlversion.h>
15 
16 #ifdef __cplusplus
17 extern "C" {
18 #endif
19 
20 /*
21  * xmlMutex are a simple mutual exception locks.
22  */
23 typedef struct _xmlMutex xmlMutex;
24 typedef xmlMutex *xmlMutexPtr;
25 
26 /*
27  * xmlRMutex are reentrant mutual exception locks.
28  */
29 typedef struct _xmlRMutex xmlRMutex;
30 typedef xmlRMutex *xmlRMutexPtr;
31 
32 #ifdef __cplusplus
33 }
34 #endif
35 #include <libxml/globals.h>
36 #ifdef __cplusplus
37 extern "C" {
38 #endif
39 XMLPUBFUN xmlMutexPtr XMLCALL
40  xmlNewMutex (void);
41 XMLPUBFUN void XMLCALL
42  xmlMutexLock (xmlMutexPtr tok);
43 XMLPUBFUN void XMLCALL
44  xmlMutexUnlock (xmlMutexPtr tok);
45 XMLPUBFUN void XMLCALL
46  xmlFreeMutex (xmlMutexPtr tok);
47 
48 XMLPUBFUN xmlRMutexPtr XMLCALL
49  xmlNewRMutex (void);
50 XMLPUBFUN void XMLCALL
51  xmlRMutexLock (xmlRMutexPtr tok);
52 XMLPUBFUN void XMLCALL
53  xmlRMutexUnlock (xmlRMutexPtr tok);
54 XMLPUBFUN void XMLCALL
55  xmlFreeRMutex (xmlRMutexPtr tok);
56 
57 /*
58  * Library wide APIs.
59  */
60 XMLPUBFUN void XMLCALL
61  xmlInitThreads (void);
62 XMLPUBFUN void XMLCALL
63  xmlLockLibrary (void);
64 XMLPUBFUN void XMLCALL
65  xmlUnlockLibrary(void);
66 XMLPUBFUN int XMLCALL
67  xmlGetThreadId (void);
68 XMLPUBFUN int XMLCALL
69  xmlIsMainThread (void);
70 XMLPUBFUN void XMLCALL
71  xmlCleanupThreads(void);
72 XMLPUBFUN xmlGlobalStatePtr XMLCALL
73  xmlGetGlobalState(void);
74 
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);
77 #endif
78 
79 #ifdef __cplusplus
80 }
81 #endif
82 
83 
84 #endif /* __XML_THREADS_H__ */