
FIXED: * Windows logging ADDED: * netx (and netx/inetcksum), the latter of which implements the Internet Checksum as a hash.Hash.
25 lines
579 B
Go
25 lines
579 B
Go
package inetcksum
|
|
|
|
import (
|
|
`encoding/binary`
|
|
)
|
|
|
|
const (
|
|
// EmptyCksum is returned for checksums of 0-length byte slices/buffers.
|
|
EmptyCksum uint16 = 0xffff
|
|
)
|
|
|
|
const (
|
|
// cksumMask is AND'd with a checksum to get the "carried ones".
|
|
cksumMask uint32 = 0x0000ffff
|
|
// cksumShift is used in the "carried-ones folding".
|
|
cksumShift uint32 = 0x00000010
|
|
// padShift is used to "pad out" a checksum for odd-length buffers by left-shifting.
|
|
padShift uint32 = 0x00000008
|
|
)
|
|
|
|
var (
|
|
// ord is the byte order used by the Internet Checksum.
|
|
ord binary.ByteOrder = binary.BigEndian
|
|
)
|