Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
hhhrrrttt222111
GitHub Repository: hhhrrrttt222111/Dorkify
Path: blob/master/venv/Lib/site-packages/lxml/includes/libxml/threads.h
811 views
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
#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__ */
85
86