17 #ifndef HH_SENF_Packets_DefaultBundle_IPv4Packet_ 18 #define HH_SENF_Packets_DefaultBundle_IPv4Packet_ 1 38 using Base::operator=;
54 # include SENF_FIXED_PARSER() 85 boost::uint16_t calcChecksum()
const;
90 return checksum() == calcChecksum();
151 using mixin::nextPacketRange;
152 using mixin::nextPacketType;
153 using mixin::initSize;
157 {
return p->protocol(); }
160 static void dump(packet p, std::ostream & os);
162 static void finalize(packet p);
IPv4PacketParser parser
typedef to the parser of IPv4 packet
#define SENF_PARSER_BITFIELD(name, bits, type)
Define bit-field.
Mixin to provide standard implementations for nextPacketRange and nextPacketType. ...
Parse 8bit unsigned byte aligned integer.
DefaultBundle packet registries public header.
#define SENF_PARSER_FIELD(name, type)
Define normal parser field.
PacketTypeMixin< IPv4PacketType, IPTypes > mixin
#define SENF_PARSER_FINALIZE(name)
Generate parser control members.
void dump(std::ostream &os, DirectoryNode &dir=root())
Protocol specific packet handle.
Helper base-class implementing the PacketType interface.
bool validateChecksum() const
validate header checksum
Packet data STL-sequence view.
#define SENF_PARSER_INIT()
Define parser initialization routine.
data_iterator i() const
Return beginning of data to parse.
ConcretePacket< IPv4PacketType > packet
IPv4 packet typedef.
SENF_PACKET_PREVENT_TEMPLATE_INSTANTIATION(RadiotapPacket)
INet4AddressParser(data_iterator i, state_type s)
#define SENF_PARSER_PRIVATE_BITFIELD(name, bits, type)
Define bit-field (private)
Parse 16bit unsigned byte aligned integer.
static key_t nextPacketKey(packet p)
detail::packet::iterator data_iterator
Raw data iterator type.
ConcretePacket< IPv4PacketType > IPv4Packet
IPv4 packet typedef.