Go to the documentation of this file. 18 #ifndef MAGICKCORE_STUDIO_H 19 #define MAGICKCORE_STUDIO_H 21 #if defined(__cplusplus) || defined(c_plusplus) 25 #if defined(WIN32) || defined(WIN64) 26 # define MAGICKCORE_WINDOWS_SUPPORT 28 # define MAGICKCORE_POSIX_SUPPORT 31 #define MAGICKCORE_IMPLEMENTATION 1 33 #if !defined(MAGICKCORE_CONFIG_H) 34 # define MAGICKCORE_CONFIG_H 35 # if !defined(vms) && !defined(macintosh) 40 #if defined(MAGICKCORE__FILE_OFFSET_BITS) && !defined(_FILE_OFFSET_BITS) 41 # define _FILE_OFFSET_BITS MAGICKCORE__FILE_OFFSET_BITS 43 #if __cplusplus > 199711L 46 #if defined(_magickcore_const) && !defined(const) 47 # define const _magickcore_const 49 #if defined(_magickcore_inline) && !defined(inline) 50 # define inline _magickcore_inline 52 # if defined(__cplusplus) || defined(c_plusplus) 57 #if defined(MAGICKCORE_NAMESPACE_PREFIX) 67 #if defined(MAGICKCORE_HAVE_SYS_STAT_H) 68 # include <sys/stat.h> 70 #if defined(MAGICKCORE_STDC_HEADERS) 74 # if defined(MAGICKCORE_HAVE_STDLIB_H) 78 #if !defined(magick_restrict) 79 # if !defined(_magickcore_restrict) 80 # define magick_restrict restrict 82 # define magick_restrict _magickcore_restrict 85 #if defined(MAGICKCORE_HAVE_STRING_H) 86 # if !defined(STDC_HEADERS) && defined(MAGICKCORE_HAVE_MEMORY_H) 91 #if defined(MAGICKCORE_HAVE_STRINGS_H) 94 #if defined(MAGICKCORE_HAVE_INTTYPES_H) 95 # include <inttypes.h> 97 #if defined(MAGICKCORE_HAVE_STDINT_H) 100 #if defined(MAGICKCORE_HAVE_UNISTD_H) 103 #if defined(MAGICKCORE_WINDOWS_SUPPORT) && defined(_DEBUG) 104 #define _CRTDBG_MAP_ALLOC 106 #if defined(MAGICKCORE_WINDOWS_SUPPORT) 109 # if !defined(MAGICKCORE_HAVE_STRERROR) 110 # define HAVE_STRERROR 124 #if defined(MAGICKCORE_HAVE_XLOCALE_H) 125 # include <xlocale.h> 127 #if defined(MAGICKCORE_THREAD_SUPPORT) 128 # include <pthread.h> 129 #elif defined(MAGICKCORE_WINDOWS_SUPPORT) 130 #include <winsock2.h> 131 #include <ws2tcpip.h> 133 #pragma comment (lib, "ws2_32.lib") 135 #if defined(MAGICKCORE_HAVE_SYS_SYSLIMITS_H) 136 # include <sys/syslimits.h> 138 #if defined(MAGICKCORE_HAVE_ARM_LIMITS_H) 139 # include <arm/limits.h> 142 #if defined(MAGICKCORE__OPENCL) 143 #if defined(MAGICKCORE_HAVE_CL_CL_H) 146 #if defined(MAGICKCORE_HAVE_OPENCL_CL_H) 147 # include <OpenCL/cl.h> 149 # define MAGICKCORE_OPENCL_SUPPORT 1 152 #if defined(_OPENMP) && ((_OPENMP >= 200203) || defined(__OPENCC__)) 154 # define MAGICKCORE_OPENMP_SUPPORT 1 157 #if defined(MAGICKCORE_HAVE_PREAD) && defined(MAGICKCORE_HAVE_DECL_PREAD) && !MAGICKCORE_HAVE_DECL_PREAD 158 ssize_t pread(
int,
void *,
size_t,off_t);
161 #if defined(MAGICKCORE_HAVE_PWRITE) && defined(MAGICKCORE_HAVE_DECL_PWRITE) && !MAGICKCORE_HAVE_DECL_PWRITE 162 ssize_t pwrite(
int,
const void *,
size_t,off_t);
165 #if defined(MAGICKCORE_HAVE_STRLCPY) && defined(MAGICKCORE_HAVE_DECL_STRLCPY) && !MAGICKCORE_HAVE_DECL_STRLCPY 166 extern size_t strlcpy(
char *,
const char *,
size_t);
169 #if defined(MAGICKCORE_HAVE_VSNPRINTF) && defined(MAGICKCORE_HAVE_DECL_VSNPRINTF) && !MAGICKCORE_HAVE_DECL_VSNPRINTF 170 extern int vsnprintf(
char *,
size_t,
const char *,va_list);
175 #if defined(MAGICKCORE_WINDOWS_SUPPORT) || defined(MAGICKCORE_POSIX_SUPPORT) 176 # include <sys/types.h> 177 # include <sys/stat.h> 178 # if defined(MAGICKCORE_HAVE_SYS_TIMEB_H) 179 # include <sys/timeb.h> 181 # if defined(MAGICKCORE_POSIX_SUPPORT) 182 # if defined(MAGICKCORE_HAVE_SYS_NDIR_H) || defined(MAGICKCORE_HAVE_SYS_DIR_H) || defined(MAGICKCORE_HAVE_NDIR_H) 183 # define dirent direct 184 # define NAMLEN(dirent) (dirent)->d_namlen 185 # if defined(MAGICKCORE_HAVE_SYS_NDIR_H) 186 # include <sys/ndir.h> 188 # if defined(MAGICKCORE_HAVE_SYS_DIR_H) 189 # include <sys/dir.h> 191 # if defined(MAGICKCORE_HAVE_NDIR_H) 196 # define NAMLEN(dirent) strlen((dirent)->d_name) 198 # include <sys/wait.h> 201 # if !defined(S_ISDIR) 202 # define S_ISDIR(mode) (((mode) & S_IFMT) == S_IFDIR) 204 # if !defined(S_ISREG) 205 # define S_ISREG(mode) (((mode) & S_IFMT) == S_IFREG) 208 # if !defined(MAGICKCORE_WINDOWS_SUPPORT) 209 # include <sys/time.h> 210 # if defined(MAGICKCORE_HAVE_SYS_TIMES_H) 211 # include <sys/times.h> 213 # if defined(MAGICKCORE_HAVE_SYS_RESOURCE_H) 214 # include <sys/resource.h> 216 # if defined(MAGICKCORE_HAVE_SYS_MMAN_H) 217 # include <sys/mman.h> 219 # if defined(MAGICKCORE_HAVE_SYS_SENDFILE_H) 220 # include <sys/sendfile.h> 226 # if defined(macintosh) 227 # if !defined(DISABLE_SIOUX) 229 # include <console.h> 236 #if defined(S_IRUSR) && defined(S_IWUSR) 237 # define S_MODE (S_IRUSR | S_IWUSR) 238 #elif defined (MAGICKCORE_WINDOWS_SUPPORT) 239 # define S_MODE (_S_IREAD | _S_IWRITE) 244 #if defined(MAGICKCORE_WINDOWS_SUPPORT) 247 #if defined(macintosh) 263 #if ( defined(MAGICKCORE_POSIX_SUPPORT) && !defined(__OS2__) ) && !defined( __VMS ) 264 # define DirectorySeparator "/" 265 # define DirectoryListSeparator ':' 266 # define EditorOptions " -title \"Edit Image Comment\" -e vi" 268 # define IsBasenameSeparator(c) ((c) == '/' ? MagickTrue : MagickFalse) 269 # define X11_PREFERENCES_PATH "~/." 270 # define ProcessPendingEvents(text) 271 # define ReadCommandlLine(argc,argv) 272 # define SetNotifyHandlers 275 # define X11_APPLICATION_PATH "decw$system_defaults:" 276 # define DirectorySeparator "" 277 # define DirectoryListSeparator ';' 278 # define EditorOptions "" 280 # define IsBasenameSeparator(c) \ 281 (((c) == ']') || ((c) == ':') || ((c) == '/') ? MagickTrue : MagickFalse) 282 # define MAGICKCORE_LIBRARY_PATH "sys$login:" 283 # define MAGICKCORE_SHARE_PATH "sys$login:" 284 # define X11_PREFERENCES_PATH "decw$user_defaults:" 285 # define ProcessPendingEvents(text) 286 # define ReadCommandlLine(argc,argv) 287 # define SetNotifyHandlers 289 # if defined(__OS2__) 290 # define DirectorySeparator "\\" 291 # define DirectoryListSeparator ';' 292 # define EditorOptions " -title \"Edit Image Comment\" -e vi" 294 # define IsBasenameSeparator(c) \ 295 (((c) == '/') || ((c) == '\\') ? MagickTrue : MagickFalse) 296 # define PreferencesDefaults "~\." 297 # define ProcessPendingEvents(text) 298 # define ReadCommandlLine(argc,argv) 299 # define SetNotifyHandlers 301 # if defined(macintosh) 302 # define X11_APPLICATION_PATH "/usr/lib/X11/app-defaults/" 303 # define DirectorySeparator ":" 304 # define DirectoryListSeparator ';' 305 # define EditorOptions "" 306 # define IsBasenameSeparator(c) ((c) == ':' ? MagickTrue : MagickFalse) 307 # define MAGICKCORE_LIBRARY_PATH "" 308 # define MAGICKCORE_SHARE_PATH "" 309 # define X11_PREFERENCES_PATH "~/." 310 # if defined(DISABLE_SIOUX) 311 # define ReadCommandlLine(argc,argv) 312 # define SetNotifyHandlers \ 313 SetFatalErrorHandler(MacFatalErrorHandler); \ 314 SetErrorHandler(MACErrorHandler); \ 315 SetWarningHandler(MACWarningHandler) 317 # define ReadCommandlLine(argc,argv) argc=ccommand(argv); puts(MagickVersion); 318 # define SetNotifyHandlers \ 319 SetErrorHandler(MACErrorHandler); \ 320 SetWarningHandler(MACWarningHandler) 323 # if defined(MAGICKCORE_WINDOWS_SUPPORT) 324 # define DirectorySeparator "\\" 325 # define DirectoryListSeparator ';' 326 # define EditorOptions "" 327 # define IsBasenameSeparator(c) \ 328 (((c) == '/') || ((c) == '\\') ? MagickTrue : MagickFalse) 329 # define ProcessPendingEvents(text) 330 # if !defined(X11_PREFERENCES_PATH) 331 # define X11_PREFERENCES_PATH "~\\." 333 # define ReadCommandlLine(argc,argv) 334 # define SetNotifyHandlers \ 335 SetErrorHandler(NTErrorHandler); \ 336 SetWarningHandler(NTWarningHandler) 337 # if !defined(MAGICKCORE_HAVE_TIFFCONF_H) 338 # define HAVE_TIFFCONF_H 347 #if !defined(STDIN_FILENO) 348 #define STDIN_FILENO 0x00 351 #if !defined(O_BINARY) 352 #define O_BINARY 0x00 355 #if !defined(PATH_MAX) 356 #define PATH_MAX 4096 359 #if defined(MAGICKCORE_LTDL_DELEGATE) || (defined(MAGICKCORE_WINDOWS_SUPPORT) && defined(_DLL) && !defined(_LIB)) 360 # define MAGICKCORE_MODULES_SUPPORT 363 #if defined(_MAGICKMOD_) 364 # undef MAGICKCORE_BUILD_MODULES 365 # define MAGICKCORE_BUILD_MODULES 371 #define Swap(x,y) ((x)^=(y), (y)^=(x), (x)^=(y)) 372 #if defined(_MSC_VER) 373 # define DisableMSCWarning(nr) __pragma(warning(push)) \ 374 __pragma(warning(disable:nr)) 375 # define RestoreMSCWarning __pragma(warning(pop)) 377 # define DisableMSCWarning(nr) 378 # define RestoreMSCWarning 381 #if defined(__cplusplus) || defined(c_plusplus)