Diff for /libaitsess/inc/aitsess.h between versions 1.4 and 1.4.2.2

version 1.4, 2012/02/10 23:38:30 version 1.4.2.2, 2012/02/27 21:18:31
Line 47  SUCH DAMAGE. Line 47  SUCH DAMAGE.
 #define __AITSESS_H  #define __AITSESS_H
   
   
   #include <pthread.h>
 #include <assert.h>  #include <assert.h>
 #include <semaphore.h>  #include <semaphore.h>
 #include <sys/types.h>  
 #include <aitio.h>  #include <aitio.h>
   
 #define SHARED_UNKNOWN  -1  #define SHARED_UNKNOWN  -1
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];
           volatile unsigned int   alloc_flags;
   
           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;
                   unsigned long inact;
           } 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))
   
   /* Shared memory session */
   
 typedef struct tagSess {  typedef struct tagSess {
         key_t   key;          key_t   key;
         char    type;          char    type;
Line 106  inline const char *sess_GetError(); Line 147  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
    *
    * return: =NULL error or !=NULL new allocated pool
    */
   mpool_t *mpool_init(void);
   /*
    * mpool_destroy() - Destroy memory pool
    *
    * @mp = Memory pool
    * return: none
    */
   void mpool_destroy(mpool_t ** __restrict mp);
   /*
    * 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_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);
   
   
 /*  /*

Removed from v.1.4  
changed lines
  Added in v.1.4.2.2


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