KENSv3
KAIST Educational Network System
Static Public Member Functions | List of all members
E::NetworkUtil Class Reference

Static Public Member Functions

static uint16_t one_sum (const uint8_t *buffer, size_t size)
 
static uint16_t tcp_sum (uint32_t source, uint32_t dest, const uint8_t *tcp_seg, size_t length)
 
template<size_t N>
static std::array< uint8_t, N > UINT64ToArray (uint64_t val)
 
template<size_t N>
static uint64_t arrayToUINT64 (const std::array< uint8_t, N > &array)
 

Member Function Documentation

◆ arrayToUINT64()

template<size_t N>
static uint64_t E::NetworkUtil::arrayToUINT64 ( const std::array< uint8_t, N > &  array)
inlinestatic

Converts a std::array to uint64_t.

Parameters
NSize of array
arrayArray to convert. ipv4_t and mac_t are also okay.
Returns
Converted uint64_t

◆ one_sum()

uint16_t E::NetworkUtil::one_sum ( const uint8_t *  buffer,
size_t  size 
)
static

Calculate checksum once

Parameters
bufferBuffer to calculate.
sizeSize of buffer.
Returns
Checksum

◆ tcp_sum()

static uint16_t E::NetworkUtil::tcp_sum ( uint32_t  source,
uint32_t  dest,
const uint8_t *  tcp_seg,
size_t  length 
)
static

Calculate TCP checksum.

Parameters
sourceSource address (pseudo header)
destDestination address (pseudo header)
tcp_segTCP segment
lengthTCP length (pseudo header)
Returns
Checksum
Note
See RFC 793 Checksum

◆ UINT64ToArray()

template<size_t N>
static std::array<uint8_t, N> E::NetworkUtil::UINT64ToArray ( uint64_t  val)
inlinestatic

Converts a uint64_t variable to std::array

Parameters
NSize of array
valuint64_t variable
Returns
Converted array

The documentation for this class was generated from the following files: