blob: 52058e851586373bfe24c5ddd6633c5bf2c0cabd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
package btrfs
import (
"encoding/binary"
"encoding/hex"
"fmt"
"hash/crc32"
"lukeshu.com/btrfs-tools/pkg/util"
)
type CSum [0x20]byte
func (csum CSum) String() string {
return hex.EncodeToString(csum[:])
}
func (csum CSum) Format(f fmt.State, verb rune) {
util.FormatByteArrayStringer(csum, csum[:], f, verb)
}
func CRC32c(data []byte) CSum {
crc := crc32.Update(0, crc32.MakeTable(crc32.Castagnoli), data)
var ret CSum
binary.LittleEndian.PutUint32(ret[:], crc)
return ret
}
|