Diff for /libaitsess/inc/aitsess.h between versions 1.5 and 1.6

version 1.5, 2012/02/28 13:00:24 version 1.6, 2012/07/22 22:13:48
Line 66  SUCH DAMAGE. Line 66  SUCH DAMAGE.
 #define MAX_ATTRIBUTE   64  #define MAX_ATTRIBUTE   64
 #define MAX_SEMNAME     14  #define MAX_SEMNAME     14
   
 /* Memory pool */  
   
 #define MEM_BUCKETS     28      /* 32 bits - 4 bits = 28 items in bucket array */  
   
 struct tagAlloc {  
         char                    alloc_name[MAX_ATTRIBUTE];  
   
         unsigned int            *alloc_mem;  
   
         TAILQ_ENTRY(tagAlloc)   alloc_node;  
 };  
 typedef TAILQ_HEAD(, tagAlloc) mpool_bucket_t;  
   
 typedef struct _tagMPool {  
         pthread_mutex_t pool_mtx;  
   
         struct {  
                 unsigned long alloc;  
                 unsigned long free;  
                 unsigned long cache;  
         } pool_calls;  
         struct {  
                 unsigned long alloc;  
                 unsigned long free;  
                 unsigned long cache;  
         } pool_bytes;  
         struct {  
                 unsigned long max;  
                 unsigned long curr;  
         } pool_quota;  
   
         /* pool buckets */  
         mpool_bucket_t  pool_active[MEM_BUCKETS];  
         mpool_bucket_t  pool_inactive[MEM_BUCKETS];  
 } mpool_t;  
 #define mpool_lock(x)   (assert((x)), pthread_mutex_lock(&(x)->pool_mtx))  
 #define mpool_unlock(x) (assert((x)), pthread_mutex_unlock(&(x)->pool_mtx))  
   
 typedef void (*mpool_stat_cb)(unsigned int, unsigned int, unsigned int);  
   
   
 /* Shared memory session */  /* Shared memory session */
   
 typedef struct tagSess {  typedef struct tagSess {
Line 140  typedef struct tagSess { Line 100  typedef struct tagSess {
 } ait_sess_t;  } ait_sess_t;
   
   
 // -------------------------------------------------------  
 // sess_GetErrno() Get error code of last operation  // sess_GetErrno() Get error code of last operation
 inline int sess_GetErrno();  inline int sess_GetErrno();
 // sess_GetError() Get error text of last operation  // sess_GetError() Get error text of last operation
 inline const char *sess_GetError();  inline const char *sess_GetError();
 // sess_SetErr() Set error to variables for internal use!!!  // sess_SetErr() Set error to variables for internal use!!!
 inline void sess_SetErr(int eno, char *estr, ...);  inline void sess_SetErr(int eno, char *estr, ...);
 // -------------------------------------------------------  
   
   
 /*  /*
  * mpool_init() - Init memory pool  
  *  
  * @maxmem = If !=0 set maximum memory quota  
  * return: =NULL error or !=NULL new allocated pool  
  */  
 mpool_t *mpool_init(unsigned long maxmem);  
 /*  
  * mpool_destroy() - Destroy memory pool  
  *  
  * @mp = Memory pool  
  * return: none  
  */  
 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, unsigned int atmost);  
 /*  
  * mpool_malloc() - Memory allocation  
  *  
  * @mp = Memory pool  
  * @size = Size  
  * @memname = Optional memory block name  
  * return: NULL error or !=NULL ok allocated memory  
  */  
 void *mpool_malloc(mpool_t * __restrict mp, unsigned int size, const char *memname);  
 /*  
  * mpool_free() Free allocated memory with mpool_alloc()  
  *  
  * @mp = Memory pool  
  * @data = Allocated memory data  
  * @purge = if !=0 force release memory block  
  * return: <0 error or 0 ok released memory block  
  */  
 int mpool_free(mpool_t * __restrict mp, void * __restrict data, int purge);  
 /*  
  * mpool_free2() Free allocated memory with mpool_alloc() by size and memory name  
  *  
  * @mp = Memory pool  
  * @size = Allocated memory data size  
  * @memname = Memory name  
  * @purge = if !=0 force release memory block  
  * return: <0 error or 0 ok released memory block  
  */  
 int mpool_free2(mpool_t * __restrict mp, unsigned int size, const char *memname, int purge);  
 /*  
  * mpool_realloc() Reallocate memory block with new size  
  *  
  * @mp = Memory pool  
  * @data = Allocated memory data  
  * @newsize = New size of memory block  
  * @memname = Optional new memory block name  
  * return: NULL error or !=NULL new reallocated memory block  
  */  
 void *mpool_realloc(mpool_t * __restrict mp, void * __restrict data,   
                 unsigned int newsize, const char *memname);  
 /*  
  * mpool_getmembynam() Find allocated memory block by size and memory name  
  *  
  * @mp = Memory pool  
  * @size = Memory size  
  * @memname = Memory name  
  * 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);  
 /*  
  * mpool_setquota() - Change maximum memory quota  
  *  
  * @mp = Memory pool  
  * @maxmem = New max quota size  
  * return: old maximum memory quota size  
  */  
 inline unsigned long mpool_setquota(mpool_t * __restrict mp, unsigned long maxmem);  
 /*  
  * mpool_getquota() - Get memory quota  
  *  
  * @mp = Memory pool  
  * @currmem = Return current memory  
  * @maxmem = Return max quota size  
  * return: none  
  */  
 inline void mpool_getquota(mpool_t * __restrict mp, unsigned long *currmem,   
                 unsigned long *maxmem);  
 /*  
  * mpool_statistics() - Dump statistics from memory pool buckets  
  *  
  * @mp = Memory pool  
  * @cb = Export statistics to callback  
  * return: none  
  */  
 void mpool_statistics(mpool_t * __restrict mp, mpool_stat_cb cb);  
   
   
 /*  
  * sess_initSession() Initializing session structure, if session file not exists creating with specified tech   * sess_initSession() Initializing session structure, if session file not exists creating with specified tech
  *   *
  * @id = Technology using in session. SHARED_IPC IPC tech orSHARED_MAP BSD MemoryMap tech   * @id = Technology using in session. SHARED_IPC IPC tech orSHARED_MAP BSD MemoryMap tech
Line 278  int sess_initSession(int id, const char *csFName, ait_ Line 124  int sess_initSession(int id, const char *csFName, ait_
  * return: none   * return: none
  */   */
 void sess_freeSession(ait_sess_t ** __restrict Sess);  void sess_freeSession(ait_sess_t ** __restrict Sess);
   
   
 /*  /*
  * map_createSession() MMAP Created session and allocated resources   * map_createSession() MMAP Created session and allocated resources

Removed from v.1.5  
changed lines
  Added in v.1.6


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>