From 8a3773454fb68b31f0ab30534ae05b2f900921fb Mon Sep 17 00:00:00 2001 From: rans Date: Thu, 26 Aug 2004 17:05:17 +0000 Subject: libxml headers --- libcsoap/libxml/nthreads.h | 66 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 libcsoap/libxml/nthreads.h (limited to 'libcsoap/libxml/nthreads.h') 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 + +#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 + +#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__ */ -- cgit v1.1-32-gdbae