Eneboo - Documentación para desarrolladores
|
00001 00011 #ifndef __XML_THREADS_H__ 00012 #define __XML_THREADS_H__ 00013 00014 #include <libxml/xmlversion.h> 00015 00016 #ifdef __cplusplus 00017 extern "C" { 00018 #endif 00019 00020 /* 00021 * xmlMutex are a simple mutual exception locks. 00022 */ 00023 typedef struct _xmlMutex xmlMutex; 00024 typedef xmlMutex *xmlMutexPtr; 00025 00026 /* 00027 * xmlRMutex are reentrant mutual exception locks. 00028 */ 00029 typedef struct _xmlRMutex xmlRMutex; 00030 typedef xmlRMutex *xmlRMutexPtr; 00031 00032 #ifdef __cplusplus 00033 } 00034 #endif 00035 #include <libxml/globals.h> 00036 #ifdef __cplusplus 00037 extern "C" { 00038 #endif 00039 XMLPUBFUN xmlMutexPtr XMLCALL 00040 xmlNewMutex (void); 00041 XMLPUBFUN void XMLCALL 00042 xmlMutexLock (xmlMutexPtr tok); 00043 XMLPUBFUN void XMLCALL 00044 xmlMutexUnlock (xmlMutexPtr tok); 00045 XMLPUBFUN void XMLCALL 00046 xmlFreeMutex (xmlMutexPtr tok); 00047 00048 XMLPUBFUN xmlRMutexPtr XMLCALL 00049 xmlNewRMutex (void); 00050 XMLPUBFUN void XMLCALL 00051 xmlRMutexLock (xmlRMutexPtr tok); 00052 XMLPUBFUN void XMLCALL 00053 xmlRMutexUnlock (xmlRMutexPtr tok); 00054 XMLPUBFUN void XMLCALL 00055 xmlFreeRMutex (xmlRMutexPtr tok); 00056 00057 /* 00058 * Library wide APIs. 00059 */ 00060 XMLPUBFUN void XMLCALL 00061 xmlInitThreads (void); 00062 XMLPUBFUN void XMLCALL 00063 xmlLockLibrary (void); 00064 XMLPUBFUN void XMLCALL 00065 xmlUnlockLibrary(void); 00066 XMLPUBFUN int XMLCALL 00067 xmlGetThreadId (void); 00068 XMLPUBFUN int XMLCALL 00069 xmlIsMainThread (void); 00070 XMLPUBFUN void XMLCALL 00071 xmlCleanupThreads(void); 00072 XMLPUBFUN xmlGlobalStatePtr XMLCALL 00073 xmlGetGlobalState(void); 00074 00075 #if defined(HAVE_WIN32_THREADS) && !defined(HAVE_COMPILER_TLS) && defined(LIBXML_STATIC_FOR_DLL) 00076 int XMLCALL xmlDllMain(void *hinstDLL, unsigned long fdwReason, void *lpvReserved); 00077 #endif 00078 00079 #ifdef __cplusplus 00080 } 00081 #endif 00082 00083 00084 #endif /* __XML_THREADS_H__ */