Mercurial > hg > octave-kai > gnulib-hg
annotate lib/crc.h @ 11583:dc80f2cc1327
Second attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
author | Eric Blake <ebb9@byu.net> |
---|---|
date | Thu, 21 May 2009 16:48:12 +0200 |
parents | bbbbbf4cd1c5 |
children | b5e42ef33b49 |
rev | line source |
---|---|
6357 | 1 /* crc.h -- cyclic redundancy checks |
2 Copyright (C) 2005 Free Software Foundation, Inc. | |
3 | |
9309
bbbbbf4cd1c5
Change copyright notice from GPLv2+ to GPLv3+.
Bruno Haible <bruno@clisp.org>
parents:
6421
diff
changeset
|
4 This program is free software: you can redistribute it and/or modify |
6357 | 5 it under the terms of the GNU General Public License as published by |
9309
bbbbbf4cd1c5
Change copyright notice from GPLv2+ to GPLv3+.
Bruno Haible <bruno@clisp.org>
parents:
6421
diff
changeset
|
6 the Free Software Foundation; either version 3 of the License, or |
bbbbbf4cd1c5
Change copyright notice from GPLv2+ to GPLv3+.
Bruno Haible <bruno@clisp.org>
parents:
6421
diff
changeset
|
7 (at your option) any later version. |
6357 | 8 |
9 This program is distributed in the hope that it will be useful, | |
10 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
12 GNU General Public License for more details. | |
13 | |
14 You should have received a copy of the GNU General Public License | |
9309
bbbbbf4cd1c5
Change copyright notice from GPLv2+ to GPLv3+.
Bruno Haible <bruno@clisp.org>
parents:
6421
diff
changeset
|
15 along with this program. If not, see <http://www.gnu.org/licenses/>. */ |
6357 | 16 |
17 /* Written by Simon Josefsson. */ | |
18 | |
19 #ifndef CRC_H | |
20 # define CRC_H 1 | |
21 | |
6421
36fc37878824
* crc.h: Include stddef.h, for size_t.
Simon Josefsson <simon@josefsson.org>
parents:
6406
diff
changeset
|
22 #include <stddef.h> |
6406
edea0771ea6b
* crc.h: Include stdint.h directly, suggested by Bruno Haible
Simon Josefsson <simon@josefsson.org>
parents:
6357
diff
changeset
|
23 #include <stdint.h> |
6357 | 24 |
25 /* Compute CRC-32 value of LEN bytes long BUF, and return it. */ | |
26 extern uint32_t crc32 (const char *buf, size_t len); | |
27 | |
28 /* Incrementally update CRC-32 value CRC using LEN bytes long BUF. In | |
29 the first call, use 0 as the value for CRC. Return the updated | |
30 CRC-32 value. */ | |
31 extern uint32_t crc32_update (uint32_t crc, const char *buf, size_t len); | |
32 | |
33 /* Compute modified-CRC-32 value of LEN bytes long BUF, and return it. | |
34 The "modification" is to avoid the initial and final XOR operation. | |
35 Due to historic implementation errors, this variant is sometimes | |
36 used (i.e., in RFC 3961). */ | |
37 extern uint32_t crc32_no_xor (const char *buf, size_t len); | |
38 | |
39 /* Incrementally update modified-CRC-32 value CRC using LEN bytes long | |
40 BUF. In the first call, use 0 as the value for CRC. Return the | |
41 updated modified-CRC-32 value. The "modification" is to avoid the | |
42 initial and final XOR operation. Due to historic implementation | |
43 errors, this variant is sometimes used (i.e., in RFC 3961). */ | |
44 extern uint32_t | |
45 crc32_update_no_xor (uint32_t crc, const char *buf, size_t len); | |
46 | |
47 #endif /* CRC_H */ |