--- libaitsess/inc/aitsess.h 2012/02/27 21:18:31 1.4.2.2 +++ libaitsess/inc/aitsess.h 2012/02/27 23:57:12 1.4.2.3 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: aitsess.h,v 1.4.2.2 2012/02/27 21:18:31 misho Exp $ +* $Id: aitsess.h,v 1.4.2.3 2012/02/27 23:57:12 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -12,7 +12,7 @@ terms: All of the documentation and software included in the ELWIX and AITNET Releases is copyrighted by ELWIX - Sofia/Bulgaria -Copyright 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 +Copyright 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 by Michael Pounov . All rights reserved. Redistribution and use in source and binary forms, with or without @@ -96,7 +96,6 @@ typedef struct _tagMPool { struct { unsigned long max; unsigned long curr; - unsigned long inact; } pool_quota; /* pool buckets */ @@ -163,6 +162,14 @@ mpool_t *mpool_init(void); */ void mpool_destroy(mpool_t ** __restrict mp); /* + * mpool_purge() - Purge memory block cache and release resources + * + * @mp = Memory pool + * @atmost = Free at most in buckets + * return: -1 error or 0 ok + */ +int mpool_purge(mpool_t * __restrict mp, int atmost); +/* * mpool_malloc() - Memory allocation * * @mp = Memory pool @@ -199,6 +206,20 @@ int mpool_free2(mpool_t * __restrict mp, unsigned int * return: NULL error or not found and !=NULL allocated memory */ inline struct tagAlloc *mpool_getmembynam(mpool_t * __restrict mp, unsigned int size, const char *memname); +/* + * mpool_getsizebyaddr() - Get size of allocated memory block by address + * + * @data = allocated memory from mpool_malloc() + * return: usable size of allocated memory block + */ +inline unsigned int mpool_getsizebyaddr(void * __restrict data); +/* + * mpool_chkaddr() - Check validity of given address + * + * @data = allocated memory from mpool_malloc() + * return: -1 bad address, 1 corrupted address or 0 ok + */ +inline int mpool_chkaddr(void * __restrict data); /*