xref: /freebsd/contrib/file/magic/Magdir/os400 (revision 246e7a2b6494cd991b08ac669ed761ecea0cc98c)
1*b6cee71dSXin LI
2*b6cee71dSXin LI#------------------------------------------------------------------------------
3*b6cee71dSXin LI# $File: os400,v 1.5 2009/09/19 16:28:11 christos Exp $
4*b6cee71dSXin LI# os400:  file(1) magic for IBM OS/400 files
5*b6cee71dSXin LI#
6*b6cee71dSXin LI# IBM OS/400 (i5/OS) Save file (SAVF) - gerardo.cacciari@gmail.com
7*b6cee71dSXin LI# In spite of its quite variable format (due to internal memory page
8*b6cee71dSXin LI# length differences between CISC and RISC versions of the OS) the
9*b6cee71dSXin LI# SAVF structure hasn't suitable offsets to identify the catalog
10*b6cee71dSXin LI# header in the first descriptor where there are some useful infos,
11*b6cee71dSXin LI# so we must search in a somewhat large area for a particular string
12*b6cee71dSXin LI# that represents the EBCDIC encoding of 'QSRDSSPC' (save/restore
13*b6cee71dSXin LI# descriptor space) preceded by a two byte constant.
14*b6cee71dSXin LI#
15*b6cee71dSXin LI1090	 search/7393	\x19\xDB\xD8\xE2\xD9\xC4\xE2\xE2\xD7\xC3 IBM OS/400 save file data
16*b6cee71dSXin LI>&212	 byte		0x01			 \b, created with SAVOBJ
17*b6cee71dSXin LI>&212	 byte		0x02			 \b, created with SAVLIB
18*b6cee71dSXin LI>&212	 byte		0x07			 \b, created with SAVCFG
19*b6cee71dSXin LI>&212	 byte		0x08			 \b, created with SAVSECDTA
20*b6cee71dSXin LI>&212	 byte		0x0A			 \b, created with SAVSECDTA
21*b6cee71dSXin LI>&212	 byte		0x0B			 \b, created with SAVDLO
22*b6cee71dSXin LI>&212	 byte		0x0D			 \b, created with SAVLICPGM
23*b6cee71dSXin LI>&212	 byte		0x11			 \b, created with SAVCHGOBJ
24*b6cee71dSXin LI>&213	 byte		0x44			 \b, at least V5R4 to open
25*b6cee71dSXin LI>&213	 byte		0x43			 \b, at least V5R3 to open
26*b6cee71dSXin LI>&213	 byte		0x42			 \b, at least V5R2 to open
27*b6cee71dSXin LI>&213	 byte		0x41			 \b, at least V5R1 to open
28*b6cee71dSXin LI>&213	 byte		0x40			 \b, at least V4R5 to open
29*b6cee71dSXin LI>&213	 byte		0x3F			 \b, at least V4R4 to open
30*b6cee71dSXin LI>&213	 byte		0x3E			 \b, at least V4R3 to open
31*b6cee71dSXin LI>&213	 byte		0x3C			 \b, at least V4R2 to open
32*b6cee71dSXin LI>&213	 byte		0x3D			 \b, at least V4R1M4 to open
33*b6cee71dSXin LI>&213	 byte		0x3B			 \b, at least V4R1 to open
34*b6cee71dSXin LI>&213	 byte		0x3A			 \b, at least V3R7 to open
35*b6cee71dSXin LI>&213	 byte		0x35			 \b, at least V3R6 to open
36*b6cee71dSXin LI>&213	 byte		0x36			 \b, at least V3R2 to open
37*b6cee71dSXin LI>&213	 byte		0x34			 \b, at least V3R1 to open
38*b6cee71dSXin LI>&213	 byte		0x31			 \b, at least V3R0M5 to open
39*b6cee71dSXin LI>&213	 byte		0x30			 \b, at least V2R3 to open
40