X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Packets%2FDefaultBundle%2FEthernetPacket.hh;h=2bc9fb6054e9f66f9b02cc99de1f3203407d4dfb;hb=2c4c9deecc7491fbfc916aeb41074dcb76e8a2c2;hp=f40d7551e79cb305b9353d636da22fcfe94d67c0;hpb=d53c168dbfd70ffea9ebad8953193163e113ff3a;p=senf.git diff --git a/Packets/DefaultBundle/EthernetPacket.hh b/Packets/DefaultBundle/EthernetPacket.hh index f40d755..2bc9fb6 100644 --- a/Packets/DefaultBundle/EthernetPacket.hh +++ b/Packets/DefaultBundle/EthernetPacket.hh @@ -76,37 +76,38 @@ namespace senf { /** \brief Parse an Ethernet packet - Parser implementing an ethernet header. The fields implemented are - - - - - - -
Field name Parser type
destination \ref Parse_MAC
source \ref Parse_MAC
type \ref Parse_Type
+ Parser implementing an ethernet header. \see EthernetPacketType */ struct Parse_Ethernet : public PacketParserBase { - SENF_PACKET_PARSER_INIT(Parse_Ethernet); + typedef Parse_UInt16 Parse_Type; - /////////////////////////////////////////////////////////////////////////// +# ifndef DOXYGEN - typedef Parse_UInt16 Parse_Type; + SENF_PACKET_PARSER_INIT(Parse_Ethernet); SENF_PACKET_PARSER_DEFINE_FIXED_FIELDS( ((Field)( destination, Parse_MAC )) ((Field)( source, Parse_MAC )) ((Field)( type, Parse_Type )) ); + +# else + + Parse_MAC destination(); + Parse_MAC source(); + Parse_Type type(); + +# endif }; /** \brief EtherType registry This registry registers packet types with their EtherType number. - \see Ethernet numbers - \ref PacketRegistry + \see Ethernet numbers \n + \ref PacketRegistry */ struct EtherTypes { // See @@ -154,32 +155,33 @@ namespace senf { Parser interpreting the ethernet VLAN tag. Fields are - - - - - - -
Field nameParser type
priority\ref Parse_Priority
cfi\ref Parse_CFI
vlanId\ref Parse_VLanId
type\ref Parse_Type
- \see EthVLanPacketType */ struct Parse_EthVLan : public PacketParserBase { - SENF_PACKET_PARSER_INIT(Parse_EthVLan); - - /////////////////////////////////////////////////////////////////////////// - typedef Parse_UIntField < 0, 3 > Parse_Priority; typedef Parse_Flag < 3 > Parse_CFI; typedef Parse_UIntField < 4, 16 > Parse_VLanId; typedef Parse_UInt16 Parse_Type; +# ifndef DOXYGEN + + SENF_PACKET_PARSER_INIT(Parse_EthVLan); + SENF_PACKET_PARSER_DEFINE_FIXED_FIELDS( ((OverlayField)( priority, Parse_Priority )) ((OverlayField)( cfi, Parse_CFI )) ((Field )( vlanId, Parse_VLanId )) ((Field )( type, Parse_Type )) ); + +# else + + Parse_Priority priority(); + Parse_CFI cfi(); + Parse_VLanId vlanId(); + Parse_Type type(); + +# endif }; /** \brief Ethernet VLAN tag