95 #if defined(MAGICKCORE_XML_DELEGATE) 96 # if defined(MAGICKCORE_WINDOWS_SUPPORT) 97 # if !defined(__MINGW32__) 98 # include <win32config.h> 101 # include <libxml/parser.h> 107 #if !defined(SIG_DFL) 108 # define SIG_DFL ((SignalHandler *) 0) 110 #if !defined(SIG_ERR) 111 # define SIG_ERR ((SignalHandler *) -1) 180 const char *name,
const char *description)
186 assert(name != (
const char *) NULL);
187 assert(description != (
const char *) NULL);
190 (void) memset(magick_info,0,
sizeof(*magick_info));
291 const size_t length,
char *format)
303 assert(
magick != (
const unsigned char *) NULL);
623 if ((name != (
const char *) NULL) && (*name !=
'\0'))
627 #if defined(MAGICKCORE_BUILD_MODULES) 637 #
if defined(MAGICKCORE_BUILD_MODULES)
645 if ((name == (
const char *) NULL) || (
LocaleCompare(name,
"*") == 0))
681 #if defined(__cplusplus) || defined(c_plusplus) 696 #if defined(__cplusplus) || defined(c_plusplus) 715 assert(pattern != (
char *) NULL);
717 assert(number_formats != (
size_t *) NULL);
742 *number_formats=(size_t) i;
774 #if defined(__cplusplus) || defined(c_plusplus) 789 #if defined(__cplusplus) || defined(c_plusplus) 808 assert(pattern != (
char *) NULL);
810 assert(number_formats != (
size_t *) NULL);
814 return((
char **) NULL);
817 if (formats == (
char **) NULL)
818 return((
char **) NULL);
830 qsort((
void *) formats,(
size_t) i,
sizeof(*formats),
MagickCompare);
831 formats[i]=(
char *) NULL;
832 *number_formats=(size_t) i;
920 return(magick_info->
name);
1076 if (p->
note != (
char *) NULL)
1080 if (p->
version != (
char *) NULL)
1084 if (p->
name != (
char *) NULL)
1103 #if defined(MAGICKCORE_MODULES_SUPPORT) 1138 assert(
magick != (
char *) NULL);
1139 #if defined(macintosh) 1140 return(MACIsMagickConflict(
magick));
1143 #elif defined(MAGICKCORE_WINDOWS_SUPPORT) 1189 if (
file == (FILE *) NULL)
1192 if (magick_info == (
const MagickInfo **) NULL)
1195 #if !defined(MAGICKCORE_MODULES_SUPPORT) 1201 "--------------------------------------------------------" 1202 "-----------------------\n");
1203 for (i=0; i < (ssize_t) number_formats; i++)
1208 magick_info[i]->name != (
char *) NULL ? magick_info[i]->
name :
"",
1210 #if defined(MAGICKCORE_MODULES_SUPPORT) 1226 magick_info[i]->encoder ?
'w' :
'-',magick_info[i]->encoder != NULL &&
1228 if (magick_info[i]->description != (
char *) NULL)
1230 if (magick_info[i]->version != (
char *) NULL)
1233 if (magick_info[i]->note != (
char *) NULL)
1239 if (text != (
char **) NULL)
1241 for (j=0; text[j] != (
char *) NULL; j++)
1254 (void) fflush(
file);
1373 #if defined(MAGICKCORE_HAVE_SIGACTION) && defined(MAGICKCORE_HAVE_SIGEMPTYSET) 1385 sigaddset(&mask,signal_number);
1386 sigprocmask(SIG_BLOCK,&mask,NULL);
1387 action.sa_mask=mask;
1388 action.sa_handler=handler;
1390 #if defined(SA_INTERRUPT) 1391 action.sa_flags|=SA_INTERRUPT;
1393 #if defined(SA_ONSTACK) 1394 action.sa_flags|=SA_ONSTACK;
1396 previous_action.sa_handler=
SIG_DFL;
1397 status=sigaction(signal_number,&action,&previous_action);
1400 sigprocmask(SIG_UNBLOCK,&mask,NULL);
1401 return(previous_action.sa_handler);
1403 return(signal(signal_number,handler));
1413 #if defined(SIGQUIT) 1414 if (signal_number == SIGQUIT)
1417 #if defined(SIGABRT) 1418 if (signal_number == SIGABRT)
1422 if (signal_number == SIGBUS)
1426 if (signal_number == SIGFPE)
1429 #if defined(SIGSEGV) 1430 if (signal_number == SIGSEGV)
1433 #if !defined(MAGICKCORE_HAVE__EXIT) 1434 exit(signal_number);
1437 if (signal_number == SIGHUP)
1438 _exit(signal_number);
1441 if (signal_number == SIGINT)
1442 _exit(signal_number);
1444 #if defined(MAGICKCORE_HAVE_RAISE) 1446 raise(signal_number);
1448 _exit(signal_number);
1464 "Register handler for signal: %d",signal_number);
1492 if (events != (
char *) NULL)
1497 #if defined(MAGICKCORE_WINDOWS_SUPPORT) 1503 #if defined(MAGICKCORE_WINDOWS_SUPPORT) 1521 #if defined(SIGABRT) 1529 #if defined(SIGSEGV) 1545 #if defined(SIGQUIT) 1549 #if defined(SIGTERM) 1553 #if defined(SIGXCPU) 1557 #if defined(SIGXFSZ) 1567 #if MAGICKCORE_ZERO_CONFIGURATION_SUPPORT 1568 (void) ZeroConfigurationPolicy;
1574 #if defined(MAGICKCORE_MODULES_SUPPORT) 1583 #if defined(MAGICKCORE_X11_DELEGATE) 1616 #if defined(MAGICKCORE_X11_DELEGATE) 1617 XComponentTerminus();
1619 #if defined(MAGICKCORE_XML_DELEGATE) 1625 #if defined(MAGICKCORE_OPENCL_SUPPORT) 1629 #if defined(MAGICKCORE_WINDOWS_SUPPORT) 1630 NTWindowsTerminus();
1635 #if !defined(MAGICKCORE_BUILD_MODULES) 1638 #if defined(MAGICKCORE_MODULES_SUPPORT) 1754 #define MagickPrecision (4+MAGICKCORE_QUANTUM_DEPTH/8) 1769 if (limit == (
char *) NULL)
1771 if (limit != (
char *) NULL)
1812 assert(name != (
const char *) NULL);
MagickPrivate void AnnotateComponentTerminus(void)
MagickPrivate MagickBooleanType SemaphoreComponentGenesis(void)
MagickExport MagickBooleanType GetMagickUseExtension(const MagickInfo *magick_info)
static int MagickInfoCompare(const void *x, const void *y)
MagickPrivate MagickBooleanType ResourceComponentGenesis(void)
static void InitializeMagickMutex(void)
MagickPrivate void RandomComponentTerminus(void)
MagickExport MagickBooleanType AddValueToSplayTree(SplayTreeInfo *splay_tree, const void *key, const void *value)
char magick[MagickPathExtent]
MagickExport size_t ConcatenateMagickString(char *magick_restrict destination, const char *magick_restrict source, const size_t length)
MagickPrivate MagickBooleanType IsMagickConflict(const char *magick)
MagickPrivate MagickBooleanType PolicyComponentGenesis(void)
MagickPrivate MagickBooleanType RegistryComponentGenesis(void)
MagickPrivate MagickBooleanType MagicComponentGenesis(void)
static void * DestroyMagickNode(void *magick_info)
MagickExport void UnlockSemaphoreInfo(SemaphoreInfo *semaphore_info)
MagickExport MagickBooleanType RegisterStaticModule(const char *module, ExceptionInfo *exception)
MagickExport void RegisterStaticModules(void)
MagickPrivate MagickBooleanType ColorComponentGenesis(void)
MagickPrivate void PolicyComponentTerminus(void)
MagickPrivate MagickBooleanType CacheComponentGenesis(void)
MagickPrivate MagickBooleanType LogComponentGenesis(void)
MagickPrivate MagickBooleanType CoderComponentGenesis(void)
static int StringToInteger(const char *magick_restrict value)
MagickExport void MagickCoreTerminus(void)
MagickExport SemaphoreInfo * AcquireSemaphoreInfo(void)
MagickExport MagickBooleanType GetMagickEncoderThreadSupport(const MagickInfo *magick_info)
MagickPrivate void LogComponentTerminus(void)
MagickExport const char * GetMagickDescription(const MagickInfo *magick_info)
MagickPrivate void MonitorComponentTerminus(void)
EncodeImageHandler * encoder
MagickPrivate MagickBooleanType TypeComponentGenesis(void)
MagickExport ExceptionInfo * AcquireExceptionInfo(void)
MagickPrivate MagickBooleanType DelegateComponentGenesis(void)
MagickExport size_t CopyMagickString(char *magick_restrict destination, const char *magick_restrict source, const size_t length)
MagickBooleanType EncodeImageHandler(const ImageInfo *, Image *, ExceptionInfo *)
static void MagickSignalHandler(int signal_number)
MagickExport const char * GetMagickName(const MagickInfo *magick_info)
MagickPrivate MagickBooleanType MagickComponentGenesis(void)
MagickExport const char * SetClientName(const char *name)
MagickExport void MagickCoreGenesis(const char *path, const MagickBooleanType establish_signal_handlers)
MagickPrivate MagickBooleanType MonitorComponentGenesis(void)
MagickExport LogEventType SetLogEventMask(const char *events)
MagickExport const void * GetNextValueInSplayTree(SplayTreeInfo *splay_tree)
MagickExport MagickBooleanType GetMagickRawSupport(const MagickInfo *magick_info)
#define MagickCoreSignature
MagickExport void LockSemaphoreInfo(SemaphoreInfo *semaphore_info)
MagickExport MagickBooleanType GetMagickDecoderSeekableStream(const MagickInfo *magick_info)
MagickPrivate void DelegateComponentTerminus(void)
SemaphoreInfo * semaphore
static int MagickCompare(const void *x, const void *y)
MagickExport void GetPathComponent(const char *path, PathType type, char *component)
MagickExport ssize_t FormatLocaleFile(FILE *file, const char *magick_restrict format,...)
MagickExport char ** StringToList(const char *text)
static volatile MagickBooleanType magick_list_initialized
#define DirectorySeparator
MagickPrivate MagickBooleanType ModuleComponentGenesis(void)
MagickExport MagickBooleanType ListMagickInfo(FILE *file, ExceptionInfo *exception)
MagickExport const char * SetClientPath(const char *path)
MagickPrivate void AsynchronousResourceComponentTerminus(void)
MagickExport MagickBooleanType GlobExpression(const char *magick_restrict expression, const char *magick_restrict pattern, const MagickBooleanType case_insensitive)
MagickPrivate MagickBooleanType RandomComponentGenesis(void)
MagickExport MagickBooleanType DeleteNodeByValueFromSplayTree(SplayTreeInfo *splay_tree, const void *value)
MagickExport void * AcquireCriticalMemory(const size_t size)
DecodeImageHandler * decoder
MagickExport char ** GetMagickList(const char *pattern, size_t *number_formats, ExceptionInfo *exception)
MagickExport MagickBooleanType GetImageMagick(const unsigned char *magick, const size_t length, char *format)
MagickExport void * AcquireQuantumMemory(const size_t count, const size_t quantum)
MagickBooleanType IsImageFormatHandler(const unsigned char *, const size_t)
MagickPrivate MagickBooleanType AnnotateComponentGenesis(void)
static void UnlockMagickMutex(void)
MagickExport MagickBooleanType VMSIsMagickConflict(const char *)
MagickPrivate void ColorComponentTerminus(void)
MagickExport SplayTreeInfo * DestroySplayTree(SplayTreeInfo *splay_tree)
MagickExport MagickBooleanType GetMagickBlobSupport(const MagickInfo *magick_info)
MagickExport int GetMagickPrecision(void)
MagickExport SplayTreeInfo * NewSplayTree(int(*compare)(const void *, const void *), void *(*relinquish_key)(void *), void *(*relinquish_value)(void *))
MagickPrivate void ModuleComponentTerminus(void)
MagickPrivate MagickBooleanType ExceptionComponentGenesis(void)
MagickExport MagickBooleanType GetMagickStealth(const MagickInfo *magick_info)
static MagickBooleanType IsMagickTreeInstantiated(ExceptionInfo *)
static SplayTreeInfo * magick_list
MagickExport ModuleInfo * GetModuleInfo(const char *, ExceptionInfo *)
MagickPrivate void ExceptionComponentTerminus(void)
MagickExport DecodeImageHandler * GetImageDecoder(const MagickInfo *magick_info)
MagickExport MagickBooleanType LogMagickEvent(const LogEventType type, const char *module, const char *function, const size_t line, const char *format,...)
MagickExport MagickBooleanType IsPathAccessible(const char *path)
static SignalHandler * signal_handlers[SIGMAX]
MagickExport const MagickInfo * GetMagickInfo(const char *name, ExceptionInfo *exception)
IsImageFormatHandler * magick
static void LockMagickMutex(void)
MagickExport MagickBooleanType GetMagickAdjoin(const MagickInfo *magick_info)
MagickExport char * GetEnvironmentValue(const char *name)
MagickPrivate void CacheComponentTerminus(void)
MagickExport EncodeImageHandler * GetImageEncoder(const MagickInfo *magick_info)
MagickExport MagickBooleanType GetMagickEndianSupport(const MagickInfo *magick_info)
MagickExport const void * GetValueFromSplayTree(SplayTreeInfo *splay_tree, const void *key)
MagickPrivate void ResourceComponentTerminus(void)
MagickPrivate void SemaphoreComponentTerminus(void)
MagickPrivate MagickBooleanType OpenModules(ExceptionInfo *)
MagickExport int LocaleCompare(const char *p, const char *q)
MagickExport MagickBooleanType GetMagickDecoderThreadSupport(const MagickInfo *magick_info)
MagickPrivate void ResetMagickPrecision(void)
MagickPrivate void MagicComponentTerminus(void)
#define GetMagickModule()
MagickPrivate void TypeComponentTerminus(void)
MagickExport int CompareSplayTreeString(const void *target, const void *source)
MagickPrivate MagickBooleanType GetExecutionPath(char *, const size_t)
MagickExport void ClearMagickException(ExceptionInfo *exception)
MagickExport MagickBooleanType GetMagickEncoderSeekableStream(const MagickInfo *magick_info)
MagickExport MagickBooleanType UnregisterMagickInfo(const char *name)
MagickExport const MagickInfo ** GetMagickInfoList(const char *pattern, size_t *number_formats, ExceptionInfo *exception)
static SignalHandler * RegisterMagickSignalHandler(int signal_number)
MagickExport char * DestroyString(char *string)
static volatile MagickBooleanType magickcore_instantiated
MagickExport const char * GetMagickMimeType(const MagickInfo *magick_info)
MagickExport void ActivateSemaphoreInfo(SemaphoreInfo **semaphore_info)
static int magick_precision
MagickExport MagickBooleanType NTIsMagickConflict(const char *)
MagickExport const void * GetRootValueFromSplayTree(SplayTreeInfo *splay_tree)
MagickPrivate MagickBooleanType XComponentGenesis(void)
MagickExport char * GetPolicyValue(const char *name)
static SignalHandler * SetMagickSignalHandler(int signal_number, SignalHandler *handler)
MagickExport MagickBooleanType IsMagickCoreInstantiated(void)
MagickExport void ResetSplayTreeIterator(SplayTreeInfo *splay_tree)
MagickPrivate void CoderComponentTerminus(void)
MagickExport void * RelinquishMagickMemory(void *memory)
MagickExport size_t GetNumberOfNodesInSplayTree(const SplayTreeInfo *splay_tree)
MagickExport void UnregisterStaticModules(void)
MagickPrivate void RegistryComponentTerminus(void)
MagickPrivate MagickBooleanType MimeComponentGenesis(void)
MagickExport MagickInfo * AcquireMagickInfo(const char *magick_module, const char *name, const char *description)
MagickPrivate MagickBooleanType LocaleComponentGenesis(void)
static volatile MagickBooleanType magickcore_signal_in_progress
MagickExport int SetMagickPrecision(const int precision)
MagickPrivate void MagickComponentTerminus(void)
MagickExport MagickBooleanType RegisterMagickInfo(MagickInfo *magick_info)
MagickPrivate void MimeComponentTerminus(void)
MagickPrivate MagickBooleanType OpenModule(const char *, ExceptionInfo *)
MagickExport const char * GetMagickModuleName(const MagickInfo *magick_info)
MagickExport void RelinquishSemaphoreInfo(SemaphoreInfo **semaphore_info)
MagickExport char * ConstantString(const char *source)
static SemaphoreInfo * magick_semaphore
MagickPrivate void LocaleComponentTerminus(void)
MagickExport ExceptionInfo * DestroyExceptionInfo(ExceptionInfo *exception)
Image * DecodeImageHandler(const ImageInfo *, ExceptionInfo *)