comparison env/lib/python3.9/site-packages/lxml/includes/libxml/threads.h @ 0:4f3585e2f14b draft default tip

"planemo upload commit 60cee0fc7c0cda8592644e1aad72851dec82c959"
author shellac
date Mon, 22 Mar 2021 18:12:50 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:4f3585e2f14b
1 /**
2 * Summary: interfaces for thread handling
3 * Description: set of generic threading related routines
4 * should work with pthreads, Windows native or TLS threads
5 *
6 * Copy: See Copyright for the status of this software.
7 *
8 * Author: Daniel Veillard
9 */
10
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 #ifdef HAVE_PTHREAD_H
76 #elif defined(HAVE_WIN32_THREADS) && !defined(HAVE_COMPILER_TLS) && (!defined(LIBXML_STATIC) || defined(LIBXML_STATIC_FOR_DLL))
77 #if defined(LIBXML_STATIC_FOR_DLL)
78 int XMLCALL
79 xmlDllMain(void *hinstDLL, unsigned long fdwReason,
80 void *lpvReserved);
81 #endif
82 #endif
83
84 #ifdef __cplusplus
85 }
86 #endif
87
88
89 #endif /* __XML_THREADS_H__ */