MagickCore
6.9.10
Convert, Edit, Or Compose Bitmap Images
|
Go to the documentation of this file.
18 #ifndef MAGICKCORE_MEMORY_H
19 #define MAGICKCORE_MEMORY_H
21 #if defined(__cplusplus) || defined(c_plusplus)
30 (*DestroyMemoryHandler)(
void *),
60 #if defined(__cplusplus) || defined(c_plusplus)
static double SiPrefixToDoubleInterval(const char *string, const double interval)
Definition: string-private.h:27
MagickExport void LockSemaphoreInfo(SemaphoreInfo *semaphore_info)
Definition: semaphore.c:345
#define MagickExport
Definition: method-attribute.h:80
struct _MemoryPool MemoryPool
#define magick_alloc_size(x)
Definition: method-attribute.h:113
MagickExport void * RelinquishAlignedMemory(void *memory)
Definition: memory.c:1040
MagickExport void * CopyMagickMemory(void *, const void *, const size_t) magick_attribute((__nonnull__))
MagickExport void DestroyMagickMemory(void)
MagickExport MemoryInfo * AcquireVirtualMemory(const size_t count, const size_t quantum)
Definition: memory.c:593
MagickExport void * RelinquishAlignedMemory(void *)
MagickExport void * ResizeMagickMemory(void *, const size_t) magick_attribute((__malloc__)) magick_alloc_size(2)
#define MaxBlockExponent
Definition: memory.c:78
#define MagickCoreSignature
Definition: method-attribute.h:86
MagickExport void * ResizeQuantumMemory(void *memory, const size_t count, const size_t quantum)
Definition: memory.c:1316
static MagickMemoryMethods memory_methods
Definition: memory.c:188
#define MaxSegments
Definition: memory.c:80
VirtualMemoryType type
Definition: memory.c:137
MagickExport MemoryInfo * AcquireVirtualMemory(const size_t, const size_t) magick_alloc_sizes(1
AcquireMemoryHandler acquire_memory_handler
Definition: memory.c:122
MagickExport void SetMagickMemoryMethods(AcquireMemoryHandler acquire_memory_handler, ResizeMemoryHandler resize_memory_handler, DestroyMemoryHandler destroy_memory_handler)
Definition: memory.c:1361
VirtualMemoryType
Definition: memory.c:95
#define magick_alloc_sizes(x, y)
Definition: method-attribute.h:114
MagickExport MagickBooleanType UnmapBlob(void *, const size_t)
Definition: blob.c:4682
void * blocks[MaxBlocks+1]
Definition: memory.c:155
struct _DataSegmentInfo * next
Definition: memory.c:116
static size_t max_memory_request
Definition: memory.c:169
void * blob
Definition: memory.c:143
void *(*)(* DestroyMemoryHandler)(void *)
Definition: memory_.h:30
MagickExport void * ResizeMagickMemory(void *memory, const size_t size)
Definition: memory.c:1256
MagickExport char * DestroyString(char *string)
Definition: string.c:820
DataSegmentInfo segment_pool[MaxSegments]
Definition: memory.c:162
@ MagickTrue
Definition: magick-type.h:194
char filename[MaxTextExtent]
Definition: memory.c:134
#define NextBlockInList(block)
Definition: memory.c:83
@ IOMode
Definition: blob.h:34
#define BlockFooter(block, size)
Definition: memory.c:73
void *(*)(*) *(* ResizeMemoryHandler)(void *, size_t) magick_alloc_size(2)
Definition: memory_.h:31
MagickExport void * AcquireMagickMemory(const size_t size)
Definition: memory.c:473
#define SizeMask
Definition: memory.c:88
void * bound
Definition: memory.c:106
MagickExport MagickBooleanType HeapOverflowSanityCheck(const size_t count, const size_t quantum)
Definition: memory.c:1002
Definition: semaphore.c:60
#define NextBlock(block)
Definition: memory.c:82
#define PreviousBlockInList(block)
Definition: memory.c:86
MagickBooleanType mapped
Definition: memory.c:109
void * allocation
Definition: memory.c:105
#define CACHE_LINE_SIZE
Definition: memory-private.h:30
MagickExport void * GetVirtualMemoryBlob(const MemoryInfo *)
MagickExport void GetMagickMemoryMethods(AcquireMemoryHandler *acquire_memory_handler, ResizeMemoryHandler *resize_memory_handler, DestroyMemoryHandler *destroy_memory_handler)
Definition: memory.c:895
#define PreviousBlockBit
Definition: memory.c:85
size_t signature
Definition: memory.c:146
MagickExport int LocaleCompare(const char *p, const char *q)
Definition: locale.c:1440
ResizeMemoryHandler resize_memory_handler
Definition: memory.c:125
@ UnalignedVirtualMemory
Definition: memory.c:99
#define MagickAssumeAligned(address)
Definition: memory-private.h:43
MagickExport void DestroyMagickMemory(void)
Definition: memory.c:767
#define SizeOfBlock(block)
Definition: memory.c:89
@ MapVirtualMemory
Definition: memory.c:98
#define MaxBlocks
Definition: memory.c:79
@ MagickFalse
Definition: magick-type.h:193
struct _DataSegmentInfo * previous
Definition: memory.c:114
MagickExport void * AcquireAlignedMemory(const size_t, const size_t) magick_attribute((__malloc__)) magick_alloc_sizes(1
MagickExport void * AcquireAlignedMemory(const size_t count, const size_t quantum)
Definition: memory.c:243
@ UndefinedVirtualMemory
Definition: memory.c:96
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:29
struct _MagickMemoryMethods MagickMemoryMethods
DestroyMemoryHandler destroy_memory_handler
Definition: memory.c:128
size_t length
Definition: memory.c:112
MagickExport void ActivateSemaphoreInfo(SemaphoreInfo **semaphore_info)
Definition: semaphore.c:97
#define AlignedPowerOf2(x)
size_t allocation
Definition: memory.c:152
MagickExport void * AcquireMagickMemory(const size_t) magick_attribute((__malloc__)) magick_alloc_size(1)
MagickExport void DestroySemaphoreInfo(SemaphoreInfo **semaphore_info)
Definition: semaphore.c:293
MagickExport MagickBooleanType magick_attribute((deprecated))
MagickExport void * GetVirtualMemoryBlob(const MemoryInfo *memory_info)
Definition: memory.c:971
static size_t StringToSizeType(const char *string, const double interval)
Definition: memory.c:582
MagickExport MemoryInfo * RelinquishVirtualMemory(MemoryInfo *memory_info)
Definition: memory.c:1144
MagickBooleanType
Definition: magick-type.h:192
size_t number_segments
Definition: memory.c:158
MagickExport void * RelinquishMagickMemory(void *memory)
Definition: memory.c:1077
size_t length
Definition: memory.c:140
MagickExport void * RelinquishMagickMemory(void *)
MagickExport void GetMagickMemoryMethods(AcquireMemoryHandler *, ResizeMemoryHandler *, DestroyMemoryHandler *)
MagickExport MagickBooleanType RelinquishUniqueFileResource(const char *path)
Definition: resource.c:1190
MagickExport size_t GetMaxMemoryRequest(void)
Definition: memory.c:927
MagickExport MemoryInfo * RelinquishVirtualMemory(MemoryInfo *)
Definition: memory.c:1144
DataSegmentInfo * segments[MaxSegments]
Definition: memory.c:161
#define SegmentSize
Definition: memory.c:87
struct _DataSegmentInfo DataSegmentInfo
MagickExport void * ResetMagickMemory(void *memory, int byte, const size_t size)
Definition: memory.c:1203
MagickExport void SetMagickMemoryMethods(AcquireMemoryHandler, ResizeMemoryHandler, DestroyMemoryHandler)
Definition: memory.c:1361
#define BlockThreshold
Definition: memory.c:77
MagickExport int AcquireUniqueFileResource(char *path)
Definition: resource.c:558
#define AlignedExtent(size, alignment)
#define PreviousBlock(block)
Definition: memory.c:84
#define ThrowFatalException(severity, tag)
Definition: exception-private.h:42
MagickExport void UnlockSemaphoreInfo(SemaphoreInfo *semaphore_info)
Definition: semaphore.c:450
@ AlignedVirtualMemory
Definition: memory.c:97
#define MagickULLConstant(c)
Definition: magick-type.h:39
MagickExport char * GetPolicyValue(const char *name)
Definition: policy.c:500
#define MaxTextExtent
Definition: method-attribute.h:89
MagickExport void * AcquireQuantumMemory(const size_t, const size_t) magick_attribute((__malloc__)) magick_alloc_sizes(1
MagickExport void * ResetMagickMemory(void *, int, const size_t)
static size_t virtual_anonymous_memory
Definition: memory.c:170
@ ResourceLimitFatalError
Definition: exception.h:78
#define BlockHeader(block)
Definition: memory.c:75
MagickExport unsigned char * MapBlob(int, const MapMode, const MagickOffsetType, const size_t)
Definition: blob.c:2346
MagickExport void * AcquireQuantumMemory(const size_t count, const size_t quantum)
Definition: memory.c:544
ssize_t MagickOffsetType
Definition: magick-type.h:135
MagickExport void * CopyMagickMemory(void *destination, const void *source, const size_t size)
Definition: memory.c:719