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
MagickExport MagickBooleanType magick_attribute((deprecated))
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 * AcquireVirtualMemory(const size_t, const size_t) magick_alloc_sizes(1
MagickExport MemoryInfo * RelinquishVirtualMemory(MemoryInfo *)
Definition: memory.c:1229
void *(*)(*) *(*) *(*)(* RelinquishAlignedMemoryHandler)(void *)
Definition: memory_.h:36
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)
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 *(* AcquireMemoryHandler)(size_t) magick_alloc_size(1)
Definition: memory_.h:32
void *(*)(* DestroyMemoryHandler)(void *)
Definition: memory_.h:33
MagickExport void * RelinquishAlignedMemory(void *)
MagickExport void * ResizeMagickMemory(void *, const size_t) magick_attribute((__malloc__)) magick_alloc_size(2)
void *(*)(*) *(* ResizeMemoryHandler)(void *, size_t) magick_alloc_size(2)
Definition: memory_.h:34
MagickExport void GetMagickMemoryMethods(AcquireMemoryHandler *, ResizeMemoryHandler *, DestroyMemoryHandler *)
MagickExport void SetMagickMemoryMethods(AcquireMemoryHandler, ResizeMemoryHandler, DestroyMemoryHandler)
Definition: memory.c:1542
MagickExport void * AcquireAlignedMemory(const size_t, const size_t) magick_attribute((__malloc__)) magick_alloc_sizes(1
void *(*)(*) *(*) *(* AcquireAlignedMemoryHandler)(const size_t, const size_t)
Definition: memory_.h:35
#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