X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Packets%2FMPEGDVBBundle%2FDatagramSection.hh;h=5168f4cc761b3b0457294cb19e7acd32de779a28;hb=f1fc7057fa65a9509651d08c6c134d136fbb0424;hp=70227093b8bd2c41a7a41662b3c92f84d10a61e4;hpb=b371e9c8020d1c30d7f844819714a81db7709912;p=senf.git diff --git a/Packets/MPEGDVBBundle/DatagramSection.hh b/Packets/MPEGDVBBundle/DatagramSection.hh index 7022709..5168f4c 100644 --- a/Packets/MPEGDVBBundle/DatagramSection.hh +++ b/Packets/MPEGDVBBundle/DatagramSection.hh @@ -1,4 +1,4 @@ -// $Id$ +// $Id:DatagramSection.hh 327 2007-07-20 10:03:44Z tho $ // // Copyright (C) 2007 // Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS) @@ -20,6 +20,9 @@ // Free Software Foundation, Inc., // 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +/** \brief + \file DatagramSection public header */ + #ifndef HH_DatagramSection_ #define HH_DatagramSection_ 1 @@ -37,17 +40,22 @@ namespace senf { + /** \brief Parse a Datagram Section + + Parser implementing the Datagram Section. + + \see DatagramSectionType + */ struct Parse_DatagramSection : public Parse_DSMCCSection { - //SENF_PACKET_PARSER_NO_INIT(Parse_DatagramSection); Parse_DatagramSection(data_iterator i, state_type s) : senf::Parse_DSMCCSection(i,s) {} - /////////////////////////////////////////////////////////////////////////// - typedef Parse_UIntField < 2, 4 > Parse_payload_scrmbl_ctrl; typedef Parse_UIntField < 4, 6 > Parse_addr_scrmbl_ctrl; typedef Parse_Flag < 6 > Parse_llc_snap_flag; +# ifndef DOXYGEN + SENF_PACKET_PARSER_DEFINE_FIXED_FIELDS_OFFSET(Parse_DSMCCSection::fixed_bytes, ((Field ) ( mac_addr_4, Parse_UInt8 )) ((Field ) ( mac_addr_3, Parse_UInt8 )) @@ -55,6 +63,15 @@ namespace senf { ((Field ) ( mac_addr_1, Parse_UInt8 )) ); +# else + + Parse_UInt8 mac_addr_4() const; + Parse_UInt8 mac_addr_3() const; + Parse_UInt8 mac_addr_2() const; + Parse_UInt8 mac_addr_1() const; + +# endif + Parse_UInt8 mac_addr_6() const { return parse( 3 ); } Parse_UInt8 mac_addr_5() const { return parse( 4 ); } Parse_payload_scrmbl_ctrl payload_scrmbl_ctrl() const { @@ -74,6 +91,16 @@ namespace senf { } }; + /** \brief Datagram Section + + \par Packet type (typedef): + \ref DatagramSection + + \par Fields: + \ref Parse_DatagramSection + + \ingroup protocolbundle_mpegdvb + */ struct DatagramSectionType : public DSMCCSectionType, public PacketTypeMixin