|
WizardsToolkit
1.0.7
|
#include "wizard/studio.h"#include "wizard/blob.h"#include "wizard/blob-private.h"#include "wizard/exception.h"#include "wizard/exception-private.h"#include "wizard/memory_.h"#include "wizard/semaphore.h"#include "wizard/string_.h"
Go to the source code of this file.
Data Structures | |
| struct | _DataSegmentInfo |
| struct | _MemoryInfo |
| struct | _WizardMemoryMethods |
Defines | |
| #define | BlockFooter(block, size) ((size_t *) ((char *) (block)+(size)-2*sizeof(size_t))) |
| #define | BlockHeader(block) ((size_t *) (block)-1) |
| #define | BlockSize 4096 |
| #define | BlockThreshold 1024 |
| #define | AlignedSize (16*sizeof(void *)) |
| #define | MaxBlockExponent 16 |
| #define | MaxBlocks ((BlockThreshold/(4*sizeof(size_t)))+MaxBlockExponent+1) |
| #define | MaxSegments 1024 |
| #define | MemoryGuard ((0xdeadbeef << 31)+0xdeafdeed) |
| #define | NextBlock(block) ((char *) (block)+SizeOfBlock(block)) |
| #define | NextBlockInList(block) (*(void **) (block)) |
| #define | PreviousBlock(block) ((char *) (block)-(*((size_t *) (block)-2))) |
| #define | PreviousBlockBit 0x01 |
| #define | PreviousBlockInList(block) (*((void **) (block)+1)) |
| #define | SegmentSize (2*1024*1024) |
| #define | SizeMask (~0x01) |
| #define | SizeOfBlock(block) (*BlockHeader(block) & SizeMask) |
Typedefs | |
| typedef struct _DataSegmentInfo | DataSegmentInfo |
| typedef struct _MemoryInfo | MemoryInfo |
| typedef struct _WizardMemoryMethods | WizardMemoryMethods |
Functions | |
| static size_t | WizardMax (const size_t x, const size_t y) |
| WizardExport void * | AcquireAlignedMemory (const size_t count, const size_t quantum) |
| WizardExport void * | AcquireWizardMemory (const size_t size) |
| WizardExport void * | AcquireQuantumMemory (const size_t count, const size_t quantum) |
| WizardExport void * | CopyWizardMemory (void *destination, const void *source, const size_t size) |
| WizardExport void | DestroyWizardMemory (void) |
| WizardExport void | GetWizardMemoryMethods (AcquireMemoryHandler *acquire_memory_handler, ResizeMemoryHandler *resize_memory_handler, DestroyMemoryHandler *destroy_memory_handler) |
| WizardExport void * | RelinquishAlignedMemory (void *memory) |
| WizardExport void * | RelinquishWizardMemory (void *memory) |
| WizardExport void * | ResetWizardMemory (void *memory, int byte, const size_t size) |
| WizardExport void * | ResizeWizardMemory (void *memory, const size_t size) |
| WizardExport void * | ResizeQuantumMemory (void *memory, const size_t count, const size_t quantum) |
| WizardExport void | SetWizardMemoryMethods (AcquireMemoryHandler acquire_memory_handler, ResizeMemoryHandler resize_memory_handler, DestroyMemoryHandler destroy_memory_handler) |
Variables | |
| static WizardMemoryMethods | memory_methods |
| #define AlignedSize (16*sizeof(void *)) |
Definition at line 73 of file memory.c.
Referenced by AcquireAlignedMemory().
| #define BlockFooter | ( | block, | |
| size | |||
| ) | ((size_t *) ((char *) (block)+(size)-2*sizeof(size_t))) |
Definition at line 68 of file memory.c.
Referenced by RelinquishWizardMemory().
| #define BlockHeader | ( | block | ) | ((size_t *) (block)-1) |
Definition at line 70 of file memory.c.
Referenced by RelinquishWizardMemory().
| #define MaxBlocks ((BlockThreshold/(4*sizeof(size_t)))+MaxBlockExponent+1) |
Definition at line 75 of file memory.c.
Referenced by AcquireWizardMemory().
| #define MaxSegments 1024 |
Definition at line 76 of file memory.c.
Referenced by AcquireWizardMemory().
| #define NextBlock | ( | block | ) | ((char *) (block)+SizeOfBlock(block)) |
Definition at line 78 of file memory.c.
Referenced by RelinquishWizardMemory().
| #define PreviousBlock | ( | block | ) | ((char *) (block)-(*((size_t *) (block)-2))) |
Definition at line 80 of file memory.c.
Referenced by RelinquishWizardMemory().
| #define PreviousBlockBit 0x01 |
Definition at line 81 of file memory.c.
Referenced by RelinquishWizardMemory().
| #define PreviousBlockInList | ( | block | ) | (*((void **) (block)+1)) |
| #define SegmentSize (2*1024*1024) |
Definition at line 83 of file memory.c.
Referenced by AcquireWizardMemory().
| #define SizeMask (~0x01) |
Definition at line 84 of file memory.c.
Referenced by AcquireWizardMemory(), and RelinquishWizardMemory().
| #define SizeOfBlock | ( | block | ) | (*BlockHeader(block) & SizeMask) |
Definition at line 85 of file memory.c.
Referenced by RelinquishWizardMemory().
| typedef struct _DataSegmentInfo DataSegmentInfo |
| typedef struct _MemoryInfo MemoryInfo |
| typedef struct _WizardMemoryMethods WizardMemoryMethods |
| WizardExport void* AcquireAlignedMemory | ( | const size_t | count, |
| const size_t | quantum | ||
| ) |
Definition at line 196 of file memory.c.
References AlignedSize, and WizardMax().
| WizardExport void* AcquireQuantumMemory | ( | const size_t | count, |
| const size_t | quantum | ||
| ) |
Definition at line 462 of file memory.c.
References AcquireWizardMemory().
Referenced by AcquireAESInfo(), FileToBlob(), AcquireBZIPMemory(), GetConfigureInfoList(), GetConfigureList(), AcquireCRC64Info(), GetHashHexDigest(), NewHashmap(), IncreaseHashmapCapacity(), GetLogInfoList(), GetLogList(), AcquireLZMAMemory(), AcquireMD5Info(), GetMimeInfoList(), GetMimeList(), GetWizardOptions(), AcquireSHA1Info(), AcquireSHA224Info(), AcquireSHA256Info(), AcquireSHA384Info(), AcquireSHA512Info(), BalanceSplayTree(), IterateOverSplayTree(), AcquireString(), AcquireStringInfo(), BlobToStringInfo(), ConfigureFileToStringInfo(), ConstantString(), SetStringInfoLength(), StringInfoToHexString(), StringInfoToString(), StringToArgv(), access_utf8(), fopen_utf8(), open_utf8(), popen_utf8(), remove_utf8(), rename_utf8(), stat_utf8(), Base64Decode(), Base64Encode(), GetPathComponents(), GetExecutionPath(), ConvertLatin1ToUTF8(), ConvertUTF16ToUTF8(), ParseEntities(), ParseProcessingInstructions(), ParseInternalDoctype(), NewXMLTree(), SetXMLTreeAttribute(), and AcquireZIPMemory().
| WizardExport void* AcquireWizardMemory | ( | const size_t | size | ) |
Definition at line 391 of file memory.c.
References memory_methods, _WizardMemoryMethods::acquire_memory_handler, AcquireSemaphoreInfo(), LockSemaphoreInfo(), SizeMask, ResetWizardMemory(), SegmentSize, MaxBlocks, MaxSegments, UnlockSemaphoreInfo(), and WizardFalse.
Referenced by AcquireAESInfo(), AcquireAuthenticateInfo(), OpenBlob(), AcquireBZIPInfo(), AcquireCipherInfo(), LoadConfigureList(), LoadConfigureLists(), AcquireCRC64Info(), AcquireEntropyInfo(), AcquireExceptionInfo(), ThrowException(), AcquireFileInfo(), AcquireHashInfo(), AppendValueToLinkedList(), InsertValueInLinkedList(), InsertValueInSortedLinkedList(), NewHashmap(), NewLinkedList(), PutEntryInHashmap(), AcquireHMACInfo(), AcquireKeyInfo(), AcquireKeyringInfo(), LoadLogList(), LoadLogLists(), AcquireLZMAInfo(), AcquireMD5Info(), AcquireQuantumMemory(), ResizeWizardMemory(), LoadMimeList(), AcquireRandomInfo(), AcquireSecretInfo(), AcquireSerpentInfo(), AcquireSHA1Info(), AcquireSHA224Info(), AcquireSHA256Info(), AcquireSHA384Info(), AcquireSHA512Info(), AddValueToSplayTree(), NewSplayTree(), AcquireStringInfo(), WizardCreateThreadKey(), AcquireTimerInfo(), AcquireTwofishInfo(), AddChildToXMLTree(), ParseProcessingInstructions(), ParseInternalDoctype(), NewXMLTreeTag(), and AcquireZIPInfo().
| WizardExport void* CopyWizardMemory | ( | void * | destination, |
| const void * | source, | ||
| const size_t | size | ||
| ) |
Definition at line 505 of file memory.c.
Referenced by SetAESKey(), GetPhrase(), AcquireRandomInfo(), SetRandomKey(), UpdateSHA1(), UpdateSHA224(), UpdateSHA256(), UpdateSHA384(), UpdateSHA512(), UpdateSignature(), SubstituteString(), GetPathComponent(), ConvertUTF16ToUTF8(), ParseEntities(), ParseInternalDoctype(), NewXMLTreeTag(), and SetXMLTreeAttribute().
| WizardExport void DestroyWizardMemory | ( | void | ) |
Definition at line 553 of file memory.c.
References AcquireSemaphoreInfo(), LockSemaphoreInfo(), UnlockSemaphoreInfo(), WizardFalse, memory_methods, _WizardMemoryMethods::destroy_memory_handler, UnmapBlob(), ResetWizardMemory(), and DestroySemaphoreInfo().
| WizardExport void GetWizardMemoryMethods | ( | AcquireMemoryHandler * | acquire_memory_handler, |
| ResizeMemoryHandler * | resize_memory_handler, | ||
| DestroyMemoryHandler * | destroy_memory_handler | ||
| ) |
Definition at line 681 of file memory.c.
References memory_methods, _WizardMemoryMethods::acquire_memory_handler, _WizardMemoryMethods::resize_memory_handler, and _WizardMemoryMethods::destroy_memory_handler.
| WizardExport void* RelinquishAlignedMemory | ( | void * | memory | ) |
| WizardExport void* RelinquishWizardMemory | ( | void * | memory | ) |
Definition at line 748 of file memory.c.
References memory_methods, _WizardMemoryMethods::destroy_memory_handler, SizeOfBlock, BlockHeader, NextBlock, PreviousBlockBit, LockSemaphoreInfo(), PreviousBlock, SizeMask, BlockFooter, and UnlockSemaphoreInfo().
Referenced by DestroyAESInfo(), DestroyAuthenticateInfo(), DestroyBlob(), FileToBlob(), OpenBlob(), DestroyBZIPInfo(), RelinquishBZIPMemory(), DestroyCipherInfo(), DestroyConfigureElement(), GetConfigureOptions(), GetConfigurePaths(), ListConfigureInfo(), LoadConfigureList(), DestroyCRC64Info(), DestroyEntropyInfo(), DestroyExceptionElement(), DestroyExceptionInfo(), AcquireFileInfo(), DestroyFileInfo(), DestroyHashInfo(), ClearLinkedList(), DestroyHashmap(), DestroyLinkedList(), InsertValueInSortedLinkedList(), IncreaseHashmapCapacity(), PutEntryInHashmap(), RemoveElementByValueFromLinkedList(), RemoveElementFromLinkedList(), RemoveEntryFromHashmap(), RemoveLastElementFromLinkedList(), DestroyHMACInfo(), DestroyKeyInfo(), DestroyKeyringInfo(), ListLogInfo(), DestroyLogElement(), LogWizardEventList(), LoadLogList(), DestroyLZMAInfo(), RelinquishLZMAMemory(), DestroyMD5Info(), ResizeWizardMemory(), ResizeQuantumMemory(), ListMimeInfo(), DestroyMimeElement(), DestroyRandomInfo(), GetPathTemplate(), DestroySecretInfo(), DestroySerpentInfo(), DestroySHA1Info(), DestroySHA224Info(), DestroySHA256Info(), DestroySHA384Info(), DestroySHA512Info(), BalanceSplayTree(), DeleteNodeByValueFromSplayTree(), DeleteNodeFromSplayTree(), DestroySplayTree(), IterateOverSplayTree(), RemoveNodeByValueFromSplayTree(), RemoveNodeFromSplayTree(), ResetSplayTree(), ConfigureFileToStringInfo(), DestroyString(), DestroyStringInfo(), DestroyStringList(), StringToArgv(), WizardDeleteThreadKey(), DestroyTimerInfo(), DestroyTwofishInfo(), access_utf8(), fopen_utf8(), open_utf8(), popen_utf8(), remove_utf8(), rename_utf8(), stat_utf8(), Base64Decode(), GetExecutionPath(), WizardsToolkitGenesis(), AddPathToXMLTree(), CanonicalXMLContent(), DestroyXMLTreeAttributes(), DestroyXMLTree(), GetXMLTreePath(), ParseInternalDoctype(), DestroyZIPInfo(), and RelinquishZIPMemory().
| WizardExport void* ResetWizardMemory | ( | void * | memory, |
| int | byte, | ||
| const size_t | size | ||
| ) |
Definition at line 820 of file memory.c.
Referenced by AcquireAESInfo(), DecipherAESBlock(), EncipherAESBlock(), SetAESKey(), AcquireAuthenticateInfo(), GetBlobInfo(), OpenBlob(), AcquireBZIPInfo(), AcquireCipherInfo(), DecipherCBCMode(), DecipherCFBMode(), DecipherCTRMode(), DecipherOFBMode(), EncipherCBCMode(), EncipherCFBMode(), EncipherCTRMode(), EncipherOFBMode(), LoadConfigureList(), LoadConfigureLists(), AcquireCRC64Info(), AcquireEntropyInfo(), AcquireExceptionInfo(), GetExceptionInfo(), ThrowException(), AcquireFileInfo(), AcquireHashInfo(), NewHashmap(), NewLinkedList(), IncreaseHashmapCapacity(), AcquireHMACInfo(), AcquireKeyInfo(), AcquireKeyringInfo(), PrintKeyringProperties(), LoadLogList(), LoadLogLists(), AcquireLZMAInfo(), IncreaseLZMA(), RestoreLZMA(), AcquireMD5Info(), FinalizeMD5(), UpdateMD5(), AcquireWizardMemory(), DestroyWizardMemory(), LoadMimeList(), GetPhrase(), AcquireRandomInfo(), DestroyRandomInfo(), AcquireSecretInfo(), AllocateSemaphoreInfo(), AcquireSerpentInfo(), AcquireSHA1Info(), FinalizeSHA1(), TransformSHA1(), AcquireSHA224Info(), FinalizeSHA224(), TransformSHA224(), AcquireSHA256Info(), FinalizeSHA256(), TransformSHA256(), AcquireSHA384Info(), FinalizeSHA384(), TransformSHA384(), AcquireSHA512Info(), FinalizeSHA512(), TransformSHA512(), FinalizeSignature(), GetSignatureInfo(), NewSplayTree(), AcquireStringInfo(), HexStringToStringInfo(), ResetStringInfo(), SetStringInfo(), AcquireTimerInfo(), AcquireTwofishInfo(), SetTwofishKey(), ParseWizardTime(), AddChildToXMLTree(), NewXMLTreeTag(), and AcquireZIPInfo().
| WizardExport void* ResizeQuantumMemory | ( | void * | memory, |
| const size_t | count, | ||
| const size_t | quantum | ||
| ) |
Definition at line 933 of file memory.c.
References RelinquishWizardMemory(), and ResizeWizardMemory().
Referenced by FileToBlob(), SetBlobExtent(), WriteBlob(), TranslateEvent(), TranslateFilename(), CloneString(), ConcatenateString(), SetStringInfoLength(), SubstituteString(), CanonicalXMLContent(), ConvertUTF16ToUTF8(), ParseEntities(), ParseProcessingInstructions(), ParseInternalDoctype(), NewXMLTree(), SetXMLTreeAttribute(), EncodePredefinedEntities(), XMLTreeTagToXML(), and XMLTreeInfoToXML().
| WizardExport void* ResizeWizardMemory | ( | void * | memory, |
| const size_t | size | ||
| ) |
Definition at line 873 of file memory.c.
References AcquireWizardMemory(), memory_methods, _WizardMemoryMethods::resize_memory_handler, RelinquishWizardMemory(), LockSemaphoreInfo(), WizardFalse, UnlockSemaphoreInfo(), and ThrowFatalException.
Referenced by ResizeQuantumMemory().
| WizardExport void SetWizardMemoryMethods | ( | AcquireMemoryHandler | acquire_memory_handler, |
| ResizeMemoryHandler | resize_memory_handler, | ||
| DestroyMemoryHandler | destroy_memory_handler | ||
| ) |
Definition at line 978 of file memory.c.
References memory_methods, _WizardMemoryMethods::acquire_memory_handler, _WizardMemoryMethods::resize_memory_handler, and _WizardMemoryMethods::destroy_memory_handler.
| static size_t WizardMax | ( | const size_t | x, |
| const size_t | y | ||
| ) | [inline, static] |
Definition at line 189 of file memory.c.
Referenced by AcquireAlignedMemory().
WizardMemoryMethods memory_methods [static] |
{
(AcquireMemoryHandler) malloc,
(ResizeMemoryHandler) realloc,
(DestroyMemoryHandler) free
}
Definition at line 139 of file memory.c.
Referenced by AcquireWizardMemory(), DestroyWizardMemory(), GetWizardMemoryMethods(), RelinquishWizardMemory(), ResizeWizardMemory(), and SetWizardMemoryMethods().