diff options
Diffstat (limited to 'Build/source/libs/gd/gd-2.0.35/gdhelpers.h')
-rw-r--r-- | Build/source/libs/gd/gd-2.0.35/gdhelpers.h | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/Build/source/libs/gd/gd-2.0.35/gdhelpers.h b/Build/source/libs/gd/gd-2.0.35/gdhelpers.h new file mode 100644 index 00000000000..0c45ad35b53 --- /dev/null +++ b/Build/source/libs/gd/gd-2.0.35/gdhelpers.h @@ -0,0 +1,61 @@ +#ifdef __cplusplus +extern "C" { +#endif + +#ifndef GDHELPERS_H +#define GDHELPERS_H 1 + +/* sys/types.h is needed for size_t on Sparc-SunOS-4.1 */ +#include <sys/types.h> + +/* TBB: strtok_r is not universal; provide an implementation of it. */ + + char * gd_strtok_r (char *s, char *sep, char **state); + +/* These functions wrap memory management. gdFree is + in gd.h, where callers can utilize it to correctly + free memory allocated by these functions with the + right version of free(). */ +void *gdCalloc (size_t nmemb, size_t size); +void *gdMalloc (size_t size); +void *gdRealloc (void *ptr, size_t size); + +/* Returns nonzero if multiplying the two quantities will + result in integer overflow. Also returns nonzero if + either quantity is negative. By Phil Knirsch based on + netpbm fixes by Alan Cox. */ + +int overflow2(int a, int b); + +/* 2.0.16: portable mutex support for thread safety. */ + +#ifdef WIN32 +/* 2.0.18: must include windows.h to get CRITICAL_SECTION. */ +#include <windows.h> +#define gdMutexDeclare(x) CRITICAL_SECTION x +#define gdMutexSetup(x) InitializeCriticalSection(&x) +#define gdMutexShutdown(x) DeleteCriticalSection(&x) +#define gdMutexLock(x) EnterCriticalSection(&x) +#define gdMutexUnlock(x) LeaveCriticalSection(&x) +#else +#ifdef HAVE_PTHREAD +#include <pthread.h> +#define gdMutexDeclare(x) pthread_mutex_t x +#define gdMutexSetup(x) pthread_mutex_init(&x, 0) +#define gdMutexShutdown(x) pthread_mutex_destroy(&x) +#define gdMutexLock(x) pthread_mutex_lock(&x) +#define gdMutexUnlock(x) pthread_mutex_unlock(&x) +#else +#define gdMutexDeclare(x) +#define gdMutexSetup(x) +#define gdMutexShutdown(x) +#define gdMutexLock(x) +#define gdMutexUnlock(x) +#endif /* HAVE_PTHREAD */ +#endif /* WIN32 */ + +#endif /* GDHELPERS_H */ + +#ifdef __cplusplus +} +#endif |