Date: 2005-02-19T13:03:17
   Editor: EmmanuelLecharny
   Wiki: Apache Directory Project Wiki
   Page: TLVPageInfo
   URL: http://wiki.apache.org/directory/TLVPageInfo

   no comment

Change Log:

------------------------------------------------------------------------------
@@ -89,7 +89,7 @@
 Those '''Value''' are terminal. They can't contain another TLV. In the sample, 
we have 4 primitive '''Values''' :
  * 02 01 01 which is an ''Integer'' representing the Message ID #1
  * 0A 01 00 which is an ''ENUMERATED'' which value is 0 (success for a 
BindResponse LDAP Message)
- * 04 00 are OCTET STRING with no value, as the ''Length'' is 0.
+ * the last two 04 00 are OCTET STRINGs with no value, as the ''Length'' is 0.
 
 We can see that even if we can read a '''TLV''', the semantic is carried by 
the upper layer. '''TLV''' are just structured containers, no more.
 
@@ -98,6 +98,9 @@
 The last point is that a primitive value has a fixed size, given by the 
'''Lengh''' part of the '''TLV'''. It will be used for ''constructed values''.
 
 ==== Constructed Value ====
+Constructed values are '''TLV''' with inner '''TLVs''' in its '''Value'''. It 
ha a '''Length''' which is the sum of all its inner '''TLVs'''. A bit is set in 
the '''Tag''' to distinguish a ''Constructed value'' from a ''Primitive value'' 
: the 5th bit of the first tag's byte. In the sample, the first '''TLV''' tag 
is ''30'', which can be read 00__'''1'''__1-0000 binary. The 5th bit (bold) is 
set : it's a ''constructed value''.
+
+
 (TODO : replace the total BS below ...)
 
 What about the '''Values'''? '''Length''' was easy, it was totally 
context-free. Which kind of '''Value''' can we have? How do we know the type of 
each '''Value'''?

Reply via email to