Annotation of embedaddon/libxml2/include/libxml/threads.h, revision 1.1
1.1 ! misho 1: /**
! 2: * Summary: interfaces for thread handling
! 3: * Description: set of generic threading related routines
! 4: * should work with pthreads, Windows native or TLS threads
! 5: *
! 6: * Copy: See Copyright for the status of this software.
! 7: *
! 8: * Author: Daniel Veillard
! 9: */
! 10:
! 11: #ifndef __XML_THREADS_H__
! 12: #define __XML_THREADS_H__
! 13:
! 14: #include <libxml/xmlversion.h>
! 15:
! 16: #ifdef __cplusplus
! 17: extern "C" {
! 18: #endif
! 19:
! 20: /*
! 21: * xmlMutex are a simple mutual exception locks.
! 22: */
! 23: typedef struct _xmlMutex xmlMutex;
! 24: typedef xmlMutex *xmlMutexPtr;
! 25:
! 26: /*
! 27: * xmlRMutex are reentrant mutual exception locks.
! 28: */
! 29: typedef struct _xmlRMutex xmlRMutex;
! 30: typedef xmlRMutex *xmlRMutexPtr;
! 31:
! 32: #ifdef __cplusplus
! 33: }
! 34: #endif
! 35: #include <libxml/globals.h>
! 36: #ifdef __cplusplus
! 37: extern "C" {
! 38: #endif
! 39: XMLPUBFUN xmlMutexPtr XMLCALL
! 40: xmlNewMutex (void);
! 41: XMLPUBFUN void XMLCALL
! 42: xmlMutexLock (xmlMutexPtr tok);
! 43: XMLPUBFUN void XMLCALL
! 44: xmlMutexUnlock (xmlMutexPtr tok);
! 45: XMLPUBFUN void XMLCALL
! 46: xmlFreeMutex (xmlMutexPtr tok);
! 47:
! 48: XMLPUBFUN xmlRMutexPtr XMLCALL
! 49: xmlNewRMutex (void);
! 50: XMLPUBFUN void XMLCALL
! 51: xmlRMutexLock (xmlRMutexPtr tok);
! 52: XMLPUBFUN void XMLCALL
! 53: xmlRMutexUnlock (xmlRMutexPtr tok);
! 54: XMLPUBFUN void XMLCALL
! 55: xmlFreeRMutex (xmlRMutexPtr tok);
! 56:
! 57: /*
! 58: * Library wide APIs.
! 59: */
! 60: XMLPUBFUN void XMLCALL
! 61: xmlInitThreads (void);
! 62: XMLPUBFUN void XMLCALL
! 63: xmlLockLibrary (void);
! 64: XMLPUBFUN void XMLCALL
! 65: xmlUnlockLibrary(void);
! 66: XMLPUBFUN int XMLCALL
! 67: xmlGetThreadId (void);
! 68: XMLPUBFUN int XMLCALL
! 69: xmlIsMainThread (void);
! 70: XMLPUBFUN void XMLCALL
! 71: xmlCleanupThreads(void);
! 72: XMLPUBFUN xmlGlobalStatePtr XMLCALL
! 73: xmlGetGlobalState(void);
! 74:
! 75: #if defined(HAVE_WIN32_THREADS) && !defined(HAVE_COMPILER_TLS) && defined(LIBXML_STATIC_FOR_DLL)
! 76: int XMLCALL xmlDllMain(void *hinstDLL, unsigned long fdwReason, void *lpvReserved);
! 77: #endif
! 78:
! 79: #ifdef __cplusplus
! 80: }
! 81: #endif
! 82:
! 83:
! 84: #endif /* __XML_THREADS_H__ */
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>