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 != NULL);
103 #if defined(__cplusplus) || defined(c_plusplus)
MagickExport MemoryInfo * RelinquishVirtualMemory(MemoryInfo *)
void *(* AcquireMemoryHandler)(size_t) magick_alloc_size(1)
MagickExport size_t GetMaxMemoryRequest(void)
void *(*)(* DestroyMemoryHandler)(void *)
MagickExport void * ResizeMagickMemory(void *, const size_t) magick_attribute((__malloc__)) magick_alloc_size(2)
MagickExport void * RelinquishMagickMemory(void *)
#define magick_alloc_size(x)
MagickExport MemoryInfo * AcquireVirtualMemory(const size_t, const size_t) magick_alloc_sizes(1
#define magick_attribute(x)
MagickExport void * RelinquishAlignedMemory(void *)
MagickExport void * ResetMagickMemory(void *, int, const size_t)
MagickExport void GetMagickMemoryMethods(AcquireMemoryHandler *, ResizeMemoryHandler *, DestroyMemoryHandler *)
void *(*)(*) *(*) *(*)(* RelinquishAlignedMemoryHandler)(void *)
MagickExport void * AcquireCriticalMemory(const size_t)
void *(*)(*) *(*) *(* AcquireAlignedMemoryHandler)(const size_t, const size_t)
MagickExport void * GetVirtualMemoryBlob(const MemoryInfo *)
MagickExport void SetMagickAlignedMemoryMethods(AcquireAlignedMemoryHandler, RelinquishAlignedMemoryHandler)
MagickExport void * AcquireQuantumMemory(const size_t, const size_t) magick_attribute((__malloc__)) magick_alloc_sizes(1
MagickExport void * CopyMagickMemory(void *magick_restrict, const void *magick_restrict, const size_t) magick_attribute((__nonnull__))
static MagickBooleanType HeapOverflowSanityCheckGetSize(const size_t count, const size_t quantum, size_t *const extent)
MagickExport void DestroyMagickMemory(void)
MagickExport void * AcquireMagickMemory(const size_t) magick_attribute((__malloc__)) magick_alloc_size(1)
MagickExport void SetMagickMemoryMethods(AcquireMemoryHandler, ResizeMemoryHandler, DestroyMemoryHandler)
MagickExport void * ResizeQuantumMemory(void *, const size_t, const size_t) magick_attribute((__malloc__)) magick_alloc_sizes(2
MagickExport void * AcquireAlignedMemory(const size_t, const size_t) magick_attribute((__malloc__)) magick_alloc_sizes(1
void *(*)(*) *(* ResizeMemoryHandler)(void *, size_t) magick_alloc_size(2)
static MagickBooleanType HeapOverflowSanityCheck(const size_t count, const size_t quantum)
#define magick_alloc_sizes(x, y)