18#ifndef MAGICKCORE_MEMORY_H
19#define MAGICKCORE_MEMORY_H
24#if defined(__cplusplus) || defined(c_plusplus)
33 (*DestroyMemoryHandler)(
void *),
35 *(*AcquireAlignedMemoryHandler)(
const size_t,
const size_t),
72 const size_t count,
const size_t quantum)
74 if ((count == 0) || (quantum == 0))
76 if (quantum != ((count*quantum)/count))
85 const size_t count,
const size_t quantum,
size_t *
const extent)
90 if ((count == 0) || (quantum == 0))
93 if (quantum != (
length/count))
98 assert(extent != (
size_t *
const) NULL);
103#if defined(__cplusplus) || defined(c_plusplus)
#define magick_restrict
Definition MagickCore.h:41
#define magick_attribute(x)
Definition deprecate.h:41
MagickBooleanType
Definition magick-type.h:203
@ MagickFalse
Definition magick-type.h:204
@ MagickTrue
Definition magick-type.h:205
static MagickBooleanType HeapOverflowSanityCheckGetSize(const size_t count, const size_t quantum, size_t *const extent)
Definition memory_.h:84
MagickExport MemoryInfo * RelinquishVirtualMemory(MemoryInfo *)
Definition memory.c:1229
MagickExport void * AcquireAlignedMemory(const size_t, const size_t) magick_attribute((__malloc__)) magick_alloc_sizes(1
MagickExport void SetMagickAlignedMemoryMethods(AcquireAlignedMemoryHandler, RelinquishAlignedMemoryHandler)
MagickExport void * GetVirtualMemoryBlob(const MemoryInfo *)
MagickExport void * AcquireQuantumMemory(const size_t, const size_t) magick_attribute((__malloc__)) magick_alloc_sizes(1
MagickExport size_t GetMaxMemoryRequest(void)
Definition memory.c:1044
MagickExport void DestroyMagickMemory(void)
MagickExport MemoryInfo * AcquireVirtualMemory(const size_t, const size_t) magick_alloc_sizes(1
static MagickBooleanType HeapOverflowSanityCheck(const size_t count, const size_t quantum)
Definition memory_.h:71
MagickExport void * RelinquishMagickMemory(void *)
MagickExport void * AcquireCriticalMemory(const size_t)
MagickExport void * ResetMagickMemory(void *, int, const size_t)
MagickExport void * CopyMagickMemory(void *magick_restrict, const void *magick_restrict, const size_t) magick_attribute((__nonnull__))
MagickExport void * AcquireMagickMemory(const size_t) magick_attribute((__malloc__)) magick_alloc_size(1)
MagickExport void * ResizeQuantumMemory(void *, const size_t, const size_t) magick_attribute((__malloc__)) magick_alloc_sizes(2
void *(*)(*) *(* ResizeMemoryHandler)(void *, size_t) magick_alloc_size(2)
Definition memory_.h:34
MagickExport void * RelinquishAlignedMemory(void *)
void *(* AcquireMemoryHandler)(size_t) magick_alloc_size(1)
Definition memory_.h:32
MagickExport void * ResizeMagickMemory(void *, const size_t) magick_attribute((__malloc__)) magick_alloc_size(2)
MagickExport void GetMagickMemoryMethods(AcquireMemoryHandler *, ResizeMemoryHandler *, DestroyMemoryHandler *)
MagickExport void SetMagickMemoryMethods(AcquireMemoryHandler, ResizeMemoryHandler, DestroyMemoryHandler)
Definition memory.c:1542
void *(*)(*) *(*) *(* AcquireAlignedMemoryHandler)(const size_t, const size_t)
Definition memory_.h:35
void *(*)(*) *(*) *(*)(* RelinquishAlignedMemoryHandler)(void *)
Definition memory_.h:36
void *(*)(* DestroyMemoryHandler)(void *)
Definition memory_.h:33
#define magick_alloc_sizes(x, y)
Definition method-attribute.h:114
#define MagickExport
Definition method-attribute.h:80
#define magick_alloc_size(x)
Definition method-attribute.h:113
size_t length
Definition memory.c:172