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