AcquireAlignedMemory • AcquireMagickMemory • AcquireCriticalMemory • AcquireQuantumMemory • AcquireVirtualMemory • CopyMagickMemory • GetMagickMemoryMethods • GetVirtualMemoryBlob • RelinquishAlignedMemory • RelinquishMagickMemory • RelinquishVirtualMemory • ResetMagickMemory • ResizeMagickMemory • ResizeQuantumMemory • SetMagickAlignedMemoryMethods • SetMagickMemoryMethods
AcquireAlignedMemory() returns a pointer to a block of memory whose size is at least (count*quantum) bytes, and whose address is aligned on a cache line.
The format of the AcquireAlignedMemory method is:
void *AcquireAlignedMemory(const size_t count,const size_t quantum)
A description of each parameter follows:
AcquireMagickMemory() returns a pointer to a block of memory at least size bytes suitably aligned for any use.
The format of the AcquireMagickMemory method is:
void *AcquireMagickMemory(const size_t size)
A description of each parameter follows:
AcquireCriticalMemory() is just like AcquireMagickMemory(), throws a fatal exception if the memory cannot be acquired.
That is, AcquireCriticalMemory() returns a pointer to a block of memory that is at least size bytes, and that is suitably aligned for any use; however, if this is not possible, it throws an exception and terminates the program as unceremoniously as possible.
The format of the AcquireCriticalMemory method is:
void *AcquireCriticalMemory(const size_t size)
A description of each parameter follows:
AcquireQuantumMemory() returns a pointer to a block of memory at least count * quantum bytes suitably aligned for any use.
The format of the AcquireQuantumMemory method is:
void *AcquireQuantumMemory(const size_t count,const size_t quantum)
A description of each parameter follows:
AcquireVirtualMemory() allocates a pointer to a block of memory at least size bytes suitably aligned for any use. In addition to heap, it also supports memory-mapped and file-based memory-mapped memory requests.
The format of the AcquireVirtualMemory method is:
MemoryInfo *AcquireVirtualMemory(const size_t count,const size_t quantum)
A description of each parameter follows:
CopyMagickMemory() copies size bytes from memory area source to the destination. Copying between objects that overlap will take place correctly. It returns destination.
The format of the CopyMagickMemory method is:
void *CopyMagickMemory(void *magick_restrict destination, const void *magick_restrict source,const size_t size)
A description of each parameter follows:
GetMagickMemoryMethods() gets the methods to acquire, resize, and destroy memory.
The format of the GetMagickMemoryMethods() method is:
void GetMagickMemoryMethods(AcquireMemoryHandler *acquire_memory_handler, ResizeMemoryHandler *resize_memory_handler, DestroyMemoryHandler *destroy_memory_handler)
A description of each parameter follows:
GetVirtualMemoryBlob() returns the virtual memory blob associated with the specified MemoryInfo structure.
The format of the GetVirtualMemoryBlob method is:
void *GetVirtualMemoryBlob(const MemoryInfo *memory_info)
A description of each parameter follows:
RelinquishAlignedMemory() frees memory acquired with AcquireAlignedMemory() or reuse.
The format of the RelinquishAlignedMemory method is:
void *RelinquishAlignedMemory(void *memory)
A description of each parameter follows:
RelinquishMagickMemory() frees memory acquired with AcquireMagickMemory() or AcquireQuantumMemory() for reuse.
The format of the RelinquishMagickMemory method is:
void *RelinquishMagickMemory(void *memory)
A description of each parameter follows:
RelinquishVirtualMemory() frees memory acquired with AcquireVirtualMemory().
The format of the RelinquishVirtualMemory method is:
MemoryInfo *RelinquishVirtualMemory(MemoryInfo *memory_info)
A description of each parameter follows:
ResetMagickMemory() fills the first size bytes of the memory area pointed to by memory with the constant byte c.
The format of the ResetMagickMemory method is:
void *ResetMagickMemory(void *memory,int byte,const size_t size)
A description of each parameter follows:
ResizeMagickMemory() changes the size of the memory and returns a pointer to the (possibly moved) block. The contents will be unchanged up to the lesser of the new and old sizes.
The format of the ResizeMagickMemory method is:
void *ResizeMagickMemory(void *memory,const size_t size)
A description of each parameter follows:
ResizeQuantumMemory() changes the size of the memory and returns a pointer to the (possibly moved) block. The contents will be unchanged up to the lesser of the new and old sizes.
The format of the ResizeQuantumMemory method is:
void *ResizeQuantumMemory(void *memory,const size_t count, const size_t quantum)
A description of each parameter follows:
SetMagickAlignedMemoryMethods() sets the methods to acquire and relinquish aligned memory.
The format of the SetMagickAlignedMemoryMethods() method is:
SetMagickAlignedMemoryMethods( AcquireAlignedMemoryHandler acquire_aligned_memory_handler, RelinquishAlignedMemoryHandler relinquish_aligned_memory_handler)
A description of each parameter follows:
SetMagickMemoryMethods() sets the methods to acquire, resize, and destroy memory. Your custom memory methods must be set prior to the MagickCoreGenesis() method.
The format of the SetMagickMemoryMethods() method is:
SetMagickMemoryMethods(AcquireMemoryHandler acquire_memory_handler, ResizeMemoryHandler resize_memory_handler, DestroyMemoryHandler destroy_memory_handler)
A description of each parameter follows: