X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FPackets%2FDefaultBundle%2FIPv6ExtOptionType.hh;h=27be0183aed3aad35bd0fb3001b4e578cc1ad325;hb=328a72eb2f360d08f2d618ef6aae2ac6b42d76ab;hp=d2b7dcea6e94e661a0087971c8cf997da47890e9;hpb=79615f135540eb93e24ac7720a9fecb08fba2842;p=senf.git diff --git a/senf/Packets/DefaultBundle/IPv6ExtOptionType.hh b/senf/Packets/DefaultBundle/IPv6ExtOptionType.hh index d2b7dce..27be018 100644 --- a/senf/Packets/DefaultBundle/IPv6ExtOptionType.hh +++ b/senf/Packets/DefaultBundle/IPv6ExtOptionType.hh @@ -33,7 +33,7 @@ ///////////////////////////////hh.p//////////////////////////////////////// namespace senf { - class OptTypeTLVPacketParser : public PacketParserBase + class IPv6OptionTLVParser : public PacketParserBase { public: # include SENF_PARSER() @@ -41,20 +41,31 @@ namespace senf { SENF_PARSER_BITFIELD (changeFlag, 1, unsigned); SENF_PARSER_BITFIELD (optionType, 5, unsigned); SENF_PARSER_FIELD (optionLength, UInt8Parser); - SENF_PARSER_FINALIZE (OptTypeTLVPacketParser); + SENF_PARSER_FINALIZE (IPv6OptionTLVParser); }; - struct GenericOptTypeTLVPacketParser : public OptTypeTLVPacketParser + struct IPv6GenericOptionTLVParser : public IPv6OptionTLVParser { # include SENF_PARSER() - SENF_PARSER_INHERIT ( OptTypeTLVPacketParser ); + SENF_PARSER_INHERIT ( IPv6OptionTLVParser ); SENF_PARSER_SKIP ( optionLength(), 0 ); - SENF_PARSER_FINALIZE ( GenericOptTypeTLVPacketParser ); + SENF_PARSER_FINALIZE ( IPv6GenericOptionTLVParser ); senf::PacketInterpreterBase::range value() const; + template + Parser& init(); + + // template + // Parser& get(); + + static const unsigned int typeCode = 7u; + template void value(ForwardReadableRange const &range); + + template + void setPayload(ForwardReadableRange const &range); }; }