18#ifndef _WIZARDSTOOLKIT_STUDIO_H
19#define _WIZARDSTOOLKIT_STUDIO_H
21#if defined(__cplusplus) || defined(c_plusplus)
25#if defined(WIN32) || defined(WIN64)
26# define WIZARDSTOOLKIT_WINDOWS_SUPPORT
28# define WIZARDSTOOLKIT_POSIX_SUPPORT
31#if !defined(_WIZARDSTOOLKIT_CONFIG_H)
32# define _WIZARDSTOOLKIT_CONFIG_H
33# if !defined(vms) && !defined(macintosh)
38#if defined(_WIZARDSTOOLKIT__FILE_OFFSET_BITS) && !defined(_FILE_OFFSET_BITS)
39# define _FILE_OFFSET_BITS _WIZARDSTOOLKIT__FILE_OFFSET_BITS
41#if defined(_wizardstoolkit_const) && !defined(const)
42# define const _wizardstoolkit_const
44#if defined(_wizardstoolkit_inline) && !defined(inline)
45# define inline _wizardstoolkit_inline
47# if defined(__cplusplus) || defined(c_plusplus)
58#if defined(WIZARDSTOOLKIT_HAVE_SYS_STAT_H)
61#if defined(WIZARDSTOOLKIT_STDC_HEADERS)
65# if defined(WIZARDSTOOLKIT_HAVE_STDLIB_H)
69#if !defined(wizard_restrict)
70# if !defined(_wizardcore_restrict)
71# define wizard_restrict restrict
73# define wizard_restrict _wizardcore_restrict
76#if defined(WIZARDSTOOLKIT_HAVE_STRING_H)
77# if !defined(STDC_HEADERS) && defined(WIZARDSTOOLKIT_HAVE_MEMORY_H)
82#if defined(WIZARDSTOOLKIT_HAVE_STRINGS_H)
85#if defined(WIZARDSTOOLKIT_HAVE_INTTYPES_H)
88#if defined(WIZARDSTOOLKIT_HAVE_STDINT_H)
91#if defined(WIZARDSTOOLKIT_HAVE_UNISTD_H)
94#if defined(WIZARDSTOOLKIT_WINDOWS_SUPPORT) && defined(_DEBUG)
95#define _CRTDBG_MAP_ALLOC
97#if defined(WIZARDSTOOLKIT_WINDOWS_SUPPORT)
99# if !defined(WIZARDSTOOLKIT_HAVE_STRERROR)
100# define HAVE_STRERROR
104#if defined(WIZARDSTOOLKIT_WINDOWS_SUPPORT) && defined(_DEBUG)
105#define _CRTDBG_MAP_ALLOC
107#if defined(WIZARDSTOOLKIT_WINDOWS_SUPPORT)
109# if !defined(WIZARDSTOOLKIT_HAVE_STRERROR)
110# define HAVE_STRERROR
124#if defined(WIZARDSTOOLKIT_HAVE_XLOCALE_H)
127#if defined(WIZARDSTOOLKIT_THREAD_SUPPORT)
129#elif defined(WIZARDSTOOLKIT_WINDOWS_SUPPORT)
130# define WIZARDSTOOLKIT_HAVE_WINTHREADS 1
133#if defined(WIZARDSTOOLKIT_HAVE_SYS_SYSLIMITS_H)
134# include <sys/syslimits.h>
136#if defined(WIZARDSTOOLKIT_HAVE_ARM_LIMITS_H)
137# include <arm/limits.h>
139#if defined(_OPENMP) && (_OPENMP >= 200203)
141# define WIZARDSTOOLKIT_HAVE_OPENMP 1
144#if defined(WIZARDSTOOLKIT_HAVE_PREAD) && defined(WIZARDSTOOLKIT_HAVE_DECL_PREAD) && !WIZARDSTOOLKIT_HAVE_DECL_PREAD
145ssize_t pread(
int,
void *,
size_t,off_t);
148#if defined(WIZARDSTOOLKIT_HAVE_PWRITE) && defined(WIZARDSTOOLKIT_HAVE_DECL_PWRITE) && !WIZARDSTOOLKIT_HAVE_DECL_PWRITE
149ssize_t pwrite(
int,
const void *,
size_t,off_t);
152#if defined(WIZARDSTOOLKIT_HAVE_STRLCPY) && defined(WIZARDSTOOLKIT_HAVE_DECL_STRLCPY) && !WIZARDSTOOLKIT_HAVE_DECL_STRLCPY
153extern size_t strlcpy(
char *,
const char *,
size_t);
156#if defined(WIZARDSTOOLKIT_HAVE_VSNPRINTF) && defined(WIZARDSTOOLKIT_HAVE_DECL_VSNPRINTF) && !WIZARDSTOOLKIT_HAVE_DECL_VSNPRINTF
157extern int vsnprintf(
char *,
size_t,
const char *,va_list);
162#if defined(WIZARDSTOOLKIT_WINDOWS_SUPPORT) || defined(WIZARDSTOOLKIT_POSIX_SUPPORT)
163# include <sys/types.h>
164# include <sys/stat.h>
165# if defined(WIZARDSTOOLKIT_HAVE_FTIME)
166# include <sys/timeb.h>
168# if defined(WIZARDSTOOLKIT_POSIX_SUPPORT)
169# if defined(WIZARDSTOOLKIT_HAVE_SYS_NDIR_H) || defined(WIZARDSTOOLKIT_HAVE_SYS_DIR_H) || defined(WIZARDSTOOLKIT_HAVE_NDIR_H)
170# define dirent direct
171# define NAMLEN(dirent) (dirent)->d_namlen
172# if defined(WIZARDSTOOLKIT_HAVE_SYS_NDIR_H)
173# include <sys/ndir.h>
175# if defined(WIZARDSTOOLKIT_HAVE_SYS_DIR_H)
178# if defined(WIZARDSTOOLKIT_HAVE_NDIR_H)
183# define NAMLEN(dirent) strlen((dirent)->d_name)
187# if !defined(S_ISDIR)
188# define S_ISDIR(mode) (((mode) & S_IFMT) == S_IFDIR)
190# if !defined(S_ISREG)
191# define S_ISREG(mode) (((mode) & S_IFMT) == S_IFREG)
194# if !defined(WIZARDSTOOLKIT_WINDOWS_SUPPORT)
195# include <sys/time.h>
196#if defined(WIZARDSTOOLKIT_HAVE_SYS_TIMES_H)
197# include <sys/times.h>
199#if defined(WIZARDSTOOLKIT_HAVE_SYS_RESOURCE_H)
200# include <sys/resource.h>
202#if defined(WIZARDSTOOLKIT_HAVE_SYS_MMAN_H)
203# include <sys/mman.h>
209# if defined(macintosh)
217#if defined(WIZARDSTOOLKIT_WINDOWS_SUPPORT)
220#if defined(WIZARDSTOOLKIT_WINDOWS_SUPPORT) || defined(__CYGWIN__)
222#if defined(macintosh)
238#if defined(WIZARDSTOOLKIT_POSIX_SUPPORT)
239# define DirectorySeparator "/"
240# define DirectoryListSeparator ':'
242# define IsBasenameSeparator(c) ((c) == '/' ? WizardTrue : WizardFalse)
243# define PreferencesDefaults "~/."
244# define ProcessPendingEvents(text)
245# define ReadCommandlLine(argc,argv)
246# define SetNotifyHandlers
250# define ApplicationDefaults "decw$system_defaults:"
251# define DirectorySeparator ""
252# define DirectoryListSeparator ';'
254# define IsBasenameSeparator(c) \
255 (((c) == ']') || ((c) == ':') || ((c) == '/') ? WizardTrue : WizardFalse)
256# define WizardLibPath "sys$login:"
257# define WizardModulesPath "sys$login:"
258# define WizardSignaturerePath "sys$login:"
259# define PreferencesDefaults "decw$user_defaults:"
260# define ProcessPendingEvents(text)
261# define ReadCommandlLine(argc,argv)
262# define SetNotifyHandlers
265# if defined(macintosh)
266# define ApplicationDefaults "/usr/lib/X11/app-defaults/"
267# define DirectorySeparator ":"
268# define DirectoryListSeparator ';'
269# define IsBasenameSeparator(c) ((c) == ':' ? WizardTrue : WizardFalse)
270# define WizardLibPath ""
271# define WizardModulesPath ""
272# define WizardSignaturerePath ""
273# define PreferencesDefaults "~/."
274# define ReadCommandlLine(argc,argv) argc=ccommand(argv); puts(WizardVersion);
275# define SetNotifyHandlers \
276 SetErrorHandler(MACErrorHandler); \
277 SetWarningHandler(MACWarningHandler)
280# if defined(WIZARDSTOOLKIT_WINDOWS_SUPPORT)
281# define DirectorySeparator "\\"
282# define DirectoryListSeparator ';'
283# define IsBasenameSeparator(c) \
284 (((c) == '/') || ((c) == '\\') ? WizardTrue : WizardFalse)
285# define ProcessPendingEvents(text)
286#if !defined(PreferencesDefaults)
287# define PreferencesDefaults "~\\."
289# define ReadCommandlLine(argc,argv)
290# define SetNotifyHandlers \
291 SetErrorHandler(NTErrorHandler); \
292 SetWarningHandler(NTWarningHandler)
293# if !defined(WIZARDSTOOLKIT_HAVE_TIFFCONF_H)
294# define HAVE_TIFFCONF_H
303#define AbsoluteValue(x) ((x) < 0 ? -(x) : (x))
304#define WizardMaxRecursionDepth 1024
305#define WizardEpoch 1000000000L
306#define Max(x,y) (((x) > (y)) ? (x) : (y))
307#define Min(x,y) (((x) < (y)) ? (x) : (y))
308#define Swap(x,y) ((x)^=(y), (y)^=(x), (x)^=(y))
313#if !defined(STDIN_FILENO)
314#define STDIN_FILENO 0x00
317#if !defined(STDOUT_FILENO)
318#define STDOUT_FILENO 0x01
321#if !defined(STDERR_FILENO)
322#define STDERR_FILENO 0x02
325#if !defined(O_BINARY)
329#if defined(S_IRUSR) && defined(S_IWUSR)
330# define S_MODE (S_IRUSR | S_IWUSR)
331#elif defined (WIZARDSTOOLKIT_WINDOWS_SUPPORT)
332# define S_MODE (_S_IREAD | _S_IWRITE)
337#if !defined(PATH_MAX)
344#if defined(__cplusplus) || defined(c_plusplus)
unsigned char _wizard_info[1]