Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
6725 siemargl 1
/*
2
  Copyright (c) 1990-2008 Info-ZIP.  All rights reserved.
3
 
4
  See the accompanying file LICENSE, version 2000-Apr-09 or later
5
  (the contents of which are also included in zip.h) for terms of use.
6
  If, for some reason, all these files are missing, the Info-ZIP license
7
  also may be found at:  ftp://ftp.info-zip.org/pub/infozip/license.html
8
*/
9
/* crc32.h -- compute the CRC-32 of a data stream
10
 * Copyright (C) 1995 Mark Adler
11
 * For conditions of distribution and use, see copyright notice in zlib.h
12
 */
13
 
14
#ifndef __crc32_h
15
#define __crc32_h       /* identifies this source module */
16
 
17
/* This header should be read AFTER zip.h resp. unzip.h
18
 * (the latter with UNZIP_INTERNAL defined...).
19
 */
20
 
21
#ifndef OF
22
#  define OF(a) a
23
#endif
24
#ifndef ZCONST
25
#  define ZCONST const
26
#endif
27
 
28
#ifdef DYNALLOC_CRCTAB
29
   void     free_crc_table  OF((void));
30
#endif
31
#ifndef USE_ZLIB
32
   ZCONST ulg near *get_crc_table  OF((void));
33
#endif
34
#if (defined(USE_ZLIB) || defined(CRC_TABLE_ONLY))
35
#  ifdef IZ_CRC_BE_OPTIMIZ
36
#    undef IZ_CRC_BE_OPTIMIZ
37
#  endif
38
#else /* !(USE_ZLIB || CRC_TABLE_ONLY) */
39
   ulg      crc32           OF((ulg crc, ZCONST uch *buf, extent len));
40
#endif /* ?(USE_ZLIB || CRC_TABLE_ONLY) */
41
 
42
#ifndef CRC_32_TAB
43
#  define CRC_32_TAB     crc_32_tab
44
#endif
45
 
46
#ifdef CRC32
47
#  undef CRC32
48
#endif
49
#ifdef IZ_CRC_BE_OPTIMIZ
50
#  define CRC32UPD(c, crctab) (crctab[((c) >> 24)] ^ ((c) << 8))
51
#  define CRC32(c, b, crctab) (crctab[(((int)(c) >> 24) ^ (b))] ^ ((c) << 8))
52
#  define REV_BE(w) (((w)>>24)+(((w)>>8)&0xff00)+ \
53
                    (((w)&0xff00)<<8)+(((w)&0xff)<<24))
54
#else
55
#  define CRC32UPD(c, crctab) (crctab[((int)(c)) & 0xff] ^ ((c) >> 8))
56
#  define CRC32(c, b, crctab) (crctab[((int)(c) ^ (b)) & 0xff] ^ ((c) >> 8))
57
#  define REV_BE(w) w
58
#endif
59
 
60
#endif /* !__crc32_h */