Skip to content
Ilia Maslakov edited this page Aug 30, 2026 · 8 revisions

mcstruct: shipped def-files

Every def-file below is in src/panel-plugins/mcstruct/data/ and is found by the signature or name pattern in stl.als. They are part of mc and come under the GPL-3.0-or-later. Most were written after the format descriptions of the Kaitai Struct formats gallery (the "source" column names the .ksy); data/NOTICE credits those sources. A "partial" file shows the part of the format that STL5 can describe today.

def-file source notes
aix_utmp.stl log/aix_utmp
allegro_dat.stl game/allegro_dat
amlogic_mpt.stl filesystem/amlogic_emmc_partitions
andes_fw.stl firmware/andes_firmware
android_dto.stl archive/android_dto
android_img.stl archive/android_img
android_super.stl filesystem/android_super
apm.stl filesystem/apm_partition_table
applesd.stl filesystem/apple_single_double
asn1_der.stl serialization/asn1/asn1_der
asus_bootldr.stl archive/android_bootldr_asus
au.stl media/au
avantes_roh60.stl scientific/spectroscopy/avantes_roh60
avi.stl media/avi + common/riff
bitcoin_tx.stl network/bitcoin_transaction
blend.stl media/blender_blend
bson.stl serialization/bson
btrfs_stream.stl filesystem/btrfs_stream
cfb.stl serialization/microsoft_cfb
chg.stl cad/monomakh_sapr_chg
chrome_pak.stl serialization/chrome_pak
cpio_old.stl archive/cpio_old_le
cramfs.stl filesystem/cramfs
dcx.stl image/pcx_dcx
dex.stl executable/dex
dicom.stl image/dicom
dime.stl network/dime_message
dns.stl network/dns_packet
dune2_pak.stl game/dune_2_pak
edid.stl hardware/edid
efi_siglist.stl security/efivar_signature_list
ether.stl network/ethernet_frame + ipv4_packet + ipv6_packet + tcp_segment + udp_datagram
exif.stl image/exif
ext2.stl filesystem/ext2
fallout2_dat.stl game/fallout2_dat
fallout_dat.stl game/fallout_dat
ftl_dat.stl game/ftl_dat
gbr.stl image/gimp_brush
gif.stl image/gif
glb.stl 3d/gltf_binary
glshaders.stl media/android_opengl_shaders_cache
gpt.stl filesystem/gpt_partition_table
gt_vol.stl game/gran_turismo_vol
gzip.stl archive/gzip
hashcat_restore.stl log/hashcat_restore
hccap.stl network/hccap
hccapx.stl network/hccapx
heaps_pak.stl game/heaps_pak
homm_agg.stl game/heroes_of_might_and_magic_agg
homm_bmp.stl game/heroes_of_might_and_magic_bmp
huawei_bootldr.stl archive/android_bootldr_huawei
icc.stl image/icc_4
icmp.stl network/icmp_packet
ico.stl image/ico
id3v1.stl media/id3v1_1
id3v2.stl media/id3v2_3 + id3v2_4
ines.stl firmware/ines
iso9660.stl filesystem/iso9660
ivf.stl media/vp8_duck_ivf
java_class.stl executable/java_class
journal.stl log/systemd_journal
lnk.stl windows/windows_lnk_file
luks.stl filesystem/luks
lvm2.stl LVM2 sources
lzh.stl archive/lzh
macho.stl executable/mach_o
macho_fat.stl executable/mach_o_fat
mar.stl archive/mozilla_mar
mcap.stl log/mcap
md2.stl game/quake2_md2
mdl.stl game/quake_mdl
midi.stl media/standard_midi_file
minidump.stl windows/windows_minidump
mo.stl database/gettext_mo
mov.stl media/quicktime_mov
nanoapp.stl executable/android_nanoapp_header
nt_mdt_pal.stl scientific/nt_mdt/nt_mdt_pal
ogg.stl media/ogg
op2.stl media/genmidi_op2
openpgp.stl security/openpgp_message
pak.stl game/quake_pak
pcap.stl network/pcap
pcf.stl font/pcf_font
pcx.stl image/pcx
pff2.stl font/grub2_font
pif.stl image/pif
ppi.stl network/packet_ppi
protobuf.stl serialization/google_protobuf + common/vlq_base128_le
pyc27.stl executable/python_pyc_27
qcom_bootldr.stl archive/android_bootldr_qcom
rar.stl archive/rar
regf.stl windows/regf
respack.stl archive/respack
rpm.stl archive/rpm
rsrc.stl macos/resource_fork
rtcp.stl network/rtcp_payload
rtp.stl network/rtp_packet
rtpdump.stl network/rtpdump
rwstream.stl game/renderware_binary_stream
shell_items.stl windows/windows_shell_items
shx.stl geospatial/shapefile_index
snd.stl macos/mac_os_resource_snd
some_ip.stl network/some_ip/* (5 files)
sparse.stl archive/android_sparse
specpr.stl scientific/spectroscopy/specpr
ssh_pubkey.stl security/ssh_public_key
stl3d.stl media/stl
sudoers_ts.stl log/sudoers_ts
swf.stl executable/swf
systemtime.stl windows/windows_systemtime
tga.stl image/tga
tim.stl image/psx_tim
tls_hello.stl network/tls_client_hello
trdos.stl filesystem/tr_dos_image
trx.stl firmware/broadcom_trx
tsm.stl database/tsm
ttf.stl font/ttf
uefi_te.stl executable/uefi_te
utmp.stl log/glibc_utmp
vdi.stl filesystem/vdi
vmdk.stl filesystem/vmware_vmdk
voc.stl media/creative_voice_file
vox.stl media/magicavoxel_vox
vpp.stl game/saints_row_2_vpp_pc
wad.stl game/doom_wad
websocket.stl network/websocket
winres.stl windows/windows_resource_file
wmf.stl image/wmf
xar.stl archive/xar
xm.stl media/tracker_modules/fasttracker_xm_module
xwd.stl image/xwd
zisofs.stl archive/zisofs
zx_tap.stl filesystem/zx_spectrum_tap

Shipped before the port, not in the gallery table: zip, exe (PE), elf, dbf, mbr, fat_boot, uimage, dtb, png, bmp, wav, sqlite.

Not ported

format source why
dcmp_0/1/2 macos/resource_compression/* blocked: decompression algorithms, not structures-like)
helpers common/bytes_with_io, vlq_base128_be/le, utf16_with_bom, utf8_string, dos_datetime, bcd n/a: building blocks, not formats: v, vl, td, s16 cover them
msgpack serialization/msgpack blocked: recursive value tree with no fixed layout
nitf image/nitf deferred: 823-line fixed-width text header; nothing missing in the language, not done yet
nt_mdt scientific/nt_mdt/nt_mdt deferred: 789-line frame catalogue; nothing missing in the language, not done yet
php_serialized serialization/php_serialized_value blocked: text grammar with decimal lengths
protocol_body network/protocol_body covered: TCP/UDP/ICMP selection is inside ether.stl
python_pickle serialization/python_pickle blocked: opcode stream with a stack, not a structure
ruby_marshal serialization/ruby_marshal blocked: recursive value tree
zchunk archive/zchunk blocked: compressed integers with an inverted continuation bit (neither v nor vl)

Clone this wiki locally