X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Packets%2FDefaultBundle%2FLlcSnapPacket.hh;h=33c006925ddf849c55516221a189eab78c0bb556;hb=8674fb1d184e7d620eb7c604957b5b4203df37a6;hp=c021c9f024a4df64b756d43a0ce21264b10f6cb6;hpb=15aafcdbb483b75f1b03c45af47d01a2d019c903;p=senf.git diff --git a/Packets/DefaultBundle/LlcSnapPacket.hh b/Packets/DefaultBundle/LlcSnapPacket.hh index c021c9f..33c0069 100644 --- a/Packets/DefaultBundle/LlcSnapPacket.hh +++ b/Packets/DefaultBundle/LlcSnapPacket.hh @@ -1,9 +1,9 @@ -// $id: EthernetPacket.hh 299 2007-07-10 21:23:49Z g0dil $ +// $Id$ // // Copyright (C) 2007 -// Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS) -// Kompetenzzentrum fuer Satelitenkommunikation (SatCom) -// Thorsten Horstmann +// Fraunhofer Institute for Open Communication Systems (FOKUS) +// Competence Center NETwork research (NET), St. Augustin, GERMANY +// Thorsten Horstmann // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by @@ -23,8 +23,8 @@ /** \file \brief LLC/SNAP public header */ -#ifndef HH_LlcSnapPacket_ -#define HH_LlcSnapPacket_ 1 +#ifndef HH_SENF_Packets_DefaultBundle_LlcSnapPacket_ +#define HH_SENF_Packets_DefaultBundle_LlcSnapPacket_ 1 // Custom includes #include @@ -38,20 +38,21 @@ namespace senf { /** \brief Parse a LLC/SNAP header + \image html LlcSnapPacket.png \todo document me */ - struct Parse_LlcSnapPacket : public PacketParserBase + struct LlcSnapPacketParser : public PacketParserBase { # include SENF_FIXED_PARSER() - SENF_PARSER_FIELD( dsap, Parse_UInt8 ); - SENF_PARSER_FIELD( ssap, Parse_UInt8 ); - SENF_PARSER_FIELD( ctrl, Parse_UInt8 ); + SENF_PARSER_FIELD( dsap, UInt8Parser ); + SENF_PARSER_FIELD( ssap, UInt8Parser ); + SENF_PARSER_FIELD( ctrl, UInt8Parser ); - SENF_PARSER_FIELD( protocolId, Parse_UInt24 ); - SENF_PARSER_FIELD( type_length, Parse_UInt16 ); + SENF_PARSER_FIELD( protocolId, UInt24Parser ); + SENF_PARSER_FIELD( type_length, UInt16Parser ); - SENF_PARSER_FINALIZE(Parse_LlcSnapPacket); + SENF_PARSER_FINALIZE(LlcSnapPacketParser); SENF_PARSER_INIT() { dsap() = 0xaa; @@ -69,7 +70,7 @@ namespace senf { \ref LlcSnapPacketType \par Fields: - \ref Parse_LlcSnapPacket + \ref LlcSnapPacketParser \par Associated registries: \ref EtherTypes @@ -85,25 +86,26 @@ namespace senf { { #ifndef DOXYGEN typedef PacketTypeMixin mixin; - typedef ConcretePacket packet; - typedef Parse_LlcSnapPacket parser; #endif + typedef ConcretePacket packet; ///< LLC/SNAP packet typedef + typedef LlcSnapPacketParser parser; ///< typedef to the parser of LLC/SNAP packet + using mixin::nextPacketRange; using mixin::initSize; using mixin::init; static factory_t nextPacketType(packet p); - static void dump(packet p, std::ostream & os); + /** \brief Dump given LlcSnapPacket in readable form to given output stream */ + static void dump(packet p, std::ostream & os); static void finalize(packet p); }; + /** \brief LLC/SNAP packet typedef */ typedef ConcretePacket LlcSnapPacket; } ///////////////////////////////hh.e//////////////////////////////////////// -#endif -#ifndef SENF_PACKETS_DECL_ONLY //#include "LlcSnapPacket.cci" //#include "LlcSnapPacket.ct" //#include "LlcSnapPacket.cti"