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