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),
69 DestroyMemoryHandler);
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
MagickExport MemoryInfo * RelinquishVirtualMemory(MemoryInfo *memory_info)
Definition: memory.c:1189
MagickExport void DestroyMagickMemory(void)
Definition: memory.c:847
MagickExport void SetMagickMemoryMethods(AcquireMemoryHandler acquire_memory_handler, ResizeMemoryHandler resize_memory_handler, DestroyMemoryHandler destroy_memory_handler)
Definition: memory.c:1487
MagickExport MemoryInfo * AcquireVirtualMemory(const size_t count, const size_t quantum)
Definition: memory.c:670
MagickExport void GetMagickMemoryMethods(AcquireMemoryHandler *acquire_memory_handler, ResizeMemoryHandler *resize_memory_handler, DestroyMemoryHandler *destroy_memory_handler)
Definition: memory.c:975
void *(*)(* DestroyMemoryHandler)(void *)
Definition: memory_.h:33
#define magick_alloc_size(x)
Definition: method-attribute.h:113
MagickExport void * ResizeMagickMemory(void *memory, const size_t size)
Definition: memory.c:1347
MagickExport void * ResizeQuantumMemory(void *memory, const size_t count, const size_t quantum)
Definition: memory.c:1407
#define magick_attribute(x)
Definition: method-attribute.h:104
MagickExport void * CopyMagickMemory(void *magick_restrict destination, const void *magick_restrict source, const size_t size)
Definition: memory.c:799
MagickBooleanType
Definition: magick-type.h:169
MagickExport void * ResetMagickMemory(void *memory, int byte, const size_t size)
Definition: memory.c:1248
MagickExport void * AcquireCriticalMemory(const size_t size)
Definition: memory.c:595
MagickExport void * AcquireQuantumMemory(const size_t count, const size_t quantum)
Definition: memory.c:634
Definition: magick-type.h:172
MagickExport void * RelinquishAlignedMemory(void *memory)
Definition: memory.c:1080
size_t length
Definition: memory.c:144
MagickExport void * AcquireAlignedMemory(const size_t count, const size_t quantum)
Definition: memory.c:337
Definition: magick-type.h:171
static MagickBooleanType HeapOverflowSanityCheckGetSize(const size_t count, const size_t quantum, size_t *const extent)
Definition: memory_.h:84
MagickExport void * AcquireMagickMemory(const size_t size)
Definition: memory.c:521
MagickExport size_t GetMaxMemoryRequest(void)
Definition: memory.c:1006
MagickExport void SetMagickAlignedMemoryMethods(AcquireAlignedMemoryHandler acquire_aligned_memory_handler, RelinquishAlignedMemoryHandler relinquish_aligned_memory_handler)
Definition: memory.c:1448
void *(*)(*)*(*)*(*)(* RelinquishAlignedMemoryHandler)(void *)
Definition: memory_.h:36
MagickExport void * RelinquishMagickMemory(void *memory)
Definition: memory.c:1122
#define MagickExport
Definition: method-attribute.h:80
MagickExport void * GetVirtualMemoryBlob(const MemoryInfo *memory_info)
Definition: memory.c:1050
void *(*)(*)*(* ResizeMemoryHandler)(void *, size_t) magick_alloc_size(2)
Definition: memory_.h:34
void *(*)(*)*(*)*(* AcquireAlignedMemoryHandler)(const size_t, const size_t)
Definition: memory_.h:35
static MagickBooleanType HeapOverflowSanityCheck(const size_t count, const size_t quantum)
Definition: memory_.h:71
#define magick_alloc_sizes(x, y)
Definition: method-attribute.h:114
void *(* AcquireMemoryHandler)(size_t) magick_alloc_size(1)
Definition: memory_.h:32