1b6cee71dSXin LI 2b6cee71dSXin LI#------------------------------------------------------------------------------ 3*48c779cdSXin LI# $File: dyadic,v 1.9 2019/04/19 00:42:27 christos Exp $ 4b6cee71dSXin LI# Dyadic: file(1) magic for Dyalog APL. 5b6cee71dSXin LI# 6b6cee71dSXin LI# updated by Joerg Jenderek at Oct 2013 7*48c779cdSXin LI# https://en.wikipedia.org/wiki/Dyalog_APL 8*48c779cdSXin LI# https://www.dyalog.com/ 9b6cee71dSXin LI# .DXV Dyalog APL External Variable 10b6cee71dSXin LI# .DIN Dyalog APL Input Table 11b6cee71dSXin LI# .DOT Dyalog APL Output Table 12b6cee71dSXin LI# .DFT Dyalog APL Format File 13b6cee71dSXin LI0 ubeshort&0xFF60 0xaa00 14b6cee71dSXin LI# skip biblio.dbt 15b6cee71dSXin LI>1 byte !4 16b6cee71dSXin LI# real Dyalog APL have non zero version numbers like 7.3 or 13.4 17b6cee71dSXin LI>>2 ubeshort >0x0000 Dyalog APL 18b6cee71dSXin LI>>>1 byte 0x00 aplcore 19b6cee71dSXin LI#>>>1 byte 0x00 incomplete workspace 20b6cee71dSXin LI# *.DCF Dyalog APL Component File 21b6cee71dSXin LI>>>1 byte 0x01 component file 32-bit non-journaled non-checksummed 22b6cee71dSXin LI#>>>1 byte 0x01 component file 23b6cee71dSXin LI>>>1 byte 0x02 external variable exclusive 24b6cee71dSXin LI#>>>1 byte 0x02 external variable 25b6cee71dSXin LI# *.DWS Dyalog APL Workspace 26b6cee71dSXin LI>>>1 byte 0x03 workspace 27b6cee71dSXin LI>>>>7 byte&0x28 0x00 32-bit 28b6cee71dSXin LI>>>>7 byte&0x28 0x20 64-bit 29b6cee71dSXin LI>>>>7 byte&0x0c 0x00 classic 30b6cee71dSXin LI>>>>7 byte&0x0c 0x04 unicode 31b6cee71dSXin LI>>>>7 byte&0x88 0x00 big-endian 32b6cee71dSXin LI>>>>7 byte&0x88 0x80 little-endian 33b6cee71dSXin LI>>>1 byte 0x06 external variable shared 34b6cee71dSXin LI# *.DSE Dyalog APL Session , *.DLF Dyalog APL Session Log File 35b6cee71dSXin LI>>>1 byte 0x07 session 36b6cee71dSXin LI>>>1 byte 0x08 mapped file 32-bit 37b6cee71dSXin LI>>>1 byte 0x09 component file 64-bit non-journaled non-checksummed 38b6cee71dSXin LI>>>1 byte 0x0a mapped file 64-bit 39b6cee71dSXin LI>>>1 byte 0x0b component file 32-bit level 1 journaled non-checksummed 40b6cee71dSXin LI>>>1 byte 0x0c component file 64-bit level 1 journaled non-checksummed 41b6cee71dSXin LI>>>1 byte 0x0d component file 32-bit level 1 journaled checksummed 42b6cee71dSXin LI>>>1 byte 0x0e component file 64-bit level 1 journaled checksummed 43b6cee71dSXin LI>>>1 byte 0x0f component file 32-bit level 2 journaled checksummed 44b6cee71dSXin LI>>>1 byte 0x10 component file 64-bit level 2 journaled checksummed 45b6cee71dSXin LI>>>1 byte 0x11 component file 32-bit level 3 journaled checksummed 46b6cee71dSXin LI>>>1 byte 0x12 component file 64-bit level 3 journaled checksummed 47b6cee71dSXin LI>>>1 byte 0x13 component file 32-bit non-journaled checksummed 48b6cee71dSXin LI>>>1 byte 0x14 component file 64-bit non-journaled checksummed 495f0216bdSXin LI>>>1 byte 0x15 component file under construction 505f0216bdSXin LI>>>1 byte 0x16 DFS component file 64-bit level 1 journaled checksummed 515f0216bdSXin LI>>>1 byte 0x17 DFS component file 64-bit level 2 journaled checksummed 525f0216bdSXin LI>>>1 byte 0x18 DFS component file 64-bit level 3 journaled checksummed 535f0216bdSXin LI>>>1 byte 0x19 external workspace 54b6cee71dSXin LI>>>1 byte 0x80 DDB 55b6cee71dSXin LI>>>2 byte x version %d 56b6cee71dSXin LI>>>3 byte x \b.%d 57b6cee71dSXin LI#>>>2 byte x type %d 58b6cee71dSXin LI#>>>3 byte x subtype %d 59b6cee71dSXin LI 60b6cee71dSXin LI# *.DXF Dyalog APL Transfer File 61b6cee71dSXin LI0 short 0x6060 Dyalog APL transfer 62