-Purpose: | name 0 | entry 0 | separator | name 1 | entry 1 | separator | name n | entry n | EOF |
----------+--------+------------+-----------+--------+------------+-----------+--------+------------+-----+
-Bytes: | 10 | 1-n (pack) | 1 | 10 | 1-n (pack) | 1 | 10 | 1-n (pack) | 1 |
----------+--------+------------+-----------+--------+------------+-----------+--------+------------+-----+
-Example: | foo | ... | ??? | bar | ... | ??? | bar | ... | EOF |
+Purpose: | hash 0 | separator | name 0 | entry 0 | hash n | separator | name n | entry n | EOF |
+---------+--------+-----------+--------+------------+--------+-----------+--------+------------+-----+
+Bytes: | 64 | 1 | 10 | 1-n (pack) | 64 | 1 | 10 | 1-n (pack) | 1 |
+---------+--------+-----------+--------+------------+--------+-----------+--------+------------+-----+
+Example: | abc | 03 | foo | ... | abc | 03 | bar | ... | EOF |
+
+Explanations:
+-------------
+ magic - Identifies the file and version of format
+ separator - Serves to detect end of strings with unknown/flexible length
+ count - Total amount of entries (not deleted) encoded in hexa-decimal
+ position - Seek position of current entry (which current() will give)
+ hash X - Hash sum of entry X (SHA 256)
+ name X - Name of stack the entries belongs in
+ entry X - The actual data, compressed with pack()
+ EOF - End-of-file character
+ ... - Data
+ ??? - Must be still found out which character/hashing algorthym fits best