Hash :
a40f36e7
Author :
Date :
2025-05-14T04:04:28
include: Stop using *Ptr typedefs in public headers
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
/**
* @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
/*
* xmlMutex are a simple mutual exception locks.
*/
typedef struct _xmlMutex xmlMutex;
typedef xmlMutex *xmlMutexPtr;
/*
* xmlRMutex are reentrant mutual exception locks.
*/
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__ */