summaryrefslogtreecommitdiffstats
path: root/libcsoap/libxml/nthreads.h
diff options
context:
space:
mode:
authorGravatar rans2004-08-26 17:05:17 +0000
committerGravatar rans2004-08-26 17:05:17 +0000
commit8a3773454fb68b31f0ab30534ae05b2f900921fb (patch)
treea8beec95ec365f4a0299a9a0bbe7211202ec4305 /libcsoap/libxml/nthreads.h
parent6576b549c0acbe94e6d6d7e6c9a358c8a9fcea90 (diff)
downloadcsoap-8a3773454fb68b31f0ab30534ae05b2f900921fb.tar.gz
csoap-8a3773454fb68b31f0ab30534ae05b2f900921fb.tar.bz2
libxml headers
Diffstat (limited to 'libcsoap/libxml/nthreads.h')
-rw-r--r--libcsoap/libxml/nthreads.h66
1 files changed, 66 insertions, 0 deletions
diff --git a/libcsoap/libxml/nthreads.h b/libcsoap/libxml/nthreads.h
new file mode 100644
index 0000000..9a7e362
--- /dev/null
+++ b/libcsoap/libxml/nthreads.h
@@ -0,0 +1,66 @@
+/**
+ * Summary: interfaces for thread handling
+ * Description: set of generic threading related routines
+ *
+ * Copy: See Copyright for the status of this software.
+ *
+ * Author: Daniel Veillard
+ */
+
+#ifndef __XML_NTHREADS_H__
+#define __XML_NTHREADS_H__
+
+#include <libxml/xmlversion.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;
+
+#ifdef __cplusplus
+}
+#endif
+
+#include <libxml/globals.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct _xmlThreadHandler
+{
+ xmlMutexPtr (XMLCALL *newMutex) (void);
+ void (XMLCALL *lockMutex) (xmlMutexPtr);
+ void (XMLCALL *unlockMutex) (xmlMutexPtr);
+ void (XMLCALL *freeMutex) (xmlMutexPtr);
+
+ xmlRMutexPtr (XMLCALL *newRMutex) (void);
+ void (XMLCALL *lockRMutex) (xmlRMutexPtr);
+ void (XMLCALL *unlockRMutex) (xmlRMutexPtr);
+ void (XMLCALL *freeRMutex) (xmlRMutexPtr);
+
+ xmlGlobalStatePtr (XMLCALL *getGlobalState)(void);
+ int (XMLCALL *getThreadId) (void);
+ int (XMLCALL *isMainThread) (void);
+};
+typedef struct _xmlThreadHandler xmlThreadHandler;
+typedef xmlThreadHandler* xmlThreadHandlerPtr;
+
+
+#ifdef __cplusplus
+}
+#endif
+
+
+#endif /* __XML_THREADS_H__ */