MagickCore  7.0.7
Convert, Edit, Or Compose Bitmap Images
version.c
Go to the documentation of this file.
1 /*
2 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3 % %
4 % %
5 % %
6 % V V EEEEE RRRR SSSSS IIIII OOO N N %
7 % V V E R R SS I O O NN N %
8 % V V EEE RRRR SSS I O O N N N %
9 % V V E R R SS I O O N NN %
10 % V EEEEE R R SSSSS IIIII OOO N N %
11 % %
12 % %
13 % MagickCore Version and Copyright Methods %
14 % %
15 % Software Design %
16 % Cristy %
17 % September 2002 %
18 % %
19 % %
20 % Copyright 1999-2018 ImageMagick Studio LLC, a non-profit organization %
21 % dedicated to making software imaging solutions freely available. %
22 % %
23 % You may not use this file except in compliance with the License. You may %
24 % obtain a copy of the License at %
25 % %
26 % https://www.imagemagick.org/script/license.php %
27 % %
28 % Unless required by applicable law or agreed to in writing, software %
29 % distributed under the License is distributed on an "AS IS" BASIS, %
30 % WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. %
31 % See the License for the specific language governing permissions and %
32 % limitations under the License. %
33 % %
34 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
35 %
36 %
37 */
38 
39 #include "MagickCore/studio.h"
40 #include "MagickCore/configure.h"
41 #include "MagickCore/exception.h"
43 #include "MagickCore/linked-list.h"
44 #include "MagickCore/locale_.h"
45 #include "MagickCore/option.h"
46 #include "MagickCore/string_.h"
47 #include "MagickCore/utility.h"
49 #include "MagickCore/version.h"
51 
52 /*
53  Define declarations.
54 */
55 #define MagickURLFilename "index.html"
56 
57 /*
58 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
59 % %
60 % %
61 % %
62 % G e t M a g i c k C o p y r i g h t %
63 % %
64 % %
65 % %
66 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
67 %
68 % GetMagickCopyright() returns the ImageMagick API copyright as a string.
69 %
70 % The format of the GetMagickCopyright method is:
71 %
72 % const char *GetMagickCopyright(void)
73 %
74 */
76 {
77  return(MagickCopyright);
78 }
79 
80 /*
81 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
82 % %
83 % %
84 % %
85 % G e t M a g i c k D e l e g a t e s %
86 % %
87 % %
88 % %
89 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
90 %
91 % GetMagickDelegates() returns the ImageMagick delegate libraries.
92 %
93 % The format of the GetMagickDelegates method is:
94 %
95 % const char *GetMagickDelegates(void)
96 %
97 % No parameters are required.
98 %
99 */
101 {
102  return ""
103 #if defined(MAGICKCORE_AUTOTRACE_DELEGATE)
104  "autotrace "
105 #endif
106 #if defined(MAGICKCORE_BZLIB_DELEGATE)
107  "bzlib "
108 #endif
109 #if defined(MAGICKCORE_CAIRO_DELEGATE)
110  "cairo "
111 #endif
112 #if defined(MAGICKCORE_DJVU_DELEGATE)
113  "djvu "
114 #endif
115 #if defined(MAGICKCORE_DPS_DELEGATE)
116  "dps "
117 #endif
118 #if defined(MAGICKCORE_EMF_DELEGATE)
119  "emf "
120 #endif
121 #if defined(MAGICKCORE_FFTW_DELEGATE)
122  "fftw "
123 #endif
124 #if defined(MAGICKCORE_FLIF_DELEGATE)
125  "flif "
126 #endif
127 #if defined(MAGICKCORE_FONTCONFIG_DELEGATE)
128  "fontconfig "
129 #endif
130 #if defined(MAGICKCORE_FPX_DELEGATE)
131  "fpx "
132 #endif
133 #if defined(MAGICKCORE_FREETYPE_DELEGATE)
134  "freetype "
135 #endif
136 #if defined(MAGICKCORE_GS_DELEGATE) || defined(MAGICKCORE_WINDOWS_SUPPORT)
137  "gslib "
138 #endif
139 #if defined(MAGICKCORE_GVC_DELEGATE)
140  "gvc "
141 #endif
142 #if defined(MAGICKCORE_JBIG_DELEGATE)
143  "jbig "
144 #endif
145 #if defined(MAGICKCORE_JPEG_DELEGATE) && defined(MAGICKCORE_PNG_DELEGATE)
146  "jng "
147 #endif
148 #if defined(MAGICKCORE_LIBOPENJP2_DELEGATE)
149  "jp2 "
150 #endif
151 #if defined(MAGICKCORE_JPEG_DELEGATE)
152  "jpeg "
153 #endif
154 #if defined(MAGICKCORE_LCMS_DELEGATE)
155  "lcms "
156 #endif
157 #if defined(MAGICKCORE_LQR_DELEGATE)
158  "lqr "
159 #endif
160 #if defined(MAGICKCORE_LTDL_DELEGATE)
161  "ltdl "
162 #endif
163 #if defined(MAGICKCORE_LZMA_DELEGATE)
164  "lzma "
165 #endif
166 #if defined(MAGICKCORE_OPENEXR_DELEGATE)
167  "openexr "
168 #endif
169 #if defined(MAGICKCORE_PANGOCAIRO_DELEGATE)
170  "pangocairo "
171 #endif
172 #if defined(MAGICKCORE_PNG_DELEGATE)
173  "png "
174 #endif
175 #if defined(MAGICKCORE_DPS_DELEGATE) || defined(MAGICKCORE_GS_DELEGATE) || \
176  defined(MAGICKCORE_WINDOWS_SUPPORT)
177  "ps "
178 #endif
179 #if defined(MAGICKCORE_RAW_R_DELEGATE)
180  "raw "
181 #endif
182 #if defined(MAGICKCORE_RSVG_DELEGATE)
183  "rsvg "
184 #endif
185 #if defined(MAGICKCORE_TIFF_DELEGATE)
186  "tiff "
187 #endif
188 #if defined(MAGICKCORE_WEBP_DELEGATE)
189  "webp "
190 #endif
191 #if defined(MAGICKCORE_WMF_DELEGATE) || defined (MAGICKCORE_WMFLITE_DELEGATE)
192  "wmf "
193 #endif
194 #if defined(MAGICKCORE_X11_DELEGATE)
195  "x "
196 #endif
197 #if defined(MAGICKCORE_XML_DELEGATE)
198  "xml "
199 #endif
200 #if defined(MAGICKCORE_ZLIB_DELEGATE)
201  "zlib"
202 #endif
203  ;
204 }
205 
206 /*
207 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
208 % %
209 % %
210 % %
211 % G e t M a g i c k F e a t u r e s %
212 % %
213 % %
214 % %
215 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
216 %
217 % GetMagickFeatures() returns the ImageMagick features.
218 %
219 % The format of the GetMagickFeatures method is:
220 %
221 % const char *GetMagickFeatures(void)
222 %
223 % No parameters are required.
224 %
225 */
227 {
228  return ""
229 #if defined(MAGICKCORE_WINDOWS_SUPPORT) && defined(_DEBUG)
230  "Debug "
231 #endif
232 #if defined(MAGICKCORE_CIPHER_SUPPORT)
233  "Cipher "
234 #endif
235 #if defined(MAGICKCORE_WINDOWS_SUPPORT) || defined(MAGICKCORE_HAVE_SOCKET) && defined(MAGICKCORE_THREAD_SUPPORT)
236  "DPC "
237 #endif
238 #if defined(MAGICKCORE_HDRI_SUPPORT)
239  "HDRI "
240 #endif
241 #if defined(MAGICKCORE_BUILD_MODULES) || defined(_DLL)
242  "Modules "
243 #endif
244 #if defined(MAGICKCORE_OPENCL_SUPPORT)
245  "OpenCL "
246 #endif
247 #if defined(MAGICKCORE_OPENMP_SUPPORT)
248  "OpenMP "
249 #endif
250 #if defined(ZERO_CONFIGURATION_SUPPORT)
251  "Zero-configuration "
252 #endif
253  ;
254 }
255 
256 /*
257 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
258 % %
259 % %
260 % %
261 % G e t M a g i c k H o m e U R L %
262 % %
263 % %
264 % %
265 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
266 %
267 % GetMagickHomeURL() returns the ImageMagick home URL.
268 %
269 % The format of the GetMagickHomeURL method is:
270 %
271 % char *GetMagickHomeURL(void)
272 %
273 */
275 {
276  char
277  path[MagickPathExtent];
278 
279  const char
280  *element;
281 
283  *exception;
284 
286  *paths;
287 
288  exception=AcquireExceptionInfo();
289  paths=GetConfigurePaths(MagickURLFilename,exception);
290  exception=DestroyExceptionInfo(exception);
291  if (paths == (LinkedListInfo *) NULL)
292  return(ConstantString(MagickHomeURL));
293  element=(const char *) GetNextValueInLinkedList(paths);
294  while (element != (const char *) NULL)
295  {
296  (void) FormatLocaleString(path,MagickPathExtent,"%s%s%s",element,
298  if (IsPathAccessible(path) != MagickFalse)
299  {
301  return(ConstantString(path));
302  }
303  element=(const char *) GetNextValueInLinkedList(paths);
304  }
306  return(ConstantString(MagickHomeURL));
307 }
308 
309 /*
310 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
311 % %
312 % %
313 % %
314 % G e t M a g i c k L i c e n s e %
315 % %
316 % %
317 % %
318 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
319 %
320 % GetMagickLicense() returns the ImageMagick API license as a string.
321 %
322 % The format of the GetMagickLicense method is:
323 %
324 % const char *GetMagickLicense(void)
325 %
326 */
328 {
330 }
331 
332 /*
333 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
334 % %
335 % %
336 % %
337 % G e t M a g i c k P a c k a g e N a m e %
338 % %
339 % %
340 % %
341 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
342 %
343 % GetMagickPackageName() returns the ImageMagick package name.
344 %
345 % The format of the GetMagickName method is:
346 %
347 % const char *GetMagickName(void)
348 %
349 % No parameters are required.
350 %
351 */
353 {
354  return(MagickPackageName);
355 }
356 
357 /*
358 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
359 % %
360 % %
361 % %
362 % G e t M a g i c k Q u a n t u m D e p t h %
363 % %
364 % %
365 % %
366 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
367 %
368 % GetMagickQuantumDepth() returns the ImageMagick quantum depth.
369 %
370 % The format of the GetMagickQuantumDepth method is:
371 %
372 % const char *GetMagickQuantumDepth(size_t *depth)
373 %
374 % A description of each parameter follows:
375 %
376 % o depth: the quantum depth is returned as a number.
377 %
378 */
379 MagickExport const char *GetMagickQuantumDepth(size_t *depth)
380 {
381  if (depth != (size_t *) NULL)
382  *depth=(size_t) MAGICKCORE_QUANTUM_DEPTH;
383  return(MagickQuantumDepth);
384 }
385 
386 /*
387 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
388 % %
389 % %
390 % %
391 % G e t M a g i c k Q u a n t u m R a n g e %
392 % %
393 % %
394 % %
395 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
396 %
397 % GetMagickQuantumRange() returns the ImageMagick quantum range.
398 %
399 % The format of the GetMagickQuantumRange method is:
400 %
401 % const char *GetMagickQuantumRange(size_t *range)
402 %
403 % A description of each parameter follows:
404 %
405 % o range: the quantum range is returned as a number.
406 %
407 */
408 MagickExport const char *GetMagickQuantumRange(size_t *range)
409 {
410  if (range != (size_t *) NULL)
411  *range=(size_t) QuantumRange;
412  return(MagickQuantumRange);
413 }
414 
415 /*
416 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
417 % %
418 % %
419 % %
420 % G e t M a g i c k R e l e a s e D a t e %
421 % %
422 % %
423 % %
424 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
425 %
426 % GetMagickReleaseDate() returns the ImageMagick release date.
427 %
428 % The format of the GetMagickReleaseDate method is:
429 %
430 % const char *GetMagickReleaseDate(void)
431 %
432 % No parameters are required.
433 %
434 */
436 {
437  return(MagickReleaseDate);
438 }
439 
440 /*
441 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
442 % %
443 % %
444 % %
445 % G e t M a g i c k S i g n a t u r e %
446 % %
447 % %
448 % %
449 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
450 %
451 % GetMagickSignature() returns a signature that uniquely encodes the
452 % MagickCore libary version, quantum depth, HDRI status, OS word size, and
453 % endianness.
454 %
455 % The format of the GetMagickSignature method is:
456 %
457 % unsigned int GetMagickSignature(const StringInfo *nonce)
458 %
459 % A description of each parameter follows:
460 %
461 % o nonce: arbitrary data.
462 %
463 */
464 
465 static unsigned int CRC32(const unsigned char *message,const size_t length)
466 {
467  register ssize_t
468  i;
469 
470  static MagickBooleanType
471  crc_initial = MagickFalse;
472 
473  static unsigned int
474  crc_xor[256];
475 
476  unsigned int
477  crc;
478 
479  /*
480  Generate a 32-bit cyclic redundancy check for the message.
481  */
482  if (crc_initial == MagickFalse)
483  {
484  register unsigned int
485  j;
486 
487  unsigned int
488  alpha;
489 
490  for (j=0; j < 256; j++)
491  {
492  register ssize_t
493  k;
494 
495  alpha=j;
496  for (k=0; k < 8; k++)
497  alpha=(alpha & 0x01) ? (0xEDB88320 ^ (alpha >> 1)) : (alpha >> 1);
498  crc_xor[j]=alpha;
499  }
500  crc_initial=MagickTrue;
501  }
502  crc=0xFFFFFFFF;
503  for (i=0; i < (ssize_t) length; i++)
504  crc=crc_xor[(crc ^ message[i]) & 0xff] ^ (crc >> 8);
505  return(crc ^ 0xFFFFFFFF);
506 }
507 
508 MagickExport unsigned int GetMagickSignature(const StringInfo *nonce)
509 {
510  register unsigned char
511  *p;
512 
513  StringInfo
514  *version;
515 
516  unsigned int
517  signature;
518 
520  p=GetStringInfoDatum(version);
521  signature=MAGICKCORE_QUANTUM_DEPTH;
522  (void) memcpy(p,&signature,sizeof(signature));
523  p+=sizeof(signature);
524  signature=MAGICKCORE_HDRI_ENABLE;
525  (void) memcpy(p,&signature,sizeof(signature));
526  p+=sizeof(signature);
527  signature=MagickLibInterface;
528  (void) memcpy(p,&signature,sizeof(signature));
529  p+=sizeof(signature);
530  signature=1; /* endianess */
531  (void) memcpy(p,&signature,sizeof(signature));
532  p+=sizeof(signature);
533  SetStringInfoLength(version,p-GetStringInfoDatum(version));
534  if (nonce != (const StringInfo *) NULL)
535  ConcatenateStringInfo(version,nonce);
536  signature=CRC32(GetStringInfoDatum(version),GetStringInfoLength(version));
537  version=DestroyStringInfo(version);
538  return(signature);
539 }
540 
541 /*
542 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
543 % %
544 % %
545 % %
546 % G e t M a g i c k V e r s i o n %
547 % %
548 % %
549 % %
550 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
551 %
552 % GetMagickVersion() returns the ImageMagick API version as a string and
553 % as a number.
554 %
555 % The format of the GetMagickVersion method is:
556 %
557 % const char *GetMagickVersion(size_t *version)
558 %
559 % A description of each parameter follows:
560 %
561 % o version: the ImageMagick version is returned as a number.
562 %
563 */
564 MagickExport const char *GetMagickVersion(size_t *version)
565 {
566  if (version != (size_t *) NULL)
567  *version=MagickLibVersion;
568  return(MagickVersion);
569 }
570 
571 /*
572 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
573 % %
574 % %
575 % %
576 % L i s t M a g i c k V e r s i o n %
577 % %
578 % %
579 % %
580 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
581 %
582 % ListMagickVersion() identifies the ImageMagick version by printing its
583 % attributes to the file. Attributes include the copyright, features, and
584 % delegates.
585 %
586 % The format of the ListMagickVersion method is:
587 %
588 % void ListMagickVersion(FILE *file)
589 %
590 % A description of each parameter follows:
591 %
592 % o file: the file, typically stdout.
593 %
594 */
596 {
597  (void) FormatLocaleFile(file,"Version: %s\n",
598  GetMagickVersion((size_t *) NULL));;
599  (void) FormatLocaleFile(file,"Copyright: %s\n",GetMagickCopyright());
600  (void) FormatLocaleFile(file,"License: %s\n",GetMagickLicense());
601 #if defined(MAGICKCORE_WINDOWS_SUPPORT) && defined(_MSC_FULL_VER)
602  (void) FormatLocaleFile(file,"Visual C++: %d\n",_MSC_FULL_VER);
603 #endif
604  (void) FormatLocaleFile(file,"Features: %s\n",GetMagickFeatures());
605  (void) FormatLocaleFile(file,"Delegates (built-in): %s\n",
607  if (IsEventLogging() != MagickFalse)
608  {
609  (void) FormatLocaleFile(file,"Wizard attributes: ");
610  (void) FormatLocaleFile(file,"QuantumRange=%g; ",(double) QuantumRange);
611  (void) FormatLocaleFile(file,"QuantumScale=%.*g; ",GetMagickPrecision(),
612  (double) QuantumScale);
613  (void) FormatLocaleFile(file,"MagickEpsilon=%.*g; ",GetMagickPrecision(),
614  (double) MagickEpsilon);
615  (void) FormatLocaleFile(file,"MaxMap=%g; ",(double) MaxMap);
616  (void) FormatLocaleFile(file,"MagickPathExtent=%g; ",
617  (double) MagickPathExtent);
618  (void) FormatLocaleFile(file,"sizeof(Quantum)=%g; ",(double)
619  sizeof(Quantum));
620  (void) FormatLocaleFile(file,"sizeof(MagickSizeType)=%g; ",(double)
621  sizeof(MagickSizeType));
622  (void) FormatLocaleFile(file,"sizeof(MagickOffsetType)=%g",(double)
623  sizeof(MagickOffsetType));
624  }
625 }
#define MagickLibInterface
Definition: version.h:34
#define MagickAuthoritativeLicense
Definition: version.h:51
MagickExport const char * GetMagickPackageName(void)
Definition: version.c:352
MagickExport const char * GetMagickDelegates(void)
Definition: version.c:100
#define MagickQuantumDepth
Definition: version.h:68
MagickExport LinkedListInfo * DestroyLinkedList(LinkedListInfo *list_info, void *(*relinquish_value)(void *))
Definition: linked-list.c:219
#define MagickURLFilename
Definition: version.c:55
#define MagickPackageName
Definition: version.h:28
MagickExport char * GetMagickHomeURL(void)
Definition: version.c:274
MagickExport void ListMagickVersion(FILE *file)
Definition: version.c:595
MagickExport ExceptionInfo * AcquireExceptionInfo(void)
Definition: exception.c:108
MagickExport void ConcatenateStringInfo(StringInfo *string_info, const StringInfo *source)
Definition: string.c:536
MagickExport ssize_t FormatLocaleString(char *magick_restrict string, const size_t length, const char *magick_restrict format,...)
Definition: locale.c:473
#define MAGICKCORE_QUANTUM_DEPTH
Definition: magick-type.h:28
MagickExport const char * GetMagickFeatures(void)
Definition: version.c:226
MagickExport unsigned int GetMagickSignature(const StringInfo *nonce)
Definition: version.c:508
#define MagickEpsilon
Definition: magick-type.h:110
ssize_t MagickOffsetType
Definition: magick-type.h:127
MagickExport const char * GetMagickLicense(void)
Definition: version.c:327
static unsigned int CRC32(const unsigned char *message, const size_t length)
Definition: version.c:465
#define MagickVersion
Definition: version.h:71
MagickExport void * GetNextValueInLinkedList(LinkedListInfo *list_info)
Definition: linked-list.c:305
MagickExport unsigned char * GetStringInfoDatum(const StringInfo *string_info)
Definition: string.c:1283
MagickExport ssize_t FormatLocaleFile(FILE *file, const char *magick_restrict format,...)
Definition: locale.c:378
MagickBooleanType
Definition: magick-type.h:156
#define DirectorySeparator
Definition: studio.h:254
MagickExport StringInfo * DestroyStringInfo(StringInfo *string_info)
Definition: string.c:837
#define MagickLibVersion
Definition: version.h:30
MagickExport const char * GetMagickReleaseDate(void)
Definition: version.c:435
MagickExport const char * GetMagickQuantumDepth(size_t *depth)
Definition: version.c:379
size_t MagickSizeType
Definition: magick-type.h:128
#define MagickPathExtent
MagickExport MagickBooleanType IsEventLogging(void)
Definition: log.c:716
MagickExport int GetMagickPrecision(void)
Definition: magick.c:865
#define MagickHomeURL
Definition: version.h:54
MagickExport MagickBooleanType IsPathAccessible(const char *path)
Definition: utility.c:1466
MagickExport const char * GetMagickVersion(size_t *version)
Definition: version.c:564
#define QuantumScale
Definition: magick-type.h:113
MagickExport const char * GetMagickQuantumRange(size_t *range)
Definition: version.c:408
MagickExport const char * GetMagickCopyright(void)
Definition: version.c:75
#define MaxMap
Definition: magick-type.h:75
MagickExport StringInfo * AcquireStringInfo(const size_t length)
Definition: string.c:170
MagickExport LinkedListInfo * GetConfigurePaths(const char *filename, ExceptionInfo *exception)
Definition: configure.c:746
unsigned short Quantum
Definition: magick-type.h:82
MagickExport void SetStringInfoLength(StringInfo *string_info, const size_t length)
Definition: string.c:1784
MagickExport void * RelinquishMagickMemory(void *memory)
Definition: memory.c:1038
#define MagickExport
#define MagickReleaseDate
Definition: version.h:50
MagickExport size_t GetStringInfoLength(const StringInfo *string_info)
Definition: string.c:1312
MagickExport char * ConstantString(const char *source)
Definition: string.c:687
#define MagickCopyright
Definition: version.h:29
#define QuantumRange
Definition: magick-type.h:83
#define MagickQuantumRange
Definition: version.h:69
MagickExport ExceptionInfo * DestroyExceptionInfo(ExceptionInfo *exception)
Definition: exception.c:417