18 #ifndef MAGICKCORE_MEMORY_H
19 #define MAGICKCORE_MEMORY_H
23 #if defined(__cplusplus) || defined(c_plusplus)
32 (*DestroyMemoryHandler)(
void *),
34 *(*AcquireAlignedMemoryHandler)(
const size_t,
const size_t),
68 DestroyMemoryHandler);
71 const
size_t count,const
size_t quantum)
73 if ((count == 0) || (quantum == 0))
75 if (quantum != ((count*quantum)/count))
84 const size_t count,
const size_t quantum,
size_t *
const extent)
89 if ((count == 0) || (quantum == 0))
92 if (quantum != (length/count))
97 if (extent != (
size_t *
const) NULL)
102 #if defined(__cplusplus) || defined(c_plusplus)
#define magick_restrict
Definition: MagickCore.h:41
MagickExport MemoryInfo * RelinquishVirtualMemory(MemoryInfo *memory_info)
Definition: memory.c:1229
MagickExport void DestroyMagickMemory(void)
Definition: memory.c:885
MagickExport void SetMagickMemoryMethods(AcquireMemoryHandler acquire_memory_handler, ResizeMemoryHandler resize_memory_handler, DestroyMemoryHandler destroy_memory_handler)
Definition: memory.c:1542
MagickExport MemoryInfo * AcquireVirtualMemory(const size_t count, const size_t quantum)
Definition: memory.c:705
MagickExport void GetMagickMemoryMethods(AcquireMemoryHandler *acquire_memory_handler, ResizeMemoryHandler *resize_memory_handler, DestroyMemoryHandler *destroy_memory_handler)
Definition: memory.c:1013
void *(*)(* DestroyMemoryHandler)(void *)
Definition: memory_.h:32
#define magick_alloc_size(x)
Definition: method-attribute.h:113
MagickExport void * ResizeMagickMemory(void *memory, const size_t size)
Definition: memory.c:1398
MagickExport void * ResizeQuantumMemory(void *memory, const size_t count, const size_t quantum)
Definition: memory.c:1458
MagickExport void * CopyMagickMemory(void *magick_restrict destination, const void *magick_restrict source, const size_t size)
Definition: memory.c:837
MagickBooleanType
Definition: magick-type.h:198
MagickExport void * AcquireCriticalMemory(const size_t size)
Definition: memory.c:626
MagickExport void * AcquireQuantumMemory(const size_t count, const size_t quantum)
Definition: memory.c:665
Definition: magick-type.h:201
MagickExport void * RelinquishAlignedMemory(void *memory)
Definition: memory.c:1120
MagickExport void * ResetMagickMemory(void *memory, int c, const size_t size)
Definition: memory.c:1291
size_t length
Definition: memory.c:172
MagickExport void * AcquireAlignedMemory(const size_t count, const size_t quantum)
Definition: memory.c:365
Definition: magick-type.h:200
static MagickBooleanType HeapOverflowSanityCheckGetSize(const size_t count, const size_t quantum, size_t *const extent)
Definition: memory_.h:83
MagickExport void * AcquireMagickMemory(const size_t size)
Definition: memory.c:552
MagickExport size_t GetMaxMemoryRequest(void)
Definition: memory.c:1044
MagickExport void SetMagickAlignedMemoryMethods(AcquireAlignedMemoryHandler acquire_aligned_memory_handler, RelinquishAlignedMemoryHandler relinquish_aligned_memory_handler)
Definition: memory.c:1503
void *(*)(*)*(*)*(*)(* RelinquishAlignedMemoryHandler)(void *)
Definition: memory_.h:35
MagickExport void * RelinquishMagickMemory(void *memory)
Definition: memory.c:1162
#define magick_attribute(x)
Definition: deprecate.h:41
#define MagickExport
Definition: method-attribute.h:80
MagickExport void * GetVirtualMemoryBlob(const MemoryInfo *memory_info)
Definition: memory.c:1090
void *(*)(*)*(* ResizeMemoryHandler)(void *, size_t) magick_alloc_size(2)
Definition: memory_.h:33
void *(*)(*)*(*)*(* AcquireAlignedMemoryHandler)(const size_t, const size_t)
Definition: memory_.h:34
static MagickBooleanType HeapOverflowSanityCheck(const size_t count, const size_t quantum)
Definition: memory_.h:70
#define magick_alloc_sizes(x, y)
Definition: method-attribute.h:114
void *(* AcquireMemoryHandler)(size_t) magick_alloc_size(1)
Definition: memory_.h:31