void init() const;
# include SENF_PARSER()
+ SENF_PARSER_PRIVATE_FIELD ( length_field, UInt8Parser );
+ SENF_PARSER_GOTO( length_field );
SENF_PARSER_PRIVATE_BITFIELD ( extended_length_flag, 1, bool );
- SENF_PARSER_PRIVATE_BITFIELD ( fixed_length_field, 7, unsigned );
+ SENF_PARSER_PRIVATE_BITFIELD ( underflow_flag, 1, bool );
+ SENF_PARSER_PRIVATE_BITFIELD ( fixed_length_field, 6, unsigned );
- void shrink();
- void maxValue(DynamicTLVLengthParser::value_type v);
+ void finalize();
+ void maxValue(value_type v);
+ value_type maxValue() const;
private:
void resize(size_type size);
};
The size of the length field will be decreased to minimum necessary to hold
the current length value.
*/
- void shrinkLength() {
- length_().shrink();
+ void finalizeLength() {
+ length_().finalize();
};
protected:
/// set length field to given value
void length(DynamicTLVLengthParser::value_type &v) { length_() = v; };
/// resize the Packet after the length field to given size
- senf::safe_data_iterator resizeValue(DynamicTLVLengthParser::value_type size);
+ senf::safe_data_iterator resizeValueField(DynamicTLVLengthParser::value_type size);
};
///////////////////////////////hh.e////////////////////////////////////////
-//#include "TLVPacket.cci"
+#include "TLVPacket.cci"
#include "TLVPacket.ct"
//#include "TLVPacket.cti"
#endif