senf::TCPPacketParser Struct Reference

Parse a TCP packet. More...

#include <senf/Packets/DefaultBundle/TCPPacket.hh>

Inheritance diagram for senf::TCPPacketParser:
Inheritance graph
[legend]

List of all members.


Detailed Description

Parse a TCP packet.

Parser implementing the TCP header. The fields implemented are:

TCPPacket.png
See also:
TCPPacketType
RFC 793

Definition at line 45 of file TCPPacket.hh.


Public Types

typedef UInt16Parser  source_t
typedef UInt16Parser  destination_t
typedef UInt32Parser  sequencenumber_t
typedef UInt32Parser  acknowledgmentnumber_t
typedef UInt16Parser  window_t
typedef UInt16Parser  checksum_t
typedef UInt16Parser  urgentpointer_t

Public Member Functions

UInt16Parser  source () const
UInt16Parser  destination () const
UInt32Parser  sequencenumber () const
UInt32Parser  acknowledgmentnumber () const
senf::UIntFieldParser<?,?+4 >  dataoffset () const
senf::FlagParser<?>  urgf () const
senf::FlagParser<?>  ackf () const
senf::FlagParser<?>  pshf () const
senf::FlagParser<?>  rstf () const
senf::FlagParser<?>  synf () const
senf::FlagParser<?>  finf () const
UInt16Parser  window () const
UInt16Parser  checksum () const
UInt16Parser  urgentpointer () const
void  init ()
boost::uint16_t  calcChecksum () const
  calculate (pseudo-)header checksum
bool  validateChecksum () const
  validate header checksum

Protected Member Functions

senf::UIntFieldParser<?,?+6 >  reserved () const

Member Typedef Documentation

typedef UInt32Parser senf::TCPPacketParser::
acknowledgmentnumber_t

Definition at line 52 of file TCPPacket.hh.

typedef UInt16Parser senf::TCPPacketParser::
checksum_t

Definition at line 64 of file TCPPacket.hh.

typedef UInt16Parser senf::TCPPacketParser::
destination_t

Definition at line 50 of file TCPPacket.hh.

typedef UInt32Parser senf::TCPPacketParser::
sequencenumber_t

Definition at line 51 of file TCPPacket.hh.

typedef UInt16Parser senf::TCPPacketParser::
source_t

Definition at line 49 of file TCPPacket.hh.

typedef UInt16Parser senf::TCPPacketParser::
urgentpointer_t

Definition at line 65 of file TCPPacket.hh.

typedef UInt16Parser senf::TCPPacketParser::
window_t

Definition at line 63 of file TCPPacket.hh.


Member Function Documentation

senf::FlagParser<?> senf::TCPPacketParser::
ackf ()

UInt32Parser senf::TCPPacketParser::
acknowledgmentnumber ()

boost::uint16_t senf::TCPPacketParser::
calcChecksum ()

calculate (pseudo-)header checksum

calculate and return the checksum of the (pseudo-)header

See also:
senf::IpChecksum
Fix:
What about a hop-by-hop routing option? Which destination is used in IPv4 ?
Fix:
May there be another header between the IPv4 header and TCP? if so, we need to hack the correct protocol number here ...
Todo:
Implement routing header support

Definition at line 45 of file TCPPacket.cc.

UInt16Parser senf::TCPPacketParser::
checksum ()

senf::UIntFieldParser<?,?+ 4 > senf::TCPPacketParser::
dataoffset ()

UInt16Parser senf::TCPPacketParser::
destination ()

senf::FlagParser<?> senf::TCPPacketParser::
finf ()

void senf::TCPPacketParser::
init ()

Definition at line 74 of file TCPPacket.hh.

senf::FlagParser<?> senf::TCPPacketParser::
pshf ()

senf::UIntFieldParser<?,?+ 6 > senf::TCPPacketParser::
reserved ()

senf::FlagParser<?> senf::TCPPacketParser::
rstf ()

UInt32Parser senf::TCPPacketParser::
sequencenumber ()

UInt16Parser senf::TCPPacketParser::
source ()

senf::FlagParser<?> senf::TCPPacketParser::
synf ()

UInt16Parser senf::TCPPacketParser::
urgentpointer ()

senf::FlagParser<?> senf::TCPPacketParser::
urgf ()

bool senf::TCPPacketParser::
validateChecksum ()

validate header checksum

return true if the checksum field is equal to the calculated checksum

Definition at line 86 of file TCPPacket.hh.

UInt16Parser senf::TCPPacketParser::
window ()

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