Diff for /libelwix/inc/elwix.h between versions 1.3 and 1.12.4.1

version 1.3, 2013/05/30 09:07:33 version 1.12.4.1, 2015/06/25 00:36:47
Line 12  terms: Line 12  terms:
 All of the documentation and software included in the ELWIX and AITNET  All of the documentation and software included in the ELWIX and AITNET
 Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org>  Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org>
   
Copyright 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013Copyright 2004 - 2015
         by Michael Pounov <misho@elwix.org>.  All rights reserved.          by Michael Pounov <misho@elwix.org>.  All rights reserved.
   
 Redistribution and use in source and binary forms, with or without  Redistribution and use in source and binary forms, with or without
Line 50  SUCH DAMAGE. Line 50  SUCH DAMAGE.
 #include <assert.h>  #include <assert.h>
 #include <syslog.h>  #include <syslog.h>
 #include <sys/types.h>  #include <sys/types.h>
   #include <sys/param.h>
   #include <sys/limits.h>
 #include <sys/socket.h>  #include <sys/socket.h>
   #include <sys/endian.h>
 #include <sys/un.h>  #include <sys/un.h>
 #include <net/if_dl.h>  #include <net/if_dl.h>
 #include <netinet/in.h>  #include <netinet/in.h>
Line 67  SUCH DAMAGE. Line 70  SUCH DAMAGE.
 #include <elwix/aav.h>  #include <elwix/aav.h>
 #include <elwix/anet.h>  #include <elwix/anet.h>
 #include <elwix/atime.h>  #include <elwix/atime.h>
   #include <elwix/apack.h>
   #include <elwix/apio.h>
   
   
 #ifndef STRSIZ  #ifndef STRSIZ
 #define STRSIZ          256  #define STRSIZ          256
 #endif  #endif
   
   #ifndef NBBY
   #define NBBY            8               /* number of bits in a byte */
   #endif
   
   #ifndef BYTE_ORDER
           #ifndef LITTLE_ENDIAN
                   #define LITTLE_ENDIAN   1234
           #endif /* LITTLE_ENDIAN */
           #ifndef BIG_ENDIAN
                   #define BIG_ENDIAN      4321
           #endif /* BIG_ENDIAN */
           #ifdef WORDS_BIGENDIAN
                   #define BYTE_ORDER BIG_ENDIAN
           #else /* WORDS_BIGENDIAN */
                   #define BYTE_ORDER LITTLE_ENDIAN
           #endif /* WORDS_BIGENDIAN */
   #endif /* BYTE_ORDER */
   
 #ifndef be16toh  #ifndef be16toh
 #define be16toh         betoh16  #define be16toh         betoh16
 #endif  #endif
Line 92  SUCH DAMAGE. Line 115  SUCH DAMAGE.
 #define le64toh         letoh64  #define le64toh         letoh64
 #endif  #endif
   
#define E_ALIGN(x, a)        (((x) + ((a) - 1)) & ~((a) - 1))/* Bit map related macros. */
 #ifndef setbit
 #define setbit(a, i)            (((unsigned char *)(a))[(i) / NBBY] |= 1 << ((i) % NBBY))
 #endif
 #ifndef clrbit
 #define clrbit(a, i)            (((unsigned char *)(a))[(i) / NBBY] &= ~(1 << ((i) % NBBY)))
 #endif
 #ifndef isset
 #define isset(a, i)             (((const unsigned char *)(a))[(i) / NBBY] & (1 << ((i) % NBBY)))
 #endif
 #ifndef isclr
 #define isclr(a, i)             ((((const unsigned char *)(a))[(i) / NBBY] & (1 << ((i) % NBBY))) == 0)
 #endif
   
   /* Macros for counting and rounding. */
   #ifndef howmany
   #define howmany(x, y)           (((x) + ((y) - 1)) / (y))
   #endif
   #ifndef nitems
   #define nitems(x)               (sizeof((x)) / sizeof((x)[0]))
   #endif
   #ifndef rounddown
   #define rounddown(x, y)         (((x) / (y)) * (y))
   #endif
   #ifndef rounddown2
   #define rounddown2(x, y)        ((x) & (~((y) - 1))) /* if y is power of two */
   #endif
   #ifndef roundup
   #define roundup(x, y)           ((((x) + ((y) - 1)) / (y)) * (y)) /* to any y */
   #endif
   #ifndef roundup2
   #define roundup2(x, y)          (((x) + ((y) - 1)) & (~((y) - 1))) /* if y is powers of two */
   #endif
   #ifndef powerof2
   #define powerof2(x)             ((((x) - 1) & (x)) == 0)
   #endif
   
#define ELWIX_SYSM      0/* Macros for min/max. */
#define ELWIX_MPOOL     1#ifndef MIN
 #define MIN(a, b)               (((a) < (b)) ? (a) : (b))
 #endif
 #ifndef MAX
 #define MAX(a, b)               (((a) > (b)) ? (a) : (b))
 #endif
   
#define VACUUM_LEFT     1#define E_ALIGN(x, a)           (((x) + ((a) - 1)) & ~((a) - 1))
#define VACUUM_BETWEEN  2 
   
   
   #define ELWIX_SYSM              0
   #define ELWIX_MPOOL             1
   
   #define VACUUM_LEFT             1
   #define VACUUM_BETWEEN          2
   
   
   extern int __isthreaded;
   
   
 // elwix_SetProg() Set program memory pool name  // elwix_SetProg() Set program memory pool name
 void elwix_SetProg(const char *csProgName);  void elwix_SetProg(const char *csProgName);
 // elwix_GetProg() Get program memory pool name  // elwix_GetProg() Get program memory pool name
Line 132  int elwixInit(int mm, unsigned long maxmem); Line 203  int elwixInit(int mm, unsigned long maxmem);
  */   */
 void elwixFini();  void elwixFini();
   
   /*
    * elwix_byteOrder() - Detect platform byte order
    *
    * return: 1 = little endian or 0 big endian
    */
   int elwix_byteOrder();
   
 /* memory management hooks */  /* memory management hooks */
 extern void *(*e_malloc)(size_t);  extern void *(*e_malloc)(size_t);
 extern void *(*e_calloc)(size_t, size_t);  extern void *(*e_calloc)(size_t, size_t);
Line 151  extern int elwix_Verbose; Line 229  extern int elwix_Verbose;
 #define EVERBS(x)               if ((x) <= elwix_Verbose)  #define EVERBS(x)               if ((x) <= elwix_Verbose)
 #define EVERBOSE(x, fmt, ...)   do { assert((fmt)); \  #define EVERBOSE(x, fmt, ...)   do { assert((fmt)); \
                                         if ((x) <= elwix_Verbose) { \                                          if ((x) <= elwix_Verbose) { \
                                                char str[BUFSIZ] = { 0 }; \                                                char __str[BUFSIZ] = { [0 ... BUFSIZ - 1] = 0 }; \
                                                snprintf(str, sizeof str, (fmt), ##__VA_ARGS__); \                                                snprintf(__str, sizeof __str, (fmt), ##__VA_ARGS__); \
                                                 syslog(LOG_DEBUG, "Verbose(%d):%s(%d): %s\n", \                                                  syslog(LOG_DEBUG, "Verbose(%d):%s(%d): %s\n", \
                                                                (x), __func__, __LINE__, str); \                                                                (x), __func__, __LINE__, __str); \
                                         } \                                          } \
                                 } while (0)                                  } while (0)
   
Line 165  extern int elwix_Debug; Line 243  extern int elwix_Debug;
 #define ELWIX_DEBUG_LOG         0x2  #define ELWIX_DEBUG_LOG         0x2
 #define ELWIX_DEBUG_ANY         0xFFFFFFFF  #define ELWIX_DEBUG_ANY         0xFFFFFFFF
   
#define ETRACE(x)               if (elwix_Debug & ELWIX_DEBUG_TRACE) \#define ETRACE()               if (elwix_Debug & ELWIX_DEBUG_TRACE) \
                                           syslog(LOG_DEBUG, "I'm in %s(%d)", __func__, __LINE__)                                           syslog(LOG_DEBUG, "I'm in %s(%d)\n", __func__, __LINE__)
 #define EDEBUG(x, fmt, ...)     do { assert((fmt)); \  #define EDEBUG(x, fmt, ...)     do { assert((fmt)); \
                                         if ((x) & elwix_Debug) { \                                          if ((x) & elwix_Debug) { \
                                                char str[BUFSIZ] = { 0 }; \                                                char __str[BUFSIZ] = { [0 ... BUFSIZ - 1] = 0 }; \
                                                snprintf(str, sizeof str, (fmt), ##__VA_ARGS__); \                                                snprintf(__str, sizeof __str, (fmt), ##__VA_ARGS__); \
                                                 syslog(LOG_DEBUG, "Debug(%d):%s(%d): %s\n", \                                                  syslog(LOG_DEBUG, "Debug(%d):%s(%d): %s\n", \
                                                                (x), __func__, __LINE__, str); \                                                                (x), __func__, __LINE__, __str); \
                                         } \                                          } \
                                 } while (0)                                  } while (0)
   
 /* Logger macro */  /* Logger macro */
 #define ELOGGER(x, fmt, ...)    do { assert((fmt)); \  #define ELOGGER(x, fmt, ...)    do { assert((fmt)); \
                                        char str[BUFSIZ] = { 0 }; \                                        char __str[BUFSIZ] = { [0 ... BUFSIZ - 1] = 0 }; \
                                        snprintf(str, sizeof str, (fmt), ##__VA_ARGS__); \                                        snprintf(__str, sizeof __str, (fmt), ##__VA_ARGS__); \
                                         syslog((x), "Logger:%s(%d): %s\n", \                                          syslog((x), "Logger:%s(%d): %s\n", \
                                                                __func__, __LINE__, str); \                                                                __func__, __LINE__, __str); \
                                 } while (0)                                  } while (0)
   
   #define EWARNING(x, fmt, ...)   do { assert((fmt)); \
                                           char __str[BUFSIZ] = { [0 ... BUFSIZ - 1] = 0 }; \
                                           snprintf(__str, sizeof __str, (fmt), ##__VA_ARGS__); \
                                           syslog(LOG_WARNING, "Warning:%s(%d): #%d - %s\n", \
                                                            __func__, __LINE__, (x), __str); \
                                   } while (0)
 /* Error state macros */  /* Error state macros */
 #define EERROR(x, fmt, ...)     do { assert((fmt)); \  #define EERROR(x, fmt, ...)     do { assert((fmt)); \
                                        char str[BUFSIZ] = { 0 }; \                                        char __str[BUFSIZ] = { [0 ... BUFSIZ - 1] = 0 }; \
                                        snprintf(str, sizeof str, (fmt), ##__VA_ARGS__); \                                        snprintf(__str, sizeof __str, (fmt), ##__VA_ARGS__); \
                                         syslog(LOG_ERR, "Error:%s(%d): #%d - %s\n", \                                          syslog(LOG_ERR, "Error:%s(%d): #%d - %s\n", \
                                                         __func__, __LINE__, (x), str); \                                                         __func__, __LINE__, (x), __str); \
                                 } while (0)                                  } while (0)
 #define ESYSERR(x)              do { \  #define ESYSERR(x)              do { \
                                         if (x > 0 || errno) \                                          if (x > 0 || errno) \

Removed from v.1.3  
changed lines
  Added in v.1.12.4.1


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