12 #ifndef __SPH_LOCK_FREE_HEAP_H
13 #define __SPH_LOCK_FREE_HEAP_H
92 block_size_t heap_size,
size_t unit_size);
125 extern __C__ block_size_t
180 block_size_t alloc_size,
181 block_size_t alignment);
261 block_size_t alloc_size);
278 block_size_t alloc_size);
298 SPHLockFreeHeapNearDealloc(
void *memAddr,
long allocSize);
__C__ void * SPHLockFreeHeapAlloc(SPHLockFreeHeap_t heap, block_size_t alloc_size)
Suballocate memory from a lock-free heap.
__C__ SPHLockFreeHeap_t SPHLockFreeHeapCreate(block_size_t heap_size, size_t unit_size)
Create a lock free heap in a shared storage block.
__C__ int SPHLockFreeHeapFreeNearChk(void *free_block, block_size_t alloc_size)
Verify size of the allocation before freeing memory.
__C__ void * SPHLockFreeHeapNearAlloc(void *nearObj, long alloc_size)
Suballocate memory from a lock free heap, close to a previous allocation.
__C__ void * SPHLockFreeHeapAlignAlloc(SPHLockFreeHeap_t heap, block_size_t alloc_size, block_size_t alignment)
Suballocate memory from a lock free heap at a specified alignment.
#define __C__
ignore this macro behind the curtain
Definition: sasmsync.h:32
__C__ int SPHLockFreeHeapFreeIn(SPHLockFreeHeap_t heap, void *free_block)
Free memory allocated from a lock free heap for reuse.
__C__ SPHLockFreeHeap_t SPHLockFreeHeapInit(void *heap_block, sas_type_t sasType, block_size_t heap_size, size_t unit_size)
Initialize a shared storage block as a lock free heap.
__C__ int SPHLockFreeHeapFull(SPHLockFreeHeap_t heap)
Return a boolean result indicating if the lock free heap is completely full.
__C__ int SPHLockFreeHeapFreeNear(void *free_block)
Free memory allocated from a lock free heap for reuse.
__C__ int SPHLockFreeHeapEmpty(SPHLockFreeHeap_t heap)
Return a boolean result indicating if the lock free heap is empty.
void * SPHLockFreeHeap_t
Handle to an instance of SPH Lock Free Heap.
Definition: sphlockfreeheap.h:66
__C__ int SPHLockFreeHeapDestroy(SPHLockFreeHeap_t heap)
Destroy a lock free heap and free the shared storage block.
__C__ block_size_t SPHLockFreeHeapFreeSpace(SPHLockFreeHeap_t heap)
Return the remaining allocatable free space within the specified lock free heap.. ...
__C__ int SPHLockFreeHeapFree(SPHLockFreeHeap_t heap, void *free_block)
Free memory allocated from a lock free heap for reuse.
__C__ int SPHLockFreeHeapFreeChk(SPHLockFreeHeap_t heap, void *free_block, block_size_t alloc_size)
Verify size of the allocation before freeing memory.
__C__ SPHLockFreeHeap_t SPHLockFreeHeapNearFind(void *nearObj)
Find the containing SPHLockFreeHeap for a block of memory.