ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/Convert-UUlib/uulib/crc32.h
Revision: 1.1
Committed: Sun Oct 13 13:10:17 2002 UTC (21 years, 7 months ago) by root
Content type: text/plain
Branch: MAIN
Branch point for: UUDEVIEW
Log Message:
*** empty log message ***

File Contents

# User Rev Content
1 root 1.1 #ifndef __CRC32_H__
2     #define __CRC32_H__
3    
4     #ifndef _ANSI_ARGS_
5     #ifdef PROTOTYPES
6     #define _ANSI_ARGS_(c) c
7     #else
8     #define _ANSI_ARGS_(c) ()
9     #endif
10     #endif
11    
12     #ifdef __cplusplus
13     extern "C" {
14     #endif
15    
16     typedef unsigned long crc32_t;
17     #define Z_NULL 0
18    
19     crc32_t crc32 _ANSI_ARGS_((crc32_t crc, const unsigned char *buf, unsigned int len));
20     /*
21     Update a running crc with the bytes buf[0..len-1] and return the updated
22     crc. If buf is NULL, this function returns the required initial value
23     for the crc. Pre- and post-conditioning (one's complement) is performed
24     within this function so it shouldn't be done by the application.
25     Usage example:
26    
27     uLong crc = crc32(0L, Z_NULL, 0);
28    
29     while (read_buffer(buffer, length) != EOF) {
30     crc = crc32(crc, buffer, length);
31     }
32     if (crc != original_crc) error();
33     */
34    
35     #ifdef __cplusplus
36     }
37     #endif
38     #endif