senf::IPv4PacketParser Struct Reference

Parse an IPv4 packet. More...

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

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

List of all members.


Detailed Description

Parse an IPv4 packet.

Parser implementing the IPv4 header.

IPv4Packet.png
See also:
IPv4PacketType
RFC 791
Todo:
Implement options

Definition at line 64 of file IPv4Packet.hh.


Public Types

typedef UInt8Parser  tos_t
typedef UInt16Parser  length_t
typedef UInt16Parser  identifier_t
typedef UInt8Parser  ttl_t
typedef UInt8Parser  protocol_t
typedef UInt16Parser  checksum_t
typedef INet4AddressParser  source_t
typedef INet4AddressParser  destination_t

Public Member Functions

senf::UIntFieldParser<?,?+4 >  version () const
senf::UIntFieldParser<?,?+4 >  ihl () const
UInt8Parser  tos () const
UInt16Parser  length () const
UInt16Parser  identifier () const
senf::FlagParser<?>  df () const
senf::FlagParser<?>  mf () const
senf::UIntFieldParser<?,?+13 >  frag () const
UInt8Parser  ttl () const
UInt8Parser  protocol () const
UInt16Parser  checksum () const
INet4AddressParser  source () const
INet4AddressParser  destination () const
void  init ()
boost::uint16_t  calcChecksum () const
  calculate header checksum
bool  validateChecksum () const
  validate header checksum

Protected Member Functions

senf::FlagParser<?>  reserved () const

Member Typedef Documentation

typedef UInt16Parser senf::IPv4PacketParser::
checksum_t

Definition at line 82 of file IPv4Packet.hh.

typedef INet4AddressParser senf::IPv4PacketParser::
destination_t

Definition at line 84 of file IPv4Packet.hh.

typedef UInt16Parser senf::IPv4PacketParser::
identifier_t

Definition at line 73 of file IPv4Packet.hh.

typedef UInt16Parser senf::IPv4PacketParser::
length_t

Definition at line 72 of file IPv4Packet.hh.

typedef UInt8Parser senf::IPv4PacketParser::
protocol_t

Definition at line 81 of file IPv4Packet.hh.

typedef INet4AddressParser senf::IPv4PacketParser::
source_t

Definition at line 83 of file IPv4Packet.hh.

typedef UInt8Parser senf::IPv4PacketParser::
tos_t

Definition at line 71 of file IPv4Packet.hh.

typedef UInt8Parser senf::IPv4PacketParser::
ttl_t

Definition at line 80 of file IPv4Packet.hh.


Member Function Documentation

boost::uint16_t senf::IPv4PacketParser::
calcChecksum ()

calculate header checksum

calculate and return the checksum of the header

See also:
senf::IpChecksum

Definition at line 46 of file IPv4Packet.cc.

UInt16Parser senf::IPv4PacketParser::
checksum ()

INet4AddressParser senf::IPv4PacketParser::
destination ()

senf::FlagParser<?> senf::IPv4PacketParser::
df ()

senf::UIntFieldParser<?,?+ 13 > senf::IPv4PacketParser::
frag ()

UInt16Parser senf::IPv4PacketParser::
identifier ()

senf::UIntFieldParser<?,?+ 4 > senf::IPv4PacketParser::
ihl ()

void senf::IPv4PacketParser::
init ()

Definition at line 86 of file IPv4Packet.hh.

UInt16Parser senf::IPv4PacketParser::
length ()

senf::FlagParser<?> senf::IPv4PacketParser::
mf ()

UInt8Parser senf::IPv4PacketParser::
protocol ()

senf::FlagParser<?> senf::IPv4PacketParser::
reserved ()

INet4AddressParser senf::IPv4PacketParser::
source ()

UInt8Parser senf::IPv4PacketParser::
tos ()

UInt8Parser senf::IPv4PacketParser::
ttl ()

bool senf::IPv4PacketParser::
validateChecksum ()

validate header checksum

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

Definition at line 98 of file IPv4Packet.hh.

senf::UIntFieldParser<?,?+ 4 > senf::IPv4PacketParser::
version ()

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