Diff for /libelwix/inc/elwix.h between versions 1.9 and 1.25

version 1.9, 2013/12/15 22:54:41 version 1.25, 2024/10/10 23:55:48
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 - 2024
         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 47  SUCH DAMAGE. Line 47  SUCH DAMAGE.
 #define __ELWIX_H  #define __ELWIX_H
   
   
   #include <stdio.h>
 #include <assert.h>  #include <assert.h>
 #include <syslog.h>  #include <syslog.h>
   #include <stdarg.h>
 #include <sys/types.h>  #include <sys/types.h>
 #include <sys/param.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>
   #ifndef __linux__
   #include <sys/limits.h>
   #include <sys/endian.h>
 #include <net/if_dl.h>  #include <net/if_dl.h>
   #else
   #include <linux/if_packet.h>
   #endif
 #include <netinet/in.h>  #include <netinet/in.h>
 #include <arpa/inet.h>  #include <arpa/inet.h>
   
   #include <elwix/aqueue.h>
 #include <elwix/atree.h>  #include <elwix/atree.h>
 #include <elwix/ampool.h>  #include <elwix/ampool.h>
 #include <elwix/acrc.h>  #include <elwix/acrc.h>
Line 72  SUCH DAMAGE. Line 79  SUCH DAMAGE.
 #include <elwix/atime.h>  #include <elwix/atime.h>
 #include <elwix/apack.h>  #include <elwix/apack.h>
 #include <elwix/apio.h>  #include <elwix/apio.h>
   #include <elwix/ajson.h>
   #include <elwix/aiov.h>
   #include <elwix/aindex.h>
   
   
 #ifndef STRSIZ  #ifndef STRSIZ
Line 82  SUCH DAMAGE. Line 92  SUCH DAMAGE.
 #define NBBY            8               /* number of bits in a byte */  #define NBBY            8               /* number of bits in a byte */
 #endif  #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 189  int elwixInit(int mm, unsigned long maxmem); Line 213  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();
   
   #ifndef strlcpy
   /*
    * Copy src to string dst of size siz.  At most siz-1 characters
    * will be copied.  Always NUL terminates (unless siz == 0).
    * Returns strlen(src); if retval >= siz, truncation occurred.
    */
   size_t strlcpy(char *dst, const char *src, size_t siz);
   #endif
   #ifndef strlcat
   /*
    * Appends src to string dst of size siz (unlike strncat, siz is the
    * full size of dst, not space left).  At most siz-1 characters
    * will be copied.  Always NUL terminates (unless siz <= strlen(dst)).
    * Returns strlen(src) + MIN(siz, strlen(initial dst)).
    * If retval >= siz, truncation occurred.
    */
   size_t strlcat(char *dst, const char *src, size_t siz);
   #endif
   
 /* 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 201  extern void (*e_free)(void*); Line 251  extern void (*e_free)(void*);
   
 /* Verbose macros */  /* Verbose macros */
 extern int elwix_Verbose;  extern int elwix_Verbose;
   #define e_Verbose               elwix_Verbose
 #define e_initVerbose(x)        (elwix_Verbose = (x))  #define e_initVerbose(x)        (elwix_Verbose = (x))
 #define e_incVerbose            (elwix_Verbose++)  #define e_incVerbose            (elwix_Verbose++)
 #define e_decVerbose            (elwix_Verbose--)  #define e_decVerbose            (elwix_Verbose--)
Line 210  extern int elwix_Verbose; Line 261  extern int elwix_Verbose;
                                         if ((x) <= elwix_Verbose) { \                                          if ((x) <= elwix_Verbose) { \
                                                 char __str[BUFSIZ] = { [0 ... BUFSIZ - 1] = 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_INFO, "Verbose(%d):%s(%d): %s\n", \
                                                                 (x), __func__, __LINE__, __str); \                                                                  (x), __func__, __LINE__, __str); \
                                         } \                                          } \
                                 } while (0)                                  } while (0)
   #define EVERBOSE2(x, fmt, ...)  do { assert((fmt)); \
                                           if ((x) <= elwix_Verbose) { \
                                                   char __str[0x10000] = { [0 ... 0xffff] = 0 }; \
                                                   snprintf(__str, sizeof __str, (fmt), ##__VA_ARGS__); \
                                                   syslog(LOG_INFO, "Verbose(%d):%s(%d): %s\n", \
                                                                   (x), __func__, __LINE__, __str); \
                                           } \
                                   } while (0)
   
 /* Debug macros */  /* Debug macros */
 extern int elwix_Debug;  extern int elwix_Debug;
   #define e_Debug                 elwix_Debug
   
 #define ELWIX_DEBUG_OFF         0x0  #define ELWIX_DEBUG_OFF         0x0
 #define ELWIX_DEBUG_TRACE       0x1  #define ELWIX_DEBUG_TRACE       0x1
 #define ELWIX_DEBUG_LOG         0x2  #define ELWIX_DEBUG_LOG         0x2
   #define ELWIX_DEBUG_MEM         0x4
   #define ELWIX_DEBUG_MEMORY      ELWIX_DEBUG_MEM
   #define ELWIX_DEBUG_IO          0x8
   #define ELWIX_DEBUG_IPC         0x10
   #define ELWIX_DEBUG_LOCK        0x20
   #define ELWIX_DEBUG_SYS         0x40
   #define ELWIX_DEBUG_NET         0x80
 #define ELWIX_DEBUG_ANY         0xFFFFFFFF  #define ELWIX_DEBUG_ANY         0xFFFFFFFF
   
   #define EDBG(x)                 (elwix_Debug & (x))
   #define EDBGS(x)                if (EDBG(x))
 #define ETRACE()                if (elwix_Debug & ELWIX_DEBUG_TRACE) \  #define ETRACE()                if (elwix_Debug & ELWIX_DEBUG_TRACE) \
                                            syslog(LOG_DEBUG, "I'm in %s(%d)\n", __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)); \
Line 241  extern int elwix_Debug; Line 311  extern int elwix_Debug;
                                                                 __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 ... BUFSIZ - 1] = 0 }; \                                          char __str[BUFSIZ] = { [0 ... BUFSIZ - 1] = 0 }; \
Line 249  extern int elwix_Debug; Line 325  extern int elwix_Debug;
                                                          __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) { \
                                                 int _ern = errno; \
                                                 syslog(LOG_ERR, "Error(sys):%s(%d): #%d - %s\n", \                                                  syslog(LOG_ERR, "Error(sys):%s(%d): #%d - %s\n", \
                                                                 __func__, __LINE__, x > 0 ? x : errno, \                                                                  __func__, __LINE__, x > 0 ? x : errno, \
                                                                 strerror(x > 0 ? x : errno)); \                                                                  strerror(x > 0 ? x : errno)); \
                                                   errno = _ern; \
                                           } \
                                 } while (0)                                  } while (0)
 #define ELIBERR(ait)            do { \  #define ELIBERR(ait)            do { \
                                         if (ait##_GetErrno()) \                                          if (ait##_GetErrno()) \

Removed from v.1.9  
changed lines
  Added in v.1.25


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