17 #ifndef HH_SENF_Packets_MPEGDVBBundle_SNDUPacket_ 18 #define HH_SENF_Packets_MPEGDVBBundle_SNDUPacket_ 1 21 #include <boost/crc.hpp> 38 # include SENF_PARSER() 64 {
return parse<UInt32Parser>(
data().
size() - 4 ); }
66 boost::uint32_t
calcCrc()
const;
99 static void init(packet p);
100 static factory_t nextPacketType(packet p);
102 static void dump(packet p, std::ostream & os);
109 typedef boost::crc_optimal<32, 0x04C11DB7, 0xFFFFFFFF, 0, false, false>
ule_crc32;
117 # define ULE_END_INDICATOR 0xffff EthernetPacket public header.
senf::UIntFieldParser<?,?+1 > d_bit_() const
boost::crc_optimal< 32, 0x04C11DB7, 0xFFFFFFFF, 0, false, false > ule_crc32
void withoutDestination()
#define SENF_PARSER_BITFIELD(name, bits, type)
Define bit-field.
PacketInterpreterBase::optional_range optional_range
SNDUPacketType::packet SNDUPacket
senf::UIntFieldParser<?,?+15 > length() const
senf::Parse_Variant_Direct< d_bit__t,?,(MACAddressParser)(VoidPacketParser) >::parser destination_() const
#define SENF_PARSER_FIELD(name, type)
Define normal parser field.
#define SENF_PARSER_PRIVATE_VARIANT(name, chooser, types)
Define private VariantParser field.
Parse an Ethernet MAC address.
#define SENF_PARSER_FINALIZE(name)
Generate parser control members.
void dump(std::ostream &os, DirectoryNode &dir=root())
Protocol specific packet handle.
Helper base-class implementing the PacketType interface.
Default parser parsing nothing.
void init() const
Default implementation.
detail::packet::size_type size_type
Unsigned integral type.
ConcretePacket< SNDUPacketType > packet
MACAddressParser destination()
boost::uint32_t calcCrc() const
size_type size() const
Returns the number of bytes in the packet data.
PacketData & data() const
Access the packets raw data container.
Parse 32bit unsigned byte aligned integer.
PacketInterpreterBase::factory_t factory_t
#define SENF_PARSER_PRIVATE_BITFIELD(name, bits, type)
Define bit-field (private)
Parse 16bit unsigned byte aligned integer.
UInt16Parser type() const