| silcstack.html
 SilcStack Interface
 Header: silcstack.h
 
 DESCRIPTION
 
 Implementation of data stack which can be used to allocate memory from
 the stack.  Basicly SilcStack is a pre-allocated memory pool system
 which allows fast memory allocation for routines and applications that
 frequently allocate small amounts of memory.  Other advantage of this
 system is that there are no memory leaks, as long as the stack is
 freed eventually.  Since the stack is usually allocated only once this
 is not an issue.
 SilcStack can be used to allocate both aligned and unaligned memory so
 it is suitable for allocating structures and is optimal for allocating
 strings and data buffers.  SilcStack also supports stack pushing and
 popping allowing to push the stack, allocate memory and then pop it
 to free the allocated memory.  The freeing does not actually do any
 real memory freeing so it is optimized for performance.
 A basic set of utility functions are provided for application that wish
 to use the SilcStack as their primary memory allocation source.  The
 following functions support SilcStack:
 silc_smalloc, silc_smalloc_ua, silc_scalloc, silc_srealloc, silc_smemdup,
 silc_sstrdup, silc_buffer_salloc, silc_buffer_salloc_size,
 silc_buffer_srealloc, silc_buffer_srealloc_size, silc_buffer_scopy,
 silc_buffer_sclone, silc_buffer_sformat, silc_buffer_sformat_vp,
 silc_buffer_sstrformat, silc_buffer_senlarge, silc_mp_sinit
 The data stack is not thread-safe.  If the same stack context must be
 used in multithreaded environment concurrency control must be employed.
 Each thread should allocate their own SilcStack.
SilcStack
SilcStackFrame
silc_stack_alloc
silc_stack_free
silc_stack_push
silc_stack_pop 
 
 
 
 |