diff options
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/crc32.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/include/linux/crc32.h b/include/linux/crc32.h index 68267b64bb98..7d275c4fc011 100644 --- a/include/linux/crc32.h +++ b/include/linux/crc32.h | |||
| @@ -11,8 +11,48 @@ | |||
| 11 | extern u32 crc32_le(u32 crc, unsigned char const *p, size_t len); | 11 | extern u32 crc32_le(u32 crc, unsigned char const *p, size_t len); |
| 12 | extern u32 crc32_be(u32 crc, unsigned char const *p, size_t len); | 12 | extern u32 crc32_be(u32 crc, unsigned char const *p, size_t len); |
| 13 | 13 | ||
| 14 | /** | ||
| 15 | * crc32_le_combine - Combine two crc32 check values into one. For two | ||
| 16 | * sequences of bytes, seq1 and seq2 with lengths len1 | ||
| 17 | * and len2, crc32_le() check values were calculated | ||
| 18 | * for each, crc1 and crc2. | ||
| 19 | * | ||
| 20 | * @crc1: crc32 of the first block | ||
| 21 | * @crc2: crc32 of the second block | ||
| 22 | * @len2: length of the second block | ||
| 23 | * | ||
| 24 | * Return: The crc32_le() check value of seq1 and seq2 concatenated, | ||
| 25 | * requiring only crc1, crc2, and len2. Note: If seq_full denotes | ||
| 26 | * the concatenated memory area of seq1 with seq2, and crc_full | ||
| 27 | * the crc32_le() value of seq_full, then crc_full == | ||
| 28 | * crc32_le_combine(crc1, crc2, len2) when crc_full was seeded | ||
| 29 | * with the same initializer as crc1, and crc2 seed was 0. See | ||
| 30 | * also crc32_combine_test(). | ||
| 31 | */ | ||
| 32 | extern u32 crc32_le_combine(u32 crc1, u32 crc2, size_t len2); | ||
| 33 | |||
| 14 | extern u32 __crc32c_le(u32 crc, unsigned char const *p, size_t len); | 34 | extern u32 __crc32c_le(u32 crc, unsigned char const *p, size_t len); |
| 15 | 35 | ||
| 36 | /** | ||
| 37 | * __crc32c_le_combine - Combine two crc32c check values into one. For two | ||
| 38 | * sequences of bytes, seq1 and seq2 with lengths len1 | ||
| 39 | * and len2, __crc32c_le() check values were calculated | ||
| 40 | * for each, crc1 and crc2. | ||
| 41 | * | ||
| 42 | * @crc1: crc32c of the first block | ||
| 43 | * @crc2: crc32c of the second block | ||
| 44 | * @len2: length of the second block | ||
| 45 | * | ||
| 46 | * Return: The __crc32c_le() check value of seq1 and seq2 concatenated, | ||
| 47 | * requiring only crc1, crc2, and len2. Note: If seq_full denotes | ||
| 48 | * the concatenated memory area of seq1 with seq2, and crc_full | ||
| 49 | * the __crc32c_le() value of seq_full, then crc_full == | ||
| 50 | * __crc32c_le_combine(crc1, crc2, len2) when crc_full was | ||
| 51 | * seeded with the same initializer as crc1, and crc2 seed | ||
| 52 | * was 0. See also crc32c_combine_test(). | ||
| 53 | */ | ||
| 54 | extern u32 __crc32c_le_combine(u32 crc1, u32 crc2, size_t len2); | ||
| 55 | |||
| 16 | #define crc32(seed, data, length) crc32_le(seed, (unsigned char const *)(data), length) | 56 | #define crc32(seed, data, length) crc32_le(seed, (unsigned char const *)(data), length) |
| 17 | 57 | ||
| 18 | /* | 58 | /* |
