1 /* Copyright (c) 2003 by Michael J. Roberts. All Rights Reserved. */ 2 /* 3 Name 4 vmcrc.h - compute a CRC-32 checksum of a data stream 5 Function 6 7 Notes 8 9 Modified 10 06/21/03 MJRoberts - Creation 11 */ 12 13 #ifndef VMCRC_H 14 #define VMCRC_H 15 16 #include <stdlib.h> 17 18 class CVmCRC32 19 { 20 public: CVmCRC32()21 CVmCRC32() 22 { 23 /* start with zero in the accumulator */ 24 acc_ = 0; 25 } 26 27 /* add the given buffer into the checksum */ 28 void scan_bytes(const void *ptr, size_t len); 29 30 /* retrieve the current checksum value */ get_crc_val()31 unsigned long get_crc_val() const { return acc_; } 32 33 protected: 34 /* the checksum accumulator */ 35 unsigned long acc_; 36 }; 37 38 39 #endif /* VMCRC_H */ 40