xref: /dflybsd-src/contrib/file/magic/Magdir/os2 (revision 739f0ef867128a933e021db3d831e906fcafd825)
1f72f8299SJan Lentfer
2327e51cbSPeter Avalos#------------------------------------------------------------------------------
3*3b9cdfa3SAntonio Huete Jimenez# $File: os2,v 1.14 2022/03/21 21:25:50 christos Exp $
4327e51cbSPeter Avalos# os2:  file(1) magic for OS/2 files
5327e51cbSPeter Avalos#
6327e51cbSPeter Avalos
7327e51cbSPeter Avalos# Provided 1998/08/22 by
8327e51cbSPeter Avalos# David Mediavilla <davidme.news@REMOVEIFNOTSPAMusa.net>
9c30bd091SSascha Wildner1	search/100	InternetShortcut	MS Windows 95 Internet shortcut text
10*3b9cdfa3SAntonio Huete Jimenez!:mime	application/x-mswinurl
11*3b9cdfa3SAntonio Huete Jimenez!:ext	url
12c30bd091SSascha Wildner>17	search/100	URL= 			(URL=<
13c30bd091SSascha Wildner>>&0	string		x			\b%s>)
14327e51cbSPeter Avalos
15327e51cbSPeter Avalos# OS/2 URL objects
16327e51cbSPeter Avalos# Provided 1998/08/22 by
17327e51cbSPeter Avalos# David Mediavilla <davidme.news@REMOVEIFNOTSPAMusa.net>
18327e51cbSPeter Avalos#0	string	http:			OS/2 URL object text
19327e51cbSPeter Avalos#>5	string	>\			(WWW) <http:%s>
20327e51cbSPeter Avalos#0	string	mailto:			OS/2 URL object text
21327e51cbSPeter Avalos#>7	string	>\			(email) <%s>
22327e51cbSPeter Avalos#0	string	news:			OS/2 URL object text
23327e51cbSPeter Avalos#>5	string	>\			(Usenet) <%s>
24327e51cbSPeter Avalos#0	string	ftp:			OS/2 URL object text
25327e51cbSPeter Avalos#>4	string	>\			(FTP) <ftp:%s>
26327e51cbSPeter Avalos#0	string	file:			OS/2 URL object text
27327e51cbSPeter Avalos#>5	string	>\			(Local file) <%s>
28327e51cbSPeter Avalos
29327e51cbSPeter Avalos# >>>>> OS/2 INF/HLP <<<<<  (source: Daniel Dissett ddissett@netcom.com)
30970935fdSSascha Wildner# URL:		http://fileformats.archiveteam.org/wiki/INF/HLP_(OS/2)
31970935fdSSascha Wildner# Reference:	http://www.edm2.com/0308/inf.html
32327e51cbSPeter Avalos# Carl Hauser (chauser.parc@xerox.com) and
33327e51cbSPeter Avalos# Marcus Groeber (marcusg@ph-cip.uni-koeln.de)
34327e51cbSPeter Avalos# list the following header format in inf02a.doc:
35327e51cbSPeter Avalos#
36327e51cbSPeter Avalos#  int16 ID;           // ID magic word (5348h = "HS")
37327e51cbSPeter Avalos#  int8  unknown1;     // unknown purpose, could be third letter of ID
38327e51cbSPeter Avalos#  int8  flags;        // probably a flag word...
39327e51cbSPeter Avalos#                      //  bit 0: set if INF style file
40327e51cbSPeter Avalos#                      //  bit 4: set if HLP style file
41327e51cbSPeter Avalos#                      // patching this byte allows reading HLP files
42327e51cbSPeter Avalos#                      // using the VIEW command, while help files
43327e51cbSPeter Avalos#                      // seem to work with INF settings here as well.
44327e51cbSPeter Avalos#  int16 hdrsize;      // total size of header
45327e51cbSPeter Avalos#  int16 unknown2;     // unknown purpose
46327e51cbSPeter Avalos#
47327e51cbSPeter Avalos0   string  HSP\x01\x9b\x00 OS/2 INF
48970935fdSSascha Wildner!:mime	application/x-os2-inf
49970935fdSSascha Wildner!:ext	inf
50327e51cbSPeter Avalos>107 string >0                      (%s)
51327e51cbSPeter Avalos0   string  HSP\x10\x9b\x00     OS/2 HLP
52970935fdSSascha Wildner!:mime	application/x-os2-hlp
53970935fdSSascha Wildner!:ext	hlp
54327e51cbSPeter Avalos>107 string >0                      (%s)
55327e51cbSPeter Avalos
56970935fdSSascha Wildner# From:		Joerg Jenderek
57970935fdSSascha Wildner# URL:		http://fileformats.archiveteam.org/wiki/MSG_(OS/2)
58970935fdSSascha Wildner# Reference:	https://github.com/OS2World/UTIL-SYSTEM-MKMSGF/blob/master/mkmsgf.h
59970935fdSSascha Wildner# Note:		created by MKMSGF.EXE. Text source can be recreated by E_MSGF
60970935fdSSascha Wildner#		example like OS001H.MSG
61970935fdSSascha Wildner0	string			\xffMKMSGF\0	OS/2 help message
62970935fdSSascha Wildner!:mime	application/x-os2-msg
63970935fdSSascha Wildner!:ext	msg
64970935fdSSascha Wildner# identifier[3] like: DOS NET REX SYS ...
65970935fdSSascha Wildner>8	string				x	'%.3s'
66970935fdSSascha Wildner# msgnumber: number of messages
67970935fdSSascha Wildner>11	uleshort			x	\b, %u messages
68970935fdSSascha Wildner# firstmsgnumber; number of the first message like: some times 0 often 1 169 1000 3502
69970935fdSSascha Wildner>13	uleshort      			>1	\b, 1st number %u
70970935fdSSascha Wildner# offset16bit; 1~Index table has 16-bit offsets (files<64k) 0~Index table has 32-bit offsets
71970935fdSSascha Wildner>15	ubyte				=0	\b, 32-bit
72970935fdSSascha Wildner#>15	ubyte				=1	\b, 16-bit
73970935fdSSascha Wildner# version; file version: 2~new 0~old
74970935fdSSascha Wildner>16	uleshort      			!2	\b, version %u
75970935fdSSascha Wildner# indextaboffset; offset of index table: 1F~after header 0~no index table for version 0?
76970935fdSSascha Wildner>18	uleshort			>0
77614728caSSascha Wildner>>18		uleshort		!0x1f	\b, at %#x index
78970935fdSSascha Wildner#	32-bit offset
79970935fdSSascha Wildner>>15		ubyte			=0
80970935fdSSascha Wildner# offset with message table
81614728caSSascha Wildner>>>(18.s)		ulelong		x	\b, at %#x
82970935fdSSascha Wildner# 1st message
83970935fdSSascha Wildner# http://www.os2museum.com/files/docs/os210ptk/os2-1.0-ptk-tools-1988.pdf
84970935fdSSascha Wildner# message type: E~Error H~Help I~Information P~Prompt W~Warning ?
85970935fdSSascha Wildner>>>>(&-4.l)		ubyte		x	%c-type
86970935fdSSascha Wildner>>>>>&0			string		x	%s
87970935fdSSascha Wildner#	16-bit offset
88970935fdSSascha Wildner>>15		ubyte			=1
89970935fdSSascha Wildner# msgnum; message number
90970935fdSSascha Wildner>>>(18.s)		uleshort	x	\b, number %u
91970935fdSSascha Wildner# msgindex; offset of message from begin of file
92614728caSSascha Wildner>>>(18.s+2)		uleshort	x	at %#x
93970935fdSSascha Wildner# message type E H I P W ?
94970935fdSSascha Wildner>>>>(&-2.s)		ubyte		x	%c-type
95970935fdSSascha Wildner# skip newline carriage return
96970935fdSSascha Wildner>>>>>&0			ubeshort	=0x0D0a
97970935fdSSascha Wildner>>>>>>&0		string		x	%s
98970935fdSSascha Wildner>>>>>&0			ubeshort	!0x0D0a
99970935fdSSascha Wildner>>>>>>&-2		string		x	%s
100970935fdSSascha Wildner#		for version 0 index table apparently at offset 1F
101970935fdSSascha Wildner>16	uleshort      			0
102970935fdSSascha Wildner>>15		ubyte			1
103970935fdSSascha Wildner# 1st message 16-bit
104614728caSSascha Wildner>>>0x1F			uleshort	x	\b, at %#x
105970935fdSSascha Wildner# message type: E~Error H~Help I~Information P~Prompt W~Warning ?
106970935fdSSascha Wildner>>>>(0x1F.s)		ubyte		x	%c-type
107970935fdSSascha Wildner>>>>>&0			string		x	%s
108970935fdSSascha Wildner# 2nd message 16-bit
109614728caSSascha Wildner>>>0x21			uleshort	x	\b, at %#x
110970935fdSSascha Wildner>>>>(0x21.s)		ubyte		x	%c-type
111970935fdSSascha Wildner>>>>>&0			string		x	%s
112970935fdSSascha Wildner# 3rd message 16-bit
113614728caSSascha Wildner>>>0x23			uleshort	x	\b, at %#x
114970935fdSSascha Wildner>>>>(0x23.s)		ubyte		x	%c-type
115970935fdSSascha Wildner>>>>>&0			string		x	%s
116970935fdSSascha Wildner#		version 0 32-bit
117970935fdSSascha Wildner>>15		ubyte			0
118970935fdSSascha Wildner# 1st message 32-bit
119614728caSSascha Wildner>>>0x1f			ulelong		x	\b, at %#x
120970935fdSSascha Wildner>>>>(0x1F.l)		ubyte		x	%c-type
121970935fdSSascha Wildner>>>>>&0			string		x	%s
122970935fdSSascha Wildner# 2nd message 32-bit
123614728caSSascha Wildner>>>0x23			ulelong		x	\b, at %#x
124970935fdSSascha Wildner>>>>(0x23.l)		ubyte		x	%c-type
125970935fdSSascha Wildner>>>>>&0			string		x	%s
126970935fdSSascha Wildner# 3rd message 32-bit
127614728caSSascha Wildner>>>0x27			ulelong		x	\b, AT %#x
128970935fdSSascha Wildner>>>>(0x27.l)		ubyte		x	 %c-type
129970935fdSSascha Wildner>>>>>&0			string		x	%s
130970935fdSSascha Wildner# countryinfo; offset of country info block: 0 for version 0
131614728caSSascha Wildner>20	uleshort			!0	\b, at %#x countryinfo
132970935fdSSascha Wildner# nextcoutryinfo
133614728caSSascha Wildner>>22		uleshort		>0	\b, at %#x next
134970935fdSSascha Wildner# reserved[5]; Must be 0
135614728caSSascha Wildner>>25	ulelong		!0		\b, RESERVED %#x
136970935fdSSascha Wildner>>(20.s) use				os2-msg-info
137970935fdSSascha Wildner#	display country info block of MKMSGF message file
138970935fdSSascha Wildner0	name		os2-msg-info
139970935fdSSascha Wildner# bytesperchar; bytes per char: 1~SBCS 2~DBCS
140970935fdSSascha Wildner>0	ubyte		>1		\b, %u bytes/char
141970935fdSSascha Wildner# reserved; Not known
142614728caSSascha Wildner>1	uleshort	!0		\b, reserved %#x
143970935fdSSascha Wildner# langfamilyID; language family ID like: 0~? 1~Arabic ... 7~German ... 9~English  ... 34~Slovene
144970935fdSSascha Wildner>3	uleshort	>0		\b, language %u
145970935fdSSascha Wildner# langversionID; like: 7_1~German 7_2~Swiss German 12_1~French 12_3~Canadian French
146970935fdSSascha Wildner>>5	uleshort	x		\b_%u
147970935fdSSascha Wildner# langfamilyID too high. This should not happen
148970935fdSSascha Wildner>3	uleshort	>34		(invalid language)
149970935fdSSascha Wildner# codepagesnumber; number of codepages like: 1 2 ... 16
150970935fdSSascha Wildner>7	uleshort	x		\b, %u code page
151970935fdSSascha Wildner# plural s
152970935fdSSascha Wildner>7	uleshort	>1		\bs
153970935fdSSascha Wildner# too many number of codepages. This should not happen
154970935fdSSascha Wildner>7	uleshort	>16		(Too many)
155970935fdSSascha Wildner# codepages[16]; codepages list like 437 850 ...
156970935fdSSascha Wildner>7	uleshort	<17
157970935fdSSascha Wildner# 1st code page
158970935fdSSascha Wildner>>9	uleshort	>0		%u
159970935fdSSascha Wildner# possible 2nd code page number
160970935fdSSascha Wildner>>>7	uleshort	>1
161970935fdSSascha Wildner>>>>11	uleshort	x		%u
162970935fdSSascha Wildner# filename[260]; name of file like: dbaseos2.msg dde4c01e.msg os2ldr.mgr xdfh.msg ...
163970935fdSSascha Wildner>41	string		x	 	\b, %s
164970935fdSSascha Wildner
165327e51cbSPeter Avalos# OS/2 INI (this is a guess)
166327e51cbSPeter Avalos0  string   \xff\xff\xff\xff\x14\0\0\0  OS/2 INI
167970935fdSSascha Wildner!:mime	application/x-os2-ini
168970935fdSSascha Wildner!:ext	ini
169970935fdSSascha Wildner
170614728caSSascha Wildner# From:		Joerg Jenderek
171614728caSSascha Wildner# URL:		http://warpin.netlabs.org/
172614728caSSascha Wildner# Reference:    http://mark0.net/download/triddefs_xml.7z/defs/a/ark-wpi.trid.xml
173614728caSSascha Wildner# Note:		called by TrID "WarpIN Installer"
174614728caSSascha Wildner# probably magic at the beginning
175614728caSSascha Wildner0	ubelong		=0x770402BE	WarpIN Installer
176614728caSSascha Wildner#>4	ubelong		=0x03000000
177614728caSSascha Wildner#!:mime	application/octet-stream
178614728caSSascha Wildner!:mime	application/x-os2-wpi
179614728caSSascha Wildner!:ext	wpi
180614728caSSascha Wildner# creator program name like: "reserved" or "WIC x.y.z"
181614728caSSascha Wildner>0x106	string		x		\b, created by %s
182614728caSSascha Wildner# name like: "reserved" or "OS/2 Netlabs"
183614728caSSascha Wildner>0x146	string		x		\b, '%s'
184614728caSSascha Wildner# name like: "N/A" "http://warpin.netlabs.org"
185614728caSSascha Wildner>0x186	string		x		\b, URL %s
186614728caSSascha Wildner
187