
#------------------------------------------------------------------------------
# $File: magic,v 1.12 2024/06/10 23:09:52 christos Exp $
# magic:  file(1) magic for magic files
#
# Update:	Joerg Jenderek
# skip Magicsee_R1.cfg found on retropie starting with # Magicsee R1 one-handed controller
0	string/t		#\ Magic\ 	magic text file for file(1) cmd
#!:mime	text/plain
!:mime	text/x-file
# no suffix in ../Header
!:ext	/
# 
# some (34/339) samples start with a comment line
0	ubyte		=0x23
# some (28/339) samples start with separator line (about 78 minus characters) like:
# archive arm assembler beetle c-lang clojure compress der filesystems firmware gentoo lammps
# m4 mail.news make marc21 music parrot pascal pc88 pc98 perl ringdove tcl varied.script webassembly x68000 zfs
>4	string		--------
# skip scripts fse.sed stage1.sed constants.pxi gotmail.awk from fetchmail package by
# searching for reference to man page file(1) {lammps v 1.1} or file (1) {muscic v 1.1}
>>12	search/180	(1)
>>>0	use		magic-fragment
# few (6/339) samples with 1st comment line and without separator comment line
# like: blcr bsi selinux sisu ssh svf
>4	default		x
# few sample with 1st comment line and without seperator comment line and regular expression like: sisu
>>1	search/112	regex\x09
>>>0	use		magic-fragment
>>1	default		x
# few samples with 1st comment line and without seperator comment line and string value like:
# blcr bsi selinux ssh (file 3.34) digital gnu wordperfect
>>>1	search/471	string\x09
>>>>0	use		magic-fragment
>>>1	default		x
# few samples with 1st comment line and without seperator comment line and short value like:
# (file 3.34) os9 osf1
>>>>1	search/1716	short\x09
>>>>>0	use		magic-fragment
# but many samples start with an empty first line
0	ubyte		=0x0A
# many samples start with separator comment line
>4	string		--------
# skip some MS-DOS C source text {EMSINIT.INC MEM.C RESTPARS.C RTDO.C RTDO1.C RTFILE.C RTFILE1.C RTNEW.C RTNEW1.C RTOLD.C RTOLD1.C RTT1.C RTT3.C}
# and match many fragments by looking for Revision Control System keyword near the beginning
>>1	search/128	$File
>>>0	use		magic-fragment
# few samples {ctf (2022-03-26) msx (2021-06-30) nasa (2021-02-23) symbos (2021-02-23) weak (2021-02-23)}
# with 1st empty line, separator comment line and without Revision Control System keyword but with reference to man page file(1)
>>1	default		x
>>>1	search/180	file(1)
>>>>0	use		magic-fragment
>>>1	default		x
# sample aria (2021-12-24) with 1st empty line, separator comment line and without Revision Control System keyword and without reference to man page file(1) 
>>>>1	search/1024	\041:mime
>>>>>0	use		magic-fragment
# few samples with 1st empty line and without separator comment line like: biosig (2021-02-23) espressif (v 1.3)
>4	default		x
>>1	search/581	\041:mime
>>>0	use		magic-fragment
#	display information (lines) about magic text fragment
0	name		magic-fragment
>0	string		x		magic text fragment for file(1) cmd
!:mime	text/x-file
# most without suffix but mail.news varied.out varied.script
!:ext	/news/out/script
# next lines are mainly for control reasons
# some (34/339) samples start with comment line
>0	ubyte		!0x0A
>>0	string		x		\b, 1st line "%s"
>>>&1	string		x		\b, 2nd line "%s"
# show more information to see difference between fragments and misidentfied scripts
>>>>&1	string		x		\b, 3rd line "%s"
>>>>>&1	string		x		\b, 4th line "%s"
>>>>>>&1 string		x		\b, 5th line "%s"
# but most (305/339) samples start with an empty first line
>0	ubyte		=0x0A
>>1	string		x		\b, 2nd line "%s"
>>>&1	string		x		\b, 3rd line "%s"
# show more information to see difference between fragments and misidentfied scripts
>>>>&1	string		x		\b, 4th line "%s"
>>>>>&1	string		x		\b, 5th line "%s"
#
# URL:		http://en.wikipedia.org/wiki/File_(command)
# Reference:	http://mark0.net/download/triddefs_xml.7z/defs/m/mgc.trid.xml
# Note:		called "magic compiled data (LE)" by TrID
0	lelong		0xF11E041C	magic binary file for file(1) cmd
#!:mime	application/octet-stream
!:mime application/x-file
!:ext	mgc
>4	lelong		x		(version %d) (little endian)
# Reference:	http://mark0.net/download/triddefs_xml.7z/defs/m/mgc-be.trid.xml
# Note:		called "magic compiled data (BE)" by TrID
0	belong		0xF11E041C	magic binary file for file(1) cmd
#!:mime	application/octet-stream
!:mime application/x-file
!:ext	mgc
>4	belong		x		(version %d) (big endian)
