~ubuntu-branches/ubuntu/wily/opencollada/wily-proposed

« back to all changes in this revision

Viewing changes to Externals/LibXML/include/libxml/threads.h

  • Committer: Package Import Robot
  • Author(s): Matteo F. Vescovi
  • Date: 2015-05-14 17:23:27 UTC
  • Revision ID: package-import@ubuntu.com-20150514172327-f862u8envms01fra
Tags: upstream-0.1.0~20140703.ddf8f47+dfsg1
ImportĀ upstreamĀ versionĀ 0.1.0~20140703.ddf8f47+dfsg1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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__ */