1226048Sobrien 268349Sobrien#------------------------------------------------------------------------------ 3267843Sdelphij# $File: convex,v 1.8 2012/10/03 23:44:43 christos Exp $ 468349Sobrien# convex: file(1) magic for Convex boxes 568349Sobrien# 668349Sobrien# Convexes are big-endian. 768349Sobrien# 868349Sobrien# /*\ 968349Sobrien# * Below are the magic numbers and tests added for Convex. 1068349Sobrien# * Added at beginning, because they are expected to be used most. 1168349Sobrien# \*/ 1268349Sobrien0 belong 0507 Convex old-style object 1368349Sobrien>16 belong >0 not stripped 1468349Sobrien0 belong 0513 Convex old-style demand paged executable 1568349Sobrien>16 belong >0 not stripped 1668349Sobrien0 belong 0515 Convex old-style pre-paged executable 1768349Sobrien>16 belong >0 not stripped 1868349Sobrien0 belong 0517 Convex old-style pre-paged, non-swapped executable 1968349Sobrien>16 belong >0 not stripped 2068349Sobrien0 belong 0x011257 Core file 2168349Sobrien# 2268349Sobrien# The following are a series of dump format magic numbers. Each one 2368349Sobrien# corresponds to a drastically different dump format. The first on is 2468349Sobrien# the original dump format on a 4.1 BSD or earlier file system. The 2568349Sobrien# second marks the change between the 4.1 file system and the 4.2 file 2668349Sobrien# system. The Third marks the changing of the block size from 1K 2768349Sobrien# to 2K to be compatible with an IDC file system. The fourth indicates 2868349Sobrien# a dump that is dependent on Convex Storage Manager, because data in 2968349Sobrien# secondary storage is not physically contained within the dump. 3068349Sobrien# The restore program uses these number to determine how the data is 3168349Sobrien# to be extracted. 3268349Sobrien# 3368349Sobrien24 belong =60013 dump format, 4.2 or 4.3 BSD (IDC compatible) 3468349Sobrien24 belong =60014 dump format, Convex Storage Manager by-reference dump 3568349Sobrien# 3668349Sobrien# what follows is a bunch of bit-mask checks on the flags field of the opthdr. 3768349Sobrien# If there is no `=' sign, assume just checking for whether the bit is set? 3868349Sobrien# 3968349Sobrien0 belong 0601 Convex SOFF 4068349Sobrien>88 belong&0x000f0000 =0x00000000 c1 4168349Sobrien>88 belong &0x00010000 c2 4268349Sobrien>88 belong &0x00020000 c2mp 4368349Sobrien>88 belong &0x00040000 parallel 4468349Sobrien>88 belong &0x00080000 intrinsic 4568349Sobrien>88 belong &0x00000001 demand paged 4668349Sobrien>88 belong &0x00000002 pre-paged 4768349Sobrien>88 belong &0x00000004 non-swapped 4868349Sobrien>88 belong &0x00000008 POSIX 4968349Sobrien# 5068349Sobrien>84 belong &0x80000000 executable 5168349Sobrien>84 belong &0x40000000 object 5268349Sobrien>84 belong&0x20000000 =0 not stripped 5368349Sobrien>84 belong&0x18000000 =0x00000000 native fpmode 5468349Sobrien>84 belong&0x18000000 =0x10000000 ieee fpmode 5568349Sobrien>84 belong&0x18000000 =0x18000000 undefined fpmode 5668349Sobrien# 5768349Sobrien0 belong 0605 Convex SOFF core 5868349Sobrien# 5968349Sobrien0 belong 0607 Convex SOFF checkpoint 6068349Sobrien>88 belong&0x000f0000 =0x00000000 c1 6168349Sobrien>88 belong &0x00010000 c2 6268349Sobrien>88 belong &0x00020000 c2mp 6368349Sobrien>88 belong &0x00040000 parallel 6468349Sobrien>88 belong &0x00080000 intrinsic 6568349Sobrien>88 belong &0x00000008 POSIX 6668349Sobrien# 6768349Sobrien>84 belong&0x18000000 =0x00000000 native fpmode 6868349Sobrien>84 belong&0x18000000 =0x10000000 ieee fpmode 6968349Sobrien>84 belong&0x18000000 =0x18000000 undefined fpmode 70