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
00042
00043
00044
00045 typedef struct _xmlMutex xmlMutex;
00046
00047 typedef xmlMutex *xmlMutexPtr;
00048
00049
00050
00051
00052
00053
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
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
00162