summaryrefslogtreecommitdiff
path: root/system
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2025-03-13 00:19:58 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2025-03-13 00:19:58 (GMT)
commit733d0cdb8677fe09310125bcaeb058a1a9c56b4d (patch)
tree17b8d9a151068dac695d25e39e875933ff9aaa40 /system
parent8287d20061887e9fd33e038e8f9bf86cf13f2780 (diff)
Rebuild a generic storage for GObjects using a ZIP format.
Diffstat (limited to 'system')
-rw-r--r--system/magic/storage40
1 files changed, 40 insertions, 0 deletions
diff --git a/system/magic/storage b/system/magic/storage
new file mode 100644
index 0000000..b7698d1
--- /dev/null
+++ b/system/magic/storage
@@ -0,0 +1,40 @@
+
+# 4.3.7 Local file header:
+# Cf. https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT
+
+# local file header signature 4 bytes (0x04034b50)
+# version needed to extract 2 bytes
+# general purpose bit flag 2 bytes
+# compression method 2 bytes
+# last mod file time 2 bytes
+# last mod file date 2 bytes
+# crc-32 4 bytes
+# compressed size 4 bytes
+# uncompressed size 4 bytes
+# file name length 2 bytes
+# extra field length 2 bytes
+
+
+# ZIP local file header #1
+
+0 string PK\003\004
+
+# First entry: control (file name length = 7)
+
+>0x1a uleshort 7
+>>0x1e string control
+
+# Content of control
+
+>>>&(0x1c.h) string COBSTR Chrysalide GObject storage
+>>>>&0 string \001\000 (version 1.0)
+
+# Storage for PythonNotebook
+
+>>>>>&0 byte 14
+>>>>>>&0 string PythonNotebook - PythonNotebook
+
+>>>>>>>&0 byte 1 v1
+
+!:mime application/vnd.chrysalide.notebook
+!:ext cnb