MagickCore  6.9.10
Convert, Edit, Or Compose Bitmap Images
exception.h
Go to the documentation of this file.
1 /*
2  Copyright 1999-2019 ImageMagick Studio LLC, a non-profit organization
3  dedicated to making software imaging solutions freely available.
4 
5  You may not use this file except in compliance with the License.
6  obtain a copy of the License at
7 
8  https://imagemagick.org/script/license.php
9 
10  Unless required by applicable law or agreed to in writing, software
11  distributed under the License is distributed on an "AS IS" BASIS,
12  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  See the License for the specific language governing permissions and
14  limitations under the License.
15 
16  MagickCore exception methods.
17 */
18 #ifndef MAGICKCORE_EXCEPTION_H
19 #define MAGICKCORE_EXCEPTION_H
20 
21 #include <stdarg.h>
22 #include "magick/semaphore.h"
23 
24 #if defined(__cplusplus) || defined(c_plusplus)
25 extern "C" {
26 #endif
27 
28 typedef enum
29 {
33  TypeWarning = 305,
39  BlobWarning = 335,
41  CacheWarning = 345,
42  CoderWarning = 350,
45  DrawWarning = 360,
46  ImageWarning = 365,
47  WandWarning = 370,
56  TypeError = 405,
57  OptionError = 410,
62  BlobError = 435,
63  StreamError = 440,
64  CacheError = 445,
65  CoderError = 450,
66  FilterError = 452,
67  ModuleError = 455,
68  DrawError = 460,
69  ImageError = 465,
70  WandError = 470,
71  RandomError = 475,
72  XServerError = 480,
73  MonitorError = 485,
76  PolicyError = 499,
99  PolicyFatalError = 799
101 
103 {
106 
107  int
109 
110  char
113 
114  void
116 
119 
122 
123  size_t
125 };
126 
127 typedef void
128  (*ErrorHandler)(const ExceptionType,const char *,const char *);
129 
130 typedef void
131  (*FatalErrorHandler)(const ExceptionType,const char *,const char *);
132 
133 typedef void
134  (*WarningHandler)(const ExceptionType,const char *,const char *);
135 
136 extern MagickExport char
137  *GetExceptionMessage(const int);
138 
139 extern MagickExport const char
140  *GetLocaleExceptionMessage(const ExceptionType,const char *);
141 
144 
149 
152 
155  const char *),
156  ThrowMagickException(ExceptionInfo *,const char *,const char *,const size_t,
157  const ExceptionType,const char *,const char *,...)
158  magick_attribute((__format__ (__printf__,7,8))),
159  ThrowMagickExceptionList(ExceptionInfo *,const char *,const char *,
160  const size_t,const ExceptionType,const char *,const char *,va_list)
161  magick_attribute((__format__ (__printf__,7,0)));
162 
163 extern MagickExport void
167  MagickError(const ExceptionType,const char *,const char *),
168  MagickFatalError(const ExceptionType,const char *,const char *),
169  MagickWarning(const ExceptionType,const char *,const char *);
170 
173 
174 #if defined(__cplusplus) || defined(c_plusplus)
175 }
176 #endif
177 
178 #endif
FilterWarning
@ FilterWarning
Definition: exception.h:43
LockSemaphoreInfo
MagickExport void LockSemaphoreInfo(SemaphoreInfo *semaphore_info)
Definition: semaphore.c:345
MagickExport
#define MagickExport
Definition: method-attribute.h:80
_ExceptionInfo::semaphore
SemaphoreInfo * semaphore
Definition: exception.h:121
BlobError
@ BlobError
Definition: exception.h:62
ThrowMagickException
MagickExport MagickBooleanType ThrowMagickException(ExceptionInfo *, const char *, const char *, const size_t, const ExceptionType, const char *, const char *,...) magick_attribute((__format__(__printf__
DrawError
@ DrawError
Definition: exception.h:68
magick_unused
#define magick_unused(x)
Definition: method-attribute.h:105
MaxExceptionList
#define MaxExceptionList
Definition: exception.c:58
magick.h
MissingDelegateError
@ MissingDelegateError
Definition: exception.h:59
CoderFatalError
@ CoderFatalError
Definition: exception.h:88
TypeError
@ TypeError
Definition: exception.h:56
magick_unreferenced
#define magick_unreferenced(x)
Definition: method-attribute.h:106
PolicyError
@ PolicyError
Definition: exception.h:76
GetMagickModule
#define GetMagickModule()
Definition: log.h:29
SetFatalErrorHandler
MagickExport FatalErrorHandler SetFatalErrorHandler(FatalErrorHandler handler)
Definition: exception.c:852
WandFatalError
@ WandFatalError
Definition: exception.h:93
CorruptImageWarning
@ CorruptImageWarning
Definition: exception.h:37
ClearMagickException
MagickExport MagickBooleanType MagickExport void ClearMagickException(ExceptionInfo *)
TailPath
@ TailPath
Definition: utility.h:31
MagickWarning
MagickExport MagickBooleanType MagickExport void MagickWarning(const ExceptionType, const char *, const char *)
Definition: exception.c:789
MagickCoreSignature
#define MagickCoreSignature
Definition: method-attribute.h:86
FormatLocaleString
MagickExport ssize_t FormatLocaleString(char *magick_restrict string, const size_t length, const char *magick_restrict format,...)
Definition: locale.c:502
OptionWarning
@ OptionWarning
Definition: exception.h:34
CorruptImageError
@ CorruptImageError
Definition: exception.h:60
DefaultWarningHandler
static void DefaultWarningHandler(const ExceptionType, const char *, const char *)
CatchException
MagickExport MagickBooleanType MagickExport void CatchException(ExceptionInfo *)
DefaultErrorHandler
static void DefaultErrorHandler(const ExceptionType, const char *, const char *)
WandWarning
@ WandWarning
Definition: exception.h:47
MissingDelegateFatalError
@ MissingDelegateFatalError
Definition: exception.h:82
XServerError
@ XServerError
Definition: exception.h:72
FileOpenWarning
@ FileOpenWarning
Definition: exception.h:38
CloneExceptionInfo
MagickExport ExceptionInfo * CloneExceptionInfo(ExceptionInfo *exception)
Definition: exception.c:251
DestroyLinkedList
MagickExport LinkedListInfo * DestroyLinkedList(LinkedListInfo *list_info, void *(*relinquish_value)(void *))
Definition: hashmap.c:398
ModuleFatalError
@ ModuleFatalError
Definition: exception.h:90
ConfigureFatalError
@ ConfigureFatalError
Definition: exception.h:98
ResetLinkedListIterator
MagickExport void ResetLinkedListIterator(LinkedListInfo *list_info)
Definition: hashmap.c:1921
ResourceLimitWarning
@ ResourceLimitWarning
Definition: exception.h:32
RandomWarning
@ RandomWarning
Definition: exception.h:48
DestroyExceptionElement
static void * DestroyExceptionElement(void *exception)
Definition: exception.c:143
SetWarningHandler
MagickExport WarningHandler SetWarningHandler(WarningHandler handler)
Definition: exception.c:885
MonitorError
@ MonitorError
Definition: exception.h:73
ResourceLimitError
@ ResourceLimitError
Definition: exception.h:55
WarningHandler
void(* WarningHandler)(const ExceptionType, const char *, const char *)
Definition: exception.h:134
utility.h
SetWarningHandler
MagickExport WarningHandler SetWarningHandler(WarningHandler)
Definition: exception.c:885
BlobFatalError
@ BlobFatalError
Definition: exception.h:85
OptionFatalError
@ OptionFatalError
Definition: exception.h:80
CacheError
@ CacheError
Definition: exception.h:64
FilterError
@ FilterError
Definition: exception.h:66
DelegateError
@ DelegateError
Definition: exception.h:58
string_.h
DestroyString
MagickExport char * DestroyString(char *string)
Definition: string.c:820
GetPathComponent
MagickExport void GetPathComponent(const char *path, PathType type, char *component)
Definition: utility.c:1208
_ExceptionInfo::exceptions
void * exceptions
Definition: exception.h:115
MagickTrue
@ MagickTrue
Definition: magick-type.h:194
semaphore.h
SetErrorHandler
MagickExport ErrorHandler SetErrorHandler(ErrorHandler)
Definition: exception.c:819
ClearExceptionInfo
MagickPrivate MagickBooleanType ClearExceptionInfo(ExceptionInfo *exception, MagickBooleanType relinquish)
Definition: exception.c:414
ExceptionSeverityToTag
static const char * ExceptionSeverityToTag(const ExceptionType severity)
Definition: exception.c:517
StreamWarning
@ StreamWarning
Definition: exception.h:40
CopyMagickString
MagickExport size_t CopyMagickString(char *destination, const char *source, const size_t length)
Definition: string.c:752
CoderError
@ CoderError
Definition: exception.h:65
GetLocaleExceptionMessage
MagickExport const char * GetLocaleExceptionMessage(const ExceptionType, const char *)
Definition: exception.c:589
hashmap.h
InheritException
MagickExport MagickBooleanType MagickExport void InheritException(ExceptionInfo *, const ExceptionInfo *)
AcquireMagickMemory
MagickExport void * AcquireMagickMemory(const size_t size)
Definition: memory.c:473
ClearLinkedList
MagickExport void ClearLinkedList(LinkedListInfo *list_info, void *(*relinquish_value)(void *))
Definition: hashmap.c:204
FormatLocaleFile
MagickExport ssize_t FormatLocaleFile(FILE *file, const char *magick_restrict format,...)
Definition: locale.c:407
SemaphoreInfo
Definition: semaphore.c:60
WarningException
@ WarningException
Definition: exception.h:31
DefaultFatalErrorHandler
static void DefaultFatalErrorHandler(const ExceptionType, const char *, const char *)
Definition: exception.c:335
ImageWarning
@ ImageWarning
Definition: exception.h:46
CacheFatalError
@ CacheFatalError
Definition: exception.h:87
MagickFatalError
MagickExport MagickBooleanType MagickExport void MagickFatalError(const ExceptionType, const char *, const char *)
_ExceptionInfo::severity
ExceptionType severity
Definition: exception.h:105
ErrorHandler
void(* ErrorHandler)(const ExceptionType, const char *, const char *)
Definition: exception.h:128
RegistryError
@ RegistryError
Definition: exception.h:74
ErrorException
@ ErrorException
Definition: exception.h:54
warning_handler
static WarningHandler warning_handler
Definition: exception.c:86
BlobWarning
@ BlobWarning
Definition: exception.h:39
SetErrorHandler
MagickExport ErrorHandler SetErrorHandler(ErrorHandler handler)
Definition: exception.c:819
TypeWarning
@ TypeWarning
Definition: exception.h:33
ImageError
@ ImageError
Definition: exception.h:69
RegistryWarning
@ RegistryWarning
Definition: exception.h:51
ModuleError
@ ModuleError
Definition: exception.h:67
LocaleCompare
MagickExport int LocaleCompare(const char *p, const char *q)
Definition: locale.c:1440
DestroyExceptionInfo
MagickExport ExceptionInfo * DestroyExceptionInfo(ExceptionInfo *exception)
Definition: exception.c:441
_ExceptionInfo::description
char * description
Definition: exception.h:112
DrawWarning
@ DrawWarning
Definition: exception.h:45
_ExceptionInfo::relinquish
MagickBooleanType relinquish
Definition: exception.h:118
RandomFatalError
@ RandomFatalError
Definition: exception.h:94
OptionError
@ OptionError
Definition: exception.h:57
ConfigureWarning
@ ConfigureWarning
Definition: exception.h:52
CacheWarning
@ CacheWarning
Definition: exception.h:41
MagickWarning
MagickExport void MagickWarning(const ExceptionType warning, const char *reason, const char *description)
Definition: exception.c:789
_LinkedListInfo
Definition: hashmap.c:78
XServerWarning
@ XServerWarning
Definition: exception.h:49
DestroyExceptionInfo
MagickExport ExceptionInfo * DestroyExceptionInfo(ExceptionInfo *)
Definition: exception.c:441
locale_.h
MagickPrivate
#define MagickPrivate
Definition: method-attribute.h:81
MagickFalse
@ MagickFalse
Definition: magick-type.h:193
FileOpenFatalError
@ FileOpenFatalError
Definition: exception.h:84
GetNumberOfElementsInLinkedList
MagickExport size_t GetNumberOfElementsInLinkedList(const LinkedListInfo *list_info)
Definition: hashmap.c:679
WandError
@ WandError
Definition: exception.h:70
DelegateFatalError
@ DelegateFatalError
Definition: exception.h:81
FilterFatalError
@ FilterFatalError
Definition: exception.h:89
GetExceptionMessage
MagickExport char * GetExceptionMessage(const int error)
Definition: exception.c:471
AppendValueToLinkedList
MagickExport MagickBooleanType AppendValueToLinkedList(LinkedListInfo *list_info, const void *value)
Definition: hashmap.c:150
AllocateSemaphoreInfo
MagickExport SemaphoreInfo * AllocateSemaphoreInfo(void)
Definition: semaphore.c:192
GetClientName
MagickExport const char * GetClientName(void)
Definition: client.c:64
MonitorFatalError
@ MonitorFatalError
Definition: exception.h:96
ExceptionType
ExceptionType
Definition: exception.h:29
CloneExceptionInfo
MagickExport ExceptionInfo * CloneExceptionInfo(ExceptionInfo *)
FileOpenError
@ FileOpenError
Definition: exception.h:61
GetLocaleExceptionMessage
MagickExport const char * GetLocaleExceptionMessage(const ExceptionType severity, const char *tag)
Definition: exception.c:589
ActivateSemaphoreInfo
MagickExport void ActivateSemaphoreInfo(SemaphoreInfo **semaphore_info)
Definition: semaphore.c:97
SetFatalErrorHandler
MagickExport FatalErrorHandler SetFatalErrorHandler(FatalErrorHandler)
Definition: exception.c:852
ThrowException
MagickExport MagickBooleanType ThrowException(ExceptionInfo *, const ExceptionType, const char *, const char *)
MagickError
MagickExport MagickBooleanType MagickExport void MagickError(const ExceptionType, const char *, const char *)
RegistryFatalError
@ RegistryFatalError
Definition: exception.h:97
GetLocaleMessage
MagickExport const char * GetLocaleMessage(const char *tag)
Definition: locale.c:776
InitializeExceptionInfo
MagickPrivate void InitializeExceptionInfo(ExceptionInfo *exception)
Definition: exception.c:681
MagickError
MagickExport void MagickError(const ExceptionType error, const char *reason, const char *description)
Definition: exception.c:719
ThrowMagickExceptionList
MagickExport MagickBooleanType ThrowMagickExceptionList(ExceptionInfo *exception, const char *module, const char *function, const size_t line, const ExceptionType severity, const char *tag, const char *format, va_list operands)
Definition: exception.c:1017
GetExceptionMessage
MagickExport char * GetExceptionMessage(const int)
Definition: exception.c:471
DestroySemaphoreInfo
MagickExport void DestroySemaphoreInfo(SemaphoreInfo **semaphore_info)
Definition: semaphore.c:293
_ExceptionInfo::signature
size_t signature
Definition: exception.h:124
log.h
magick_attribute
MagickExport MagickBooleanType magick_attribute((deprecated))
ConstantString
MagickExport char * ConstantString(const char *source)
Definition: string.c:697
MagickBooleanType
MagickBooleanType
Definition: magick-type.h:192
GetLastValueInLinkedList
MagickExport void * GetLastValueInLinkedList(LinkedListInfo *list_info)
Definition: hashmap.c:447
ConcatenateMagickString
MagickExport size_t ConcatenateMagickString(char *destination, const char *source, const size_t length)
Definition: string.c:424
GetNextValueInLinkedList
MagickExport void * GetNextValueInLinkedList(LinkedListInfo *list_info)
Definition: hashmap.c:606
RelinquishMagickMemory
MagickExport void * RelinquishMagickMemory(void *memory)
Definition: memory.c:1077
FatalErrorException
@ FatalErrorException
Definition: exception.h:77
ExceptionEvent
@ ExceptionEvent
Definition: log.h:46
_ExceptionInfo
Definition: exception.h:103
CorruptImageFatalError
@ CorruptImageFatalError
Definition: exception.h:83
studio.h
XServerFatalError
@ XServerFatalError
Definition: exception.h:95
ClearMagickException
MagickExport void ClearMagickException(ExceptionInfo *exception)
Definition: exception.c:157
AcquireExceptionInfo
MagickExport ExceptionInfo * AcquireExceptionInfo(void)
MonitorWarning
@ MonitorWarning
Definition: exception.h:50
PolicyWarning
@ PolicyWarning
Definition: exception.h:53
RandomError
@ RandomError
Definition: exception.h:71
DelegateWarning
@ DelegateWarning
Definition: exception.h:35
memory_.h
CoderWarning
@ CoderWarning
Definition: exception.h:42
FatalErrorHandler
void(* FatalErrorHandler)(const ExceptionType, const char *, const char *)
Definition: exception.h:131
MagickFatalError
MagickExport void MagickFatalError(const ExceptionType error, const char *reason, const char *description)
Definition: exception.c:755
NewLinkedList
MagickExport LinkedListInfo * NewLinkedList(const size_t capacity)
Definition: hashmap.c:1363
exception-private.h
error_handler
static ErrorHandler error_handler
Definition: exception.c:80
ThrowMagickException
MagickExport MagickBooleanType ThrowMagickException(ExceptionInfo *exception, const char *module, const char *function, const size_t line, const ExceptionType severity, const char *tag, const char *format,...)
Definition: exception.c:1068
ThrowFatalException
#define ThrowFatalException(severity, tag)
Definition: exception-private.h:42
UnlockSemaphoreInfo
MagickExport void UnlockSemaphoreInfo(SemaphoreInfo *semaphore_info)
Definition: semaphore.c:450
_ExceptionInfo::reason
char * reason
Definition: exception.h:111
exception.h
TypeFatalError
@ TypeFatalError
Definition: exception.h:79
PolicyFatalError
@ PolicyFatalError
Definition: exception.h:99
_ExceptionInfo::error_number
int error_number
Definition: exception.h:108
ThrowException
MagickExport MagickBooleanType ThrowException(ExceptionInfo *exception, const ExceptionType severity, const char *reason, const char *description)
Definition: exception.c:926
ModuleWarning
@ ModuleWarning
Definition: exception.h:44
LogMagickEvent
MagickExport MagickBooleanType LogMagickEvent(const LogEventType type, const char *module, const char *function, const size_t line, const char *format,...)
Definition: log.c:1399
MagickCoreTerminus
MagickExport void MagickCoreTerminus(void)
Definition: magick.c:1365
AcquireExceptionInfo
MagickExport ExceptionInfo * AcquireExceptionInfo(void)
Definition: exception.c:106
MaxTextExtent
#define MaxTextExtent
Definition: method-attribute.h:89
StreamFatalError
@ StreamFatalError
Definition: exception.h:86
CatchException
MagickExport void CatchException(ExceptionInfo *exception)
Definition: exception.c:196
module
const char * module
Definition: static.c:70
InheritException
MagickExport void InheritException(ExceptionInfo *exception, const ExceptionInfo *relative)
Definition: exception.c:633
UndefinedException
@ UndefinedException
Definition: exception.h:30
ResourceLimitFatalError
@ ResourceLimitFatalError
Definition: exception.h:78
ThrowMagickExceptionList
MagickExport MagickBooleanType ThrowMagickExceptionList(ExceptionInfo *, const char *, const char *, const size_t, const ExceptionType, const char *, const char *, va_list) magick_attribute((__format__(__printf__
ConfigureError
@ ConfigureError
Definition: exception.h:75
fatal_error_handler
static FatalErrorHandler fatal_error_handler
Definition: exception.c:83
DrawFatalError
@ DrawFatalError
Definition: exception.h:91
client.h
ImageFatalError
@ ImageFatalError
Definition: exception.h:92
MissingDelegateWarning
@ MissingDelegateWarning
Definition: exception.h:36
StreamError
@ StreamError
Definition: exception.h:63