Remove ProgramNoScan builder
[senf.git] / Packets / 80221Bundle / TLVPacket.hh
index 4c1a588..2151e7f 100644 (file)
@@ -62,11 +62,15 @@ namespace senf {
         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);
     };  
@@ -128,8 +132,8 @@ namespace senf {
             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:
@@ -138,7 +142,7 @@ namespace senf {
         /// 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);
     };
 
         
@@ -200,7 +204,7 @@ namespace senf {
 
 
 ///////////////////////////////hh.e////////////////////////////////////////
-//#include "TLVPacket.cci"
+#include "TLVPacket.cci"
 #include "TLVPacket.ct"
 //#include "TLVPacket.cti"
 #endif