17 #ifndef HH_SENF_Packets_DefaultBundle_IPv6Extensions_ 18 #define HH_SENF_Packets_DefaultBundle_IPv6Extensions_ 1 40 # include SENF_FIXED_PARSER() 80 using mixin::nextPacketRange;
81 using mixin::nextPacketType;
82 using mixin::initSize;
86 {
return p->nextHeader(); }
89 static void dump(packet p, std::ostream & os);
90 static void finalize(packet p);
143 # include SENF_PARSER() 187 using mixin::nextPacketRange;
188 using mixin::nextPacketType;
190 using mixin::initSize;
193 {
return p->nextHeader(); }
196 static void dump(packet p, std::ostream & os);
197 static void finalize(packet p);
222 typedef detail::ListOptionTypeParser_Policy<
226 # include SENF_PARSER() 261 using mixin::nextPacketRange;
262 using mixin::nextPacketType;
264 using mixin::initSize;
267 return p->nextHeader(); }
270 static void dump(packet p, std::ostream & os);
271 static void finalize(packet p);
296 typedef detail::ListOptionTypeParser_Policy<
300 # include SENF_PARSER() 335 using mixin::nextPacketRange;
336 using mixin::nextPacketType;
338 using mixin::initSize;
341 {
return p->nextHeader(); }
343 static void dump(packet p, std::ostream & os);
344 static void finalize(packet p);
IPv6Packet public header.
detail::ListOptionTypeParser_Policy< IPv6GenericOptionParser, ListOptionTypeAuxPolicy > ListOptionTypePolicy
static key_t nextPacketKey(packet p)
IPv6DestinationOptionsPacketParser parser
typedef to the parser of IPv6 Destination Options extension packet
#define SENF_PARSER_BITFIELD(name, bits, type)
Define bit-field.
PacketTypeMixin< IPv6FragmentPacketType, IPTypes > mixin
GenericTLVParserBase< IPv6OptionParser > IPv6GenericOptionParser
Mixin to provide standard implementations for nextPacketRange and nextPacketType. ...
senf::UIntFieldParser<?,?+2 > reserved2() const
Parse 8bit unsigned byte aligned integer.
ConcretePacket< IPv6FragmentPacketType > packet
IPv6 fragment extension packet typedef.
IPv6 Hop-By-Hop extension.
Parse in IPv6 fragment extension header.
Parse in IPv6 Hop-By-Hop extension header.
PacketTypeMixin< IPv6DestinationOptionsPacketType, IPTypes > mixin
#define SENF_PARSER_FIELD(name, type)
Define normal parser field.
#define SENF_PARSER_PRIVATE_FIELD(name, type)
Define parser field (private)
ConcretePacket< IPv6DestinationOptionsPacketType > packet
IPv6 Destination Options extension packet typedef.
ConcretePacket< IPv6HopByHopOptionsPacketType > IPv6HopByHopOptionsPacket
IPv6 routing Hop-By-Hop packet typedef.
#define SENF_PARSER_FINALIZE(name)
Generate parser control members.
Parse in IPv6 routing extension header.
ListOptionTypeParser public header.
IPv6HopByHopOptionsPacketParser parser
typedef to the parser of IPv6 Hop-By-Hop extension packet
void dump(std::ostream &os, DirectoryNode &dir=root())
IPv6FragmentPacketParser parser
typedef to the parser of IPv6 fragment extension packet
Protocol specific packet handle.
Helper base-class implementing the PacketType interface.
#define SENF_PARSER_VECTOR(name, size, elt_type)
Define VectorParser field.
#define SENF_PARSER_INIT()
Define parser initialization routine.
UInt8Parser reserved1() const
#define SENF_PARSER_FIELD_RO(name, type)
Define parser field (read-only)
static key_t nextPacketKey(packet p)
ListParser< ListOptionTypePolicy > ListOptionTypeParser
SENF_PACKET_PREVENT_TEMPLATE_INSTANTIATION(RadiotapPacket)
ConcretePacket< IPv6RoutingPacketType > packet
IPv6 routing extension packet typedef.
ConcretePacket< IPv6DestinationOptionsPacketType > IPv6DestinationOptionsPacket
IPv6 routing Destination Options packet typedef.
PacketTypeMixin< IPv6RoutingPacketType, IPTypes > mixin
UInt8Parser nextHeader() const
ConcretePacket< IPv6RoutingPacketType > IPv6RoutingPacket
IPv6 routing extension packet typedef.
senf::FlagParser<?> moreFragments() const
ConcretePacket< IPv6FragmentPacketType > IPv6FragmentPacket
IPv6 fragment extension packet typedef.
Internal: Fixed distance aux-parser policy.
detail::ListOptionTypeParser_Policy< IPv6GenericOptionParser, ListOptionTypeAuxPolicy > ListOptionTypePolicy
Parse in IPv6 Destination Options extension header.
Parse 32bit unsigned byte aligned integer.
detail::FixedAuxParserPolicy< UInt8Parser, 1u > ListOptionTypeAuxPolicy
Arbitrary sequential element collection.
#define SENF_PARSER_PRIVATE_BITFIELD(name, bits, type)
Define bit-field (private)
detail::FixedAuxParserPolicy< UInt8Parser, 1u > ListOptionTypeAuxPolicy
ListParser< ListOptionTypePolicy > ListOptionTypeParser
senf::UIntFieldParser<?,?+13 > fragmentOffset() const
IPv6RoutingPacketParser parser
typedef to the parser of IPv6 routing extension packet
IPv6Extension-Options public header.
static key_t nextPacketKey(packet p)
static key_t nextPacketKey(packet p)
IPv6 Destination Options extension.
ConcretePacket< IPv6HopByHopOptionsPacketType > packet
IPv6 Hop-By-Hop extension packet typedef.
PacketTypeMixin< IPv6HopByHopOptionsPacketType, IPTypes > mixin