diff options
Diffstat (limited to 'libcsoap/libxml/nthreads.h')
-rw-r--r-- | libcsoap/libxml/nthreads.h | 66 |
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__ */ |