Coverage Report

Created: 2025-10-10 06:29

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/sleuthkit/tsk/fs/btrfs_csum.cpp
Line
Count
Source
1
/*
2
** The Sleuth Kit
3
**
4
** Brian Carrier [carrier <at> sleuthkit [dot] org]
5
** Copyright (c) 2003-2011 Brian Carrier.  All rights reserved
6
**
7
** TASK
8
** Copyright (c) 2015 Stefan Pöschel.  All rights reserved
9
**
10
** This software is distributed under the Common Public License 1.0
11
*/
12
13
/*
14
 * Contains the checksum part for Btrfs file system support.
15
 */
16
17
#include "tsk/base/crc.h"
18
19
/**
20
 * Returns the CRC32C checksum of a specific amount of data.
21
 * @param a_data pointer to data
22
 * @param a_len data len
23
 * @return calculated checksum
24
 */
25
extern "C" unsigned long
26
btrfs_csum_crc32c(const unsigned char *a_data, const int a_len)
27
100
{
28
100
    cm_t cm;
29
100
    cm.cm_width = 32;
30
100
    cm.cm_poly = 0x1EDC6F41;
31
100
    cm.cm_init = 0xFFFFFFFF;
32
100
    cm.cm_refin = true;
33
100
    cm.cm_refot = true;
34
100
    cm.cm_xorot = 0xFFFFFFFF;
35
36
100
    cm_ini(&cm);
37
100
    cm_blk(&cm, (unsigned char *) a_data, a_len);
38
100
    return cm_crc(&cm);
39
100
}