threads.h

00001 
00021 #ifndef __XML_THREADS_H__
00022 
00023 #define __XML_THREADS_H__
00024 
00025 
00026 
00027 #include <libxml/xmlversion.h>
00028 
00029 
00030 
00031 #ifdef __cplusplus
00032 
00033 extern "C" {
00034 
00035 #endif
00036 
00037 
00038 
00039 /*
00040 
00041  * xmlMutex are a simple mutual exception locks.
00042 
00043  */
00044 
00045 typedef struct _xmlMutex xmlMutex;
00046 
00047 typedef xmlMutex *xmlMutexPtr;
00048 
00049 
00050 
00051 /*
00052 
00053  * xmlRMutex are reentrant mutual exception locks.
00054 
00055  */
00056 
00057 typedef struct _xmlRMutex xmlRMutex;
00058 
00059 typedef xmlRMutex *xmlRMutexPtr;
00060 
00061 
00062 
00063 #ifdef __cplusplus
00064 
00065 }
00066 
00067 #endif
00068 
00069 #include <libxml/globals.h>
00070 
00071 #ifdef __cplusplus
00072 
00073 extern "C" {
00074 
00075 #endif
00076 
00077 
00078 
00079 XMLPUBFUN xmlMutexPtr XMLCALL           
00080 
00081                         xmlNewMutex     (void);
00082 
00083 XMLPUBFUN void XMLCALL                  
00084 
00085                         xmlMutexLock    (xmlMutexPtr tok);
00086 
00087 XMLPUBFUN void XMLCALL                  
00088 
00089                         xmlMutexUnlock  (xmlMutexPtr tok);
00090 
00091 XMLPUBFUN void XMLCALL                  
00092 
00093                         xmlFreeMutex    (xmlMutexPtr tok);
00094 
00095 
00096 
00097 XMLPUBFUN xmlRMutexPtr XMLCALL          
00098 
00099                         xmlNewRMutex    (void);
00100 
00101 XMLPUBFUN void XMLCALL                  
00102 
00103                         xmlRMutexLock   (xmlRMutexPtr tok);
00104 
00105 XMLPUBFUN void XMLCALL                  
00106 
00107                         xmlRMutexUnlock (xmlRMutexPtr tok);
00108 
00109 XMLPUBFUN void XMLCALL                  
00110 
00111                         xmlFreeRMutex   (xmlRMutexPtr tok);
00112 
00113 
00114 
00115 /*
00116 
00117  * Library wide APIs.
00118 
00119  */
00120 
00121 XMLPUBFUN void XMLCALL                  
00122 
00123                         xmlInitThreads  (void);
00124 
00125 XMLPUBFUN void XMLCALL                  
00126 
00127                         xmlLockLibrary  (void);
00128 
00129 XMLPUBFUN void XMLCALL                  
00130 
00131                         xmlUnlockLibrary(void);
00132 
00133 XMLPUBFUN int XMLCALL                   
00134 
00135                         xmlGetThreadId  (void);
00136 
00137 XMLPUBFUN int XMLCALL                   
00138 
00139                         xmlIsMainThread (void);
00140 
00141 XMLPUBFUN void XMLCALL                  
00142 
00143                         xmlCleanupThreads(void);
00144 
00145 XMLPUBFUN xmlGlobalStatePtr XMLCALL     
00146 
00147                         xmlGetGlobalState(void);
00148 
00149 
00150 
00151 #ifdef __cplusplus
00152 
00153 }
00154 
00155 #endif
00156 
00157 
00158 
00159 
00160 
00161 #endif /* __XML_THREADS_H__ */
00162 

Generated on Wed Jul 26 13:30:46 2006 for XSB by  doxygen 1.4.5