Checksum Calculation Utilities

This section describes functions for standard checksum (CRC-16, CRC-32, etc) calculations.

// global functions

uint16_t crc16_ansi(
    void const* p,
    size_t size,
    uint16_t seed = 0
);

uint16_t crc16_ccitt(
    void const* p,
    size_t size,
    uint16_t seed = 0
);

uint32_t crc32(
    void const* p,
    size_t size,
    uint32_t seed = 0
);

uint8_t crc8_ccitt(
    void const* p,
    size_t size,
    uint8_t seed = 0
);

uint8_t lrc(
    void const* p,
    size_t size
);

uint16_t calcIp4Checksum(
    void const* p0,
    size_t size,
    uint16_t seed = 0,
    bool isOddSeed = false
);

uint16_t finalizeIp4Checksum(uint16_t checksum);

uint64_t sum8(
    void const* p,
    size_t size,
    uint64_t seed = 0
);

uint8_t xor8(
    void const* p,
    size_t size,
    uint8_t seed = 0
);