Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
wine-mirror
GitHub Repository: wine-mirror/wine
Path: blob/master/libs/xml2/include/libxml/threads.h
4394 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
XMLPUBFUN int
33
xmlCheckThreadLocalStorage(void);
34
35
XMLPUBFUN xmlMutexPtr
36
xmlNewMutex (void);
37
XMLPUBFUN void
38
xmlMutexLock (xmlMutexPtr tok);
39
XMLPUBFUN void
40
xmlMutexUnlock (xmlMutexPtr tok);
41
XMLPUBFUN void
42
xmlFreeMutex (xmlMutexPtr tok);
43
44
XMLPUBFUN xmlRMutexPtr
45
xmlNewRMutex (void);
46
XMLPUBFUN void
47
xmlRMutexLock (xmlRMutexPtr tok);
48
XMLPUBFUN void
49
xmlRMutexUnlock (xmlRMutexPtr tok);
50
XMLPUBFUN void
51
xmlFreeRMutex (xmlRMutexPtr tok);
52
53
/*
54
* Library wide APIs.
55
*/
56
XML_DEPRECATED
57
XMLPUBFUN void
58
xmlInitThreads (void);
59
XMLPUBFUN void
60
xmlLockLibrary (void);
61
XMLPUBFUN void
62
xmlUnlockLibrary(void);
63
XML_DEPRECATED
64
XMLPUBFUN int
65
xmlGetThreadId (void);
66
XML_DEPRECATED
67
XMLPUBFUN int
68
xmlIsMainThread (void);
69
XML_DEPRECATED
70
XMLPUBFUN void
71
xmlCleanupThreads(void);
72
73
/** DOC_DISABLE */
74
#if defined(LIBXML_THREAD_ENABLED) && defined(_WIN32) && \
75
defined(LIBXML_STATIC_FOR_DLL)
76
int
77
xmlDllMain(void *hinstDLL, unsigned long fdwReason,
78
void *lpvReserved);
79
#endif
80
/** DOC_ENABLE */
81
82
#ifdef __cplusplus
83
}
84
#endif
85
86
87
#endif /* __XML_THREADS_H__ */
88
89