Viewing file: threads.h (1.53 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
/** * @file * * @brief interfaces for thread handling * * set of generic threading related routines * should work with pthreads, Windows native or TLS threads * * @copyright See Copyright for the status of this software. * * @author Daniel Veillard */
#ifndef __XML_THREADS_H__ #define __XML_THREADS_H__
#include <libxml/xmlversion.h>
#ifdef __cplusplus extern "C" { #endif
/** Mutual exclusion object */ typedef struct _xmlMutex xmlMutex; typedef xmlMutex *xmlMutexPtr;
/** Reentrant mutual exclusion object */ typedef struct _xmlRMutex xmlRMutex; typedef xmlRMutex *xmlRMutexPtr;
XMLPUBFUN int xmlCheckThreadLocalStorage(void);
XMLPUBFUN xmlMutex * xmlNewMutex (void); XMLPUBFUN void xmlMutexLock (xmlMutex *tok); XMLPUBFUN void xmlMutexUnlock (xmlMutex *tok); XMLPUBFUN void xmlFreeMutex (xmlMutex *tok);
XMLPUBFUN xmlRMutex * xmlNewRMutex (void); XMLPUBFUN void xmlRMutexLock (xmlRMutex *tok); XMLPUBFUN void xmlRMutexUnlock (xmlRMutex *tok); XMLPUBFUN void xmlFreeRMutex (xmlRMutex *tok);
/* * Library wide APIs. */ XML_DEPRECATED XMLPUBFUN void xmlInitThreads (void); XMLPUBFUN void xmlLockLibrary (void); XMLPUBFUN void xmlUnlockLibrary(void); XML_DEPRECATED XMLPUBFUN void xmlCleanupThreads(void);
/** @cond IGNORE */ #if defined(LIBXML_THREAD_ENABLED) && defined(_WIN32) && \ defined(LIBXML_STATIC_FOR_DLL) int xmlDllMain(void *hinstDLL, unsigned long fdwReason, void *lpvReserved); #endif /** @endcond */
#ifdef __cplusplus } #endif
#endif /* __XML_THREADS_H__ */
|