186d7f5d3SJohn Marino 286d7f5d3SJohn Marino#------------------------------------------------------------------------------ 386d7f5d3SJohn Marino# $File: os400,v 1.5 2009/09/19 16:28:11 christos Exp $ 486d7f5d3SJohn Marino# os400: file(1) magic for IBM OS/400 files 586d7f5d3SJohn Marino# 686d7f5d3SJohn Marino# IBM OS/400 (i5/OS) Save file (SAVF) - gerardo.cacciari@gmail.com 786d7f5d3SJohn Marino# In spite of its quite variable format (due to internal memory page 886d7f5d3SJohn Marino# length differences between CISC and RISC versions of the OS) the 986d7f5d3SJohn Marino# SAVF structure hasn't suitable offsets to identify the catalog 1086d7f5d3SJohn Marino# header in the first descriptor where there are some useful infos, 1186d7f5d3SJohn Marino# so we must search in a somewhat large area for a particular string 1286d7f5d3SJohn Marino# that represents the EBCDIC encoding of 'QSRDSSPC' (save/restore 1386d7f5d3SJohn Marino# descriptor space) preceded by a two byte constant. 1486d7f5d3SJohn Marino# 1586d7f5d3SJohn Marino1090 search/7393 \x19\xDB\xD8\xE2\xD9\xC4\xE2\xE2\xD7\xC3 IBM OS/400 save file data 1686d7f5d3SJohn Marino>&212 byte 0x01 \b, created with SAVOBJ 1786d7f5d3SJohn Marino>&212 byte 0x02 \b, created with SAVLIB 1886d7f5d3SJohn Marino>&212 byte 0x07 \b, created with SAVCFG 1986d7f5d3SJohn Marino>&212 byte 0x08 \b, created with SAVSECDTA 2086d7f5d3SJohn Marino>&212 byte 0x0A \b, created with SAVSECDTA 2186d7f5d3SJohn Marino>&212 byte 0x0B \b, created with SAVDLO 2286d7f5d3SJohn Marino>&212 byte 0x0D \b, created with SAVLICPGM 2386d7f5d3SJohn Marino>&212 byte 0x11 \b, created with SAVCHGOBJ 2486d7f5d3SJohn Marino>&213 byte 0x44 \b, at least V5R4 to open 2586d7f5d3SJohn Marino>&213 byte 0x43 \b, at least V5R3 to open 2686d7f5d3SJohn Marino>&213 byte 0x42 \b, at least V5R2 to open 2786d7f5d3SJohn Marino>&213 byte 0x41 \b, at least V5R1 to open 2886d7f5d3SJohn Marino>&213 byte 0x40 \b, at least V4R5 to open 2986d7f5d3SJohn Marino>&213 byte 0x3F \b, at least V4R4 to open 3086d7f5d3SJohn Marino>&213 byte 0x3E \b, at least V4R3 to open 3186d7f5d3SJohn Marino>&213 byte 0x3C \b, at least V4R2 to open 3286d7f5d3SJohn Marino>&213 byte 0x3D \b, at least V4R1M4 to open 3386d7f5d3SJohn Marino>&213 byte 0x3B \b, at least V4R1 to open 3486d7f5d3SJohn Marino>&213 byte 0x3A \b, at least V3R7 to open 3586d7f5d3SJohn Marino>&213 byte 0x35 \b, at least V3R6 to open 3686d7f5d3SJohn Marino>&213 byte 0x36 \b, at least V3R2 to open 3786d7f5d3SJohn Marino>&213 byte 0x34 \b, at least V3R1 to open 3886d7f5d3SJohn Marino>&213 byte 0x31 \b, at least V3R0M5 to open 3986d7f5d3SJohn Marino>&213 byte 0x30 \b, at least V2R3 to open 40