General made up:
-Purpose: | "magic" | separator | count | position | separator |
----------+-----------+-----------+----------+----------+-----------+
-Bytes: | 9 | 1 | 20 (hex) | 20 (hex) | 1 |
----------+-----------+-----------+----------+----------+-----------+
-Example: | STACKv1.0 | 00 | 00...ff | 00...ff | ff |
+Purpose: | "magic" | separator | count | separator | position | separator |
+---------+-----------+-----------+----------+-----------+------0---+-----------+
+Bytes: | 9 | 1 | 20 (hex) | 1 | 20 (hex) | 1 |
+---------+-----------+-----------+----------+-----------+----------+-----------+
+Example: | STACKv1.0 | 01 | 00...ff | 01 | 00...ff | 02 |
Continued:
Purpose: | hash 0 | separator | name 0 | entry 0 | hash n | separator | name n | entry n | EOF |
---------+--------+-----------+--------+------------+--------+-----------+--------+------------+-----+
-Bytes: | ??? | 1 | 10 | 1-n (pack) | ??? | 1 | 10 | 1-n (pack) | 1 |
+Bytes: | 64 | 1 | 10 | 1-n (pack) | 64 | 1 | 10 | 1-n (pack) | 1 |
---------+--------+-----------+--------+------------+--------+-----------+--------+------------+-----+
-Example: | abc | ??? | foo | ... | abc | ??? | bar | ... | EOF |
+Example: | abc | 03 | foo | ... | abc | 03 | bar | ... | EOF |
Explanations:
-------------
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
+ 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