xml/libxml2libs/inc/libxml2/libxml2_threads.h
changeset 0 e35f40988205
child 20 889504eac4fb
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/xml/libxml2libs/inc/libxml2/libxml2_threads.h	Thu Dec 17 09:29:21 2009 +0200
@@ -0,0 +1,84 @@
+/*
+ * Summary: interfaces for thread handling
+ * Description: set of generic threading related routines
+ *              should work with pthreads, Windows native or TLS threads
+ *
+ * Copy: See Copyright for the status of this software.
+ *
+ * Author: Daniel Veillard
+ * Portion Copyright © 2009 Nokia Corporation and/or its subsidiary(-ies). All rights reserved. 
+ */
+
+/** @file
+@publishedAll
+@released
+*/
+
+#ifndef XML_THREADS_H
+#define XML_THREADS_H
+
+#include <libxml2_globals.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/*
+ * xmlMutex are a simple mutual exception locks.
+ */
+typedef struct _xmlMutex xmlMutex;
+typedef xmlMutex *xmlMutexPtr;
+
+/*
+ * xmlRMutex are reentrant mutual exception locks.
+ */
+typedef struct _xmlRMutex xmlRMutex;
+typedef xmlRMutex *xmlRMutexPtr;
+
+XMLPUBFUN xmlMutexPtr XMLCALL
+                        xmlNewMutex     (void);
+XMLPUBFUN void XMLCALL
+                        xmlMutexLock    (xmlMutexPtr tok);
+XMLPUBFUN void XMLCALL
+                        xmlMutexUnlock  (xmlMutexPtr tok);
+XMLPUBFUN void XMLCALL
+                        xmlFreeMutex    (xmlMutexPtr tok);
+
+XMLPUBFUN xmlRMutexPtr XMLCALL
+                        xmlNewRMutex    (void);
+XMLPUBFUN void XMLCALL
+                        xmlRMutexLock   (xmlRMutexPtr tok);
+XMLPUBFUN void XMLCALL
+                        xmlRMutexUnlock (xmlRMutexPtr tok);
+
+
+#ifndef XMLENGINE_EXCLUDE_UNUSED
+XMLPUBFUN void XMLCALL
+                        xmlFreeRMutex   (xmlRMutexPtr tok);
+#endif /* ifndef XMLENGINE_EXCLUDE_UNUSED */
+
+/*
+ * Library wide APIs.
+ */
+XMLPUBFUN void XMLCALL
+                        xmlInitThreads  (void);
+XMLPUBFUN void XMLCALL
+                        xmlLockLibrary  (void);
+XMLPUBFUN void XMLCALL
+                        xmlUnlockLibrary(void);
+XMLPUBFUN int XMLCALL
+                        xmlGetThreadId  (void);
+XMLPUBFUN int XMLCALL
+                        xmlIsMainThread (void);
+XMLPUBFUN void XMLCALL
+                        xmlCleanupThreads(void);
+XMLPUBFUN xmlGlobalStatePtr XMLCALL
+                        xmlGetGlobalState(void);
+
+#ifdef __cplusplus
+}
+#endif
+
+
+#endif /* XML_THREADS_H */
+