Diff for /libaitcrc/inc/aitcrc.h between versions 1.4 and 1.5

version 1.4, 2011/04/28 20:28:20 version 1.5, 2012/07/04 14:53:43
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, 2011Copyright 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
         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 58  struct tagCRCPoly { Line 58  struct tagCRCPoly {
         u_char  poly_bits;          u_char  poly_bits;
         u_int   poly_num;          u_int   poly_num;
         char    poly_name[19];          char    poly_name[19];
};      // size 24bytes};      /* size 24bytes */
 typedef struct tagCRCPoly crcPoly_t;  typedef struct tagCRCPoly crcPoly_t;
   
   
 // -------------------------------------------------------  
 // crc_GetErrno() Get error code of last operation  // crc_GetErrno() Get error code of last operation
 inline int crc_GetErrno();  inline int crc_GetErrno();
 // crc_GetError() Get error text of last operation  // crc_GetError() Get error text of last operation
 inline const char *crc_GetError();  inline const char *crc_GetError();
 // -------------------------------------------------------  
   
   
 /*  /*
 * crcReflect() Reflect all bits of number  * crcReflect() - Reflect all bits of number 
  *
  * @crcNum = Number for reflection   * @crcNum = Number for reflection
  * @crcBits = Number width bits    * @crcBits = Number width bits 
  * return: -1 error, !=-1 reflecting number   * return: -1 error, !=-1 reflecting number
  */   */
inline u_int crcReflect(u_int crcNum, u_char crcBits);inline unsigned int crcReflect(unsigned int crcNum, unsigned char crcBits);
 /*  /*
 * crcCalc() Generic CRC calculation function for many sub variants of CRC algorithms * crcCalc() - Generic CRC calculation function for many sub variants of CRC algorithms
  *
  * @psBuf = Data for calculation   * @psBuf = Data for calculation
  * @bufLen = Length of data   * @bufLen = Length of data
  * @crcBits = CRC algorithm bits (1, 4, 5, 6, 7, 8, 10, 11, 12, 15, 16, 24, 30, 32)   * @crcBits = CRC algorithm bits (1, 4, 5, 6, 7, 8, 10, 11, 12, 15, 16, 24, 30, 32)
Line 87  inline u_int crcReflect(u_int crcNum, u_char crcBits); Line 87  inline u_int crcReflect(u_int crcNum, u_char crcBits);
  * @xorCRC = Last xor CRC value   * @xorCRC = Last xor CRC value
  * return: -1 error, !=-1 CRC checksum   * return: -1 error, !=-1 CRC checksum
  */   */
inline u_int crcCalc(u_char * __restrict psBuf, u_int bufLen, u_char crcBits, inline unsigned int crcCalc(unsigned char * __restrict psBuf, unsigned int bufLen, 
                u_char RevOpts, u_int initCRC, u_int xorCRC);                unsigned char crcBits, unsigned char RevOpts, 
                 unsigned int initCRC, unsigned int xorCRC);
   
 /*  /*
 * crcIP() Checksum in IP communication * crcIP() - Checksum in IP communication
 * @nBuf = Data for calculation *
  * @buf = Data for calculation
  * @bufLen = Length of data   * @bufLen = Length of data
  * return: -1 error, !=-1 Checksum   * return: -1 error, !=-1 Checksum
  */   */
inline u_short crcIP(u_short * __restrict nBuf, int bufLen);inline unsigned short crcIP(unsigned char * __restrict buf, int bufLen);
 /*  /*
 * crcFletcher16() Fletcher-16 Checksum computing * crcFletcher16() - Fletcher-16 Checksum computing
  *
  * @nBuf = Data for calculation   * @nBuf = Data for calculation
  * @bufLen = Length of data   * @bufLen = Length of data
  * return: -1 error, !=-1 Checksum   * return: -1 error, !=-1 Checksum
  */   */
inline u_short crcFletcher16(u_short * __restrict nBuf, int bufLen);inline unsigned short crcFletcher16(unsigned short * __restrict nBuf, int bufLen);
 /*  /*
 * crcFletcher() Fletcher-32 Checksum computing * crcFletcher() - Fletcher-32 Checksum computing
  *
  * @nBuf = Data for calculation   * @nBuf = Data for calculation
  * @bufLen = Length of data   * @bufLen = Length of data
  * return: -1 error, !=-1 Checksum   * return: -1 error, !=-1 Checksum
  */   */
inline u_int crcFletcher(u_short * __restrict nBuf, int bufLen);inline unsigned int crcFletcher(unsigned short * __restrict nBuf, int bufLen);
 /*  /*
 * crcAdler() crcAdler-32 Checksum computing * crcAdler() - crcAdler-32 Checksum computing
  *
  * @psBuf = Data for calculation   * @psBuf = Data for calculation
  * @bufLen = Length of data   * @bufLen = Length of data
  * return: -1 error, !=-1 Checksum   * return: -1 error, !=-1 Checksum
  */   */
inline u_int crcAdler(u_char * __restrict psBuf, int bufLen);inline unsigned int crcAdler(unsigned char * __restrict psBuf, int bufLen);
   
 /*  /*
 * crcEther() Checksum in Ethernet communication * crcEther() - Checksum in Ethernet communication
  *
  * @psBuf = Data for calculation   * @psBuf = Data for calculation
  * @bufLen = Length of data   * @bufLen = Length of data
  * return: -1 error, !=-1 Checksum   * return: -1 error, !=-1 Checksum
Line 129  inline u_int crcAdler(u_char * __restrict psBuf, int b Line 135  inline u_int crcAdler(u_char * __restrict psBuf, int b
   
   
 /*  /*
 * crcPelco() Calculate Pelco D/P CRC * crcPelco() - Calculate Pelco D/P CRC
  *
  * @ver = Pelco protocol version (Dd | Pp)   * @ver = Pelco protocol version (Dd | Pp)
  * @pkt = Packet for calculate crc   * @pkt = Packet for calculate crc
  * return: crc for packet, if is 0 check and crc_GetErrno() == 1    * return: crc for packet, if is 0 check and crc_GetErrno() == 1 
         Pelco protocol not supported          Pelco protocol not supported
  */   */
inline u_char crcPelco(u_char ver, u_char *pkt);inline unsigned char crcPelco(unsigned char ver, unsigned char *pkt);
   
   
 /*  /*
 * hash_varchar() Compute index hash by variable length string * hash_varchar() - Compute index hash by variable length string
  *
  * @csStr = Input data buffer   * @csStr = Input data buffer
  * @nStrLen = Length of data buffer   * @nStrLen = Length of data buffer
  * @nVer = Version of algorythm; 0 - original, 1 - AITNET variant   * @nVer = Version of algorythm; 0 - original, 1 - AITNET variant
  * return: Hash value   * return: Hash value
 */  */
inline u_int hash_varchar(const char *csStr, int nStrLen, int nVer);inline unsigned int hash_varchar(const char *csStr, int nStrLen, int nVer);
 /*  /*
 * hash_bernstein() Compute index hash by Bernstein * hash_bernstein() - Compute index hash by Bernstein
  *
  * @csStr = Input data buffer   * @csStr = Input data buffer
  * @nStrLen = Length of data buffer   * @nStrLen = Length of data buffer
  * @nVer = Version of algorythm; 0 - Bernstein, 1 - DJBX33A variant   * @nVer = Version of algorythm; 0 - Bernstein, 1 - DJBX33A variant
  * return: Hash value   * return: Hash value
 */  */
inline u_int hash_bernstein(const char *csStr, int nStrLen, int nVer);inline unsigned int hash_bernstein(const char *csStr, int nStrLen, int nVer);
 /*  /*
 * hash_jenkins() Compute index hash by Jenkins (one-at-a-time) * hash_jenkins() - Compute index hash by Jenkins (one-at-a-time)
  *
  * @csStr = Input data buffer   * @csStr = Input data buffer
  * @nStrLen = Length of data buffer   * @nStrLen = Length of data buffer
  * return: Hash value   * return: Hash value
 */  */
inline u_int hash_jenkins(const char *csStr, int nStrLen);inline unsigned int hash_jenkins(const char *csStr, int nStrLen);
 /*  /*
 * hash_reddragon() Compute index hash by Red Dragon * hash_reddragon() - Compute index hash by Red Dragon
  *
  * @csStr = Input data buffer   * @csStr = Input data buffer
  * @nStrLen = Length of data buffer   * @nStrLen = Length of data buffer
  * return: Hash value   * return: Hash value
 */  */
inline u_int hash_reddragon(const char *csStr, int nStrLen);inline unsigned int hash_reddragon(const char *csStr, int nStrLen);
 /*  /*
 * hash_fnv1() Compute index hash by FNV-1 * hash_fnv1() - Compute index hash by FNV-1
  *
  * @csStr = Input data buffer   * @csStr = Input data buffer
  * @nStrLen = Length of data buffer   * @nStrLen = Length of data buffer
  * @nVer = Version of algorythm; 0 - FNV-1, 1 - FNV-1a (best avalanche)   * @nVer = Version of algorythm; 0 - FNV-1, 1 - FNV-1a (best avalanche)
  * return: Hash value   * return: Hash value
 */  */
inline u_int hash_fnv1(const char *csStr, int nStrLen, int nVer);inline unsigned int hash_fnv1(const char *csStr, int nStrLen, int nVer);
   
 /*  /*
 * hash_fnv() Compute index hash by FNV-1a * hash_fnv() - Compute index hash by FNV-1a
  *
  * @csStr = Input data buffer   * @csStr = Input data buffer
  * @nStrLen = Length of data buffer   * @nStrLen = Length of data buffer
  * return: Hash value   * return: Hash value

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


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