#include <TCPIPchecksum.h>
List of all members.
Public Member Functions |
| TCPIPchecksum () |
Static Public Member Functions |
static uint16_t | checksum (const void *addr, unsigned int count) |
static uint16_t | _checksum (const void *addr, unsigned int count) |
Detailed Description
Constructor & Destructor Documentation
TCPIPchecksum::TCPIPchecksum |
( |
| ) |
[inline] |
Member Function Documentation
uint16_t TCPIPchecksum::_checksum |
( |
const void * |
addr, |
|
|
unsigned int |
count |
|
) |
| [static] |
Referenced by checksum().
{
uint32_t sum = 0;
while (count > 1)
{
sum += *((const uint16_t *&)addr)++;
if (sum & 0x80000000)
sum = (sum & 0xFFFF) + (sum >> 16);
count -= 2;
}
if (count)
sum += *(const uint8_t *)addr;
while (sum >> 16)
sum = (sum & 0xFFFF) + (sum >> 16);
return (uint16_t)sum;
}
static uint16_t TCPIPchecksum::checksum |
( |
const void * |
addr, |
|
|
unsigned int |
count |
|
) |
| [inline, static] |
The documentation for this class was generated from the following files: