Calculates checksum.
More...
#include <TcpIpChecksum.h>
|
| static uint16_t | checksum (const void *addr, unsigned int count) |
| |
| static uint16_t | _checksum (const void *addr, unsigned int count) |
| |
| static uint16_t | _checksum (const std::vector< uint8_t > &vec) |
| |
| static uint16_t | checksum (const std::vector< uint8_t > &vec) |
| |
◆ TcpIpChecksum()
| inet::TcpIpChecksum::TcpIpChecksum |
( |
| ) |
|
|
inline |
◆ _checksum() [1/2]
| uint16_t inet::TcpIpChecksum::_checksum |
( |
const std::vector< uint8_t > & |
vec | ) |
|
|
static |
38 for (
size_t i = 0; i < vec.size(); i++) {
39 sum += (i & 1) ? vec[i] : (vec[i] << 8);
41 sum = (sum & 0xFFFF) + (sum >> 16);
45 sum = (sum & 0xFFFF) + (sum >> 16);
◆ _checksum() [2/2]
| uint16_t inet::TcpIpChecksum::_checksum |
( |
const void * |
addr, |
|
|
unsigned int |
count |
|
) |
| |
|
static |
15 const uint8_t *addr =
static_cast<const uint8_t *
>(_addr);
19 sum += (addr[0] << 8) | addr[1];
22 sum = (sum & 0xFFFF) + (sum >> 16);
30 sum = (sum & 0xFFFF) + (sum >> 16);
◆ checksum() [1/2]
| static uint16_t inet::TcpIpChecksum::checksum |
( |
const std::vector< uint8_t > & |
vec | ) |
|
|
inlinestatic |
◆ checksum() [2/2]
| static uint16_t inet::TcpIpChecksum::checksum |
( |
const void * |
addr, |
|
|
unsigned int |
count |
|
) |
| |
|
inlinestatic |
Referenced by inet::CrcCheckerBase::checkComputedCrc(), inet::tcp::Tcp::checkCrc(), inet::CrcInserterBase::computeComputedCrc(), inet::tcp::TcpCrcInsertionHook::computeCrc(), inet::Pim::computeCrc(), inet::Udp::computeCrc(), inet::Ipv4Encap::encapsulate(), inet::Icmp::insertCrc(), inet::Icmpv6::insertCrc(), inet::Ipv4::insertCrc(), inet::Igmpv2::insertCrc(), inet::Igmpv3::insertCrc(), inet::Ipv4::setComputedCrc(), inet::ospfv2::setLsaCrc(), inet::ospfv2::setLsaHeaderCrc(), inet::ospfv2::setOspfCrc(), inet::Icmpv6::verifyCrc(), inet::Icmp::verifyCrc(), inet::Ipv4::verifyCrc(), inet::Igmpv2::verifyCrc(), and inet::Igmpv3::verifyCrc().
The documentation for this class was generated from the following files: