X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=senf%2FPackets%2FDefaultBundle%2FIPv6ExtOptionType.hh;h=db7468a8b127087cb29794e2e645c961e739a85e;hb=cf48e83de9d4793ca5bd67d1e5acdb5b20968638;hp=f1e8cc51ec562e8bf39546858ac793b025e4d25c;hpb=9e03cf6e4f35e548a2c384f76da4a1d76fca3fc5;p=senf.git diff --git a/senf/Packets/DefaultBundle/IPv6ExtOptionType.hh b/senf/Packets/DefaultBundle/IPv6ExtOptionType.hh index f1e8cc5..db7468a 100644 --- a/senf/Packets/DefaultBundle/IPv6ExtOptionType.hh +++ b/senf/Packets/DefaultBundle/IPv6ExtOptionType.hh @@ -33,51 +33,31 @@ ///////////////////////////////hh.p//////////////////////////////////////// namespace senf { - class OptTypeTLVPacketParser : public PacketParserBase + class IPv6OptionTLVParser : public PacketParserBase { public: # include SENF_PARSER() - SENF_PARSER_BITFIELD (altAction, 2, unsigned); - SENF_PARSER_BITFIELD (changeFlag, 1, unsigned); - SENF_PARSER_BITFIELD (optionType, 5, unsigned); - SENF_PARSER_FIELD (optionLength, UInt8Parser); - SENF_PARSER_FINALIZE (OptTypeTLVPacketParser); + SENF_PARSER_FIELD ( type, UInt8Parser ); + SENF_PARSER_GOTO ( type ); + SENF_PARSER_BITFIELD ( altAction, 2, unsigned ); + SENF_PARSER_BITFIELD ( changeFlag, 1, unsigned ); + SENF_PARSER_BITFIELD ( optionType, 5, unsigned ); + SENF_PARSER_FIELD (length, UInt8Parser ); + SENF_PARSER_FINALIZE (IPv6OptionTLVParser ); }; - struct GenericOptTypeTLVPacketParser : public OptTypeTLVPacketParser - { -# include SENF_PARSER() - SENF_PARSER_INHERIT ( OptTypeTLVPacketParser ); - SENF_PARSER_SKIP ( optionLength(), 0 ); - SENF_PARSER_FINALIZE ( GenericOptTypeTLVPacketParser ); - - 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); - - }; + typedef GenericTLVParserBase IPv6GenericOptionTLVParser; } ///////////////////////////////hh.e//////////////////////////////////////// //#include "IPv6ExtOptionType.cci" -#include "IPv6ExtOptionType.ct" +//#include "IPv6ExtOptionType.ct" //#include "IPv6ExtOptionType.cti" #endif + // Local Variables: // mode: c++ // fill-column: 100