VBVX 0.1.0
Header-only C++23 library for safe, zero-copy parsing of packet buffers.
Loading...
Searching...
No Matches
vbvx::TCPHeader Struct Reference

TCP header (minimum 20 bytes). More...

#include <tcp_header.hxx>

Public Member Functions

constexpr auto src_port () const noexcept -> uint16_t
constexpr auto dst_port () const noexcept -> uint16_t
constexpr auto seq_num () const noexcept -> uint32_t
constexpr auto ack_num () const noexcept -> uint32_t
constexpr auto header_words () const noexcept -> uint8_t
constexpr auto header_bytes () const noexcept -> uint16_t
constexpr auto flags () const noexcept -> TCPFlags
constexpr auto window () const noexcept -> uint16_t
constexpr auto checksum () const noexcept -> uint16_t
constexpr auto urgent_ptr () const noexcept -> uint16_t
constexpr void set_src_port (uint16_t v) noexcept
constexpr void set_dst_port (uint16_t v) noexcept
constexpr void set_seq_num (uint32_t v) noexcept
constexpr void set_ack_num (uint32_t v) noexcept
constexpr void set_flags (uint8_t f) noexcept
constexpr void set_window (uint16_t v) noexcept
constexpr void set_checksum (uint16_t v) noexcept
constexpr void set_urgent_ptr (uint16_t v) noexcept
constexpr bool valid_min_size () const noexcept

Public Attributes

uint16_t src_port_be
uint16_t dst_port_be
uint32_t seq_num_be
uint32_t ack_num_be
uint8_t data_offset
uint8_t tcp_flags
uint16_t window_be
uint16_t checksum_be
uint16_t urgent_ptr_be

Detailed Description

TCP header (minimum 20 bytes).

See also
IANA Service Name and Transport Protocol Port Number Registry: https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml
IETF RFC 793 (Transmission Control Protocol): https://datatracker.ietf.org/doc/html/rfc793

Member Function Documentation

◆ ack_num()

auto vbvx::TCPHeader::ack_num ( ) const -> uint32_t
inlineconstexprnoexcept

◆ checksum()

auto vbvx::TCPHeader::checksum ( ) const -> uint16_t
inlineconstexprnoexcept

◆ dst_port()

auto vbvx::TCPHeader::dst_port ( ) const -> uint16_t
inlineconstexprnoexcept

◆ flags()

auto vbvx::TCPHeader::flags ( ) const -> TCPFlags
inlineconstexprnoexcept

◆ header_bytes()

auto vbvx::TCPHeader::header_bytes ( ) const -> uint16_t
inlineconstexprnoexcept

◆ header_words()

auto vbvx::TCPHeader::header_words ( ) const -> uint8_t
inlineconstexprnoexcept

◆ seq_num()

auto vbvx::TCPHeader::seq_num ( ) const -> uint32_t
inlineconstexprnoexcept

◆ set_ack_num()

void vbvx::TCPHeader::set_ack_num ( uint32_t v)
inlineconstexprnoexcept

◆ set_checksum()

void vbvx::TCPHeader::set_checksum ( uint16_t v)
inlineconstexprnoexcept

◆ set_dst_port()

void vbvx::TCPHeader::set_dst_port ( uint16_t v)
inlineconstexprnoexcept

◆ set_flags()

void vbvx::TCPHeader::set_flags ( uint8_t f)
inlineconstexprnoexcept

◆ set_seq_num()

void vbvx::TCPHeader::set_seq_num ( uint32_t v)
inlineconstexprnoexcept

◆ set_src_port()

void vbvx::TCPHeader::set_src_port ( uint16_t v)
inlineconstexprnoexcept

◆ set_urgent_ptr()

void vbvx::TCPHeader::set_urgent_ptr ( uint16_t v)
inlineconstexprnoexcept

◆ set_window()

void vbvx::TCPHeader::set_window ( uint16_t v)
inlineconstexprnoexcept

◆ src_port()

auto vbvx::TCPHeader::src_port ( ) const -> uint16_t
inlineconstexprnoexcept

◆ urgent_ptr()

auto vbvx::TCPHeader::urgent_ptr ( ) const -> uint16_t
inlineconstexprnoexcept

◆ valid_min_size()

bool vbvx::TCPHeader::valid_min_size ( ) const
inlineconstexprnoexcept

◆ window()

auto vbvx::TCPHeader::window ( ) const -> uint16_t
inlineconstexprnoexcept

Member Data Documentation

◆ ack_num_be

uint32_t vbvx::TCPHeader::ack_num_be

◆ checksum_be

uint16_t vbvx::TCPHeader::checksum_be

◆ data_offset

uint8_t vbvx::TCPHeader::data_offset

◆ dst_port_be

uint16_t vbvx::TCPHeader::dst_port_be

◆ seq_num_be

uint32_t vbvx::TCPHeader::seq_num_be

◆ src_port_be

uint16_t vbvx::TCPHeader::src_port_be

◆ tcp_flags

uint8_t vbvx::TCPHeader::tcp_flags

◆ urgent_ptr_be

uint16_t vbvx::TCPHeader::urgent_ptr_be

◆ window_be

uint16_t vbvx::TCPHeader::window_be

The documentation for this struct was generated from the following file: