Mercurial > repos > SharpZipLib
comparison Checksums/IChecksum.cs @ 1:94e25b786321
Re #311: can't read ZIP file packed by Linux app Archive Manager/File Roller
Initial commit of clean SharpZipLib 0860 source. Only change is build paths.
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Sat, 30 Oct 2010 14:03:17 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
0:d16ef17fa7bb | 1:94e25b786321 |
---|---|
1 // IChecksum.cs - Interface to compute a data checksum | |
2 // Copyright (C) 2001 Mike Krueger | |
3 // | |
4 // This file was translated from java, it was part of the GNU Classpath | |
5 // Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc. | |
6 // | |
7 // This program is free software; you can redistribute it and/or | |
8 // modify it under the terms of the GNU General Public License | |
9 // as published by the Free Software Foundation; either version 2 | |
10 // of the License, or (at your option) any later version. | |
11 // | |
12 // This program is distributed in the hope that it will be useful, | |
13 // but WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
15 // GNU General Public License for more details. | |
16 // | |
17 // You should have received a copy of the GNU General Public License | |
18 // along with this program; if not, write to the Free Software | |
19 // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | |
20 // | |
21 // Linking this library statically or dynamically with other modules is | |
22 // making a combined work based on this library. Thus, the terms and | |
23 // conditions of the GNU General Public License cover the whole | |
24 // combination. | |
25 // | |
26 // As a special exception, the copyright holders of this library give you | |
27 // permission to link this library with independent modules to produce an | |
28 // executable, regardless of the license terms of these independent | |
29 // modules, and to copy and distribute the resulting executable under | |
30 // terms of your choice, provided that you also meet, for each linked | |
31 // independent module, the terms and conditions of the license of that | |
32 // module. An independent module is a module which is not derived from | |
33 // or based on this library. If you modify this library, you may extend | |
34 // this exception to your version of the library, but you are not | |
35 // obligated to do so. If you do not wish to do so, delete this | |
36 // exception statement from your version. | |
37 | |
38 namespace ICSharpCode.SharpZipLib.Checksums | |
39 { | |
40 | |
41 /// <summary> | |
42 /// Interface to compute a data checksum used by checked input/output streams. | |
43 /// A data checksum can be updated by one byte or with a byte array. After each | |
44 /// update the value of the current checksum can be returned by calling | |
45 /// <code>getValue</code>. The complete checksum object can also be reset | |
46 /// so it can be used again with new data. | |
47 /// </summary> | |
48 public interface IChecksum | |
49 { | |
50 /// <summary> | |
51 /// Returns the data checksum computed so far. | |
52 /// </summary> | |
53 long Value | |
54 { | |
55 get; | |
56 } | |
57 | |
58 /// <summary> | |
59 /// Resets the data checksum as if no update was ever called. | |
60 /// </summary> | |
61 void Reset(); | |
62 | |
63 /// <summary> | |
64 /// Adds one byte to the data checksum. | |
65 /// </summary> | |
66 /// <param name = "value"> | |
67 /// the data value to add. The high byte of the int is ignored. | |
68 /// </param> | |
69 void Update(int value); | |
70 | |
71 /// <summary> | |
72 /// Updates the data checksum with the bytes taken from the array. | |
73 /// </summary> | |
74 /// <param name="buffer"> | |
75 /// buffer an array of bytes | |
76 /// </param> | |
77 void Update(byte[] buffer); | |
78 | |
79 /// <summary> | |
80 /// Adds the byte array to the data checksum. | |
81 /// </summary> | |
82 /// <param name = "buffer"> | |
83 /// The buffer which contains the data | |
84 /// </param> | |
85 /// <param name = "offset"> | |
86 /// The offset in the buffer where the data starts | |
87 /// </param> | |
88 /// <param name = "count"> | |
89 /// the number of data bytes to add. | |
90 /// </param> | |
91 void Update(byte[] buffer, int offset, int count); | |
92 } | |
93 } |