xref: /freebsd/contrib/file/magic/Magdir/hp (revision fed1ca4b719c56c930f2259d80663cd34be812bb)
1
2#------------------------------------------------------------------------------
3# $File: hp,v 1.24 2014/04/30 21:41:02 christos Exp $
4# hp:  file(1) magic for Hewlett Packard machines (see also "printer")
5#
6# XXX - somebody should figure out whether any byte order needs to be
7# applied to the "TML" stuff; I'm assuming the Apollo stuff is
8# big-endian as it was mostly 68K-based.
9#
10# I think the 500 series was the old stack-based machines, running a
11# UNIX environment atop the "SUN kernel"; dunno whether it was
12# big-endian or little-endian.
13#
14# Daniel Quinlan (quinlan@yggdrasil.com): hp200 machines are 68010 based;
15# hp300 are 68020+68881 based; hp400 are also 68k.  The following basic
16# HP magic is useful for reference, but using "long" magic is a better
17# practice in order to avoid collisions.
18#
19# Guy Harris (guy@netapp.com): some additions to this list came from
20# HP-UX 10.0's "/usr/include/sys/unistd.h" (68030, 68040, PA-RISC 1.1,
21# 1.2, and 2.0).  The 1.2 and 2.0 stuff isn't in the HP-UX 10.0
22# "/etc/magic", though, except for the "archive file relocatable library"
23# stuff, and the 68030 and 68040 stuff isn't there at all - are they not
24# used in executables, or have they just not yet updated "/etc/magic"
25# completely?
26#
27# 0	beshort		200		hp200 (68010) BSD binary
28# 0	beshort		300		hp300 (68020+68881) BSD binary
29# 0	beshort		0x20c		hp200/300 HP-UX binary
30# 0	beshort		0x20d		hp400 (68030) HP-UX binary
31# 0	beshort		0x20e		hp400 (68040?) HP-UX binary
32# 0	beshort		0x20b		PA-RISC1.0 HP-UX binary
33# 0	beshort		0x210		PA-RISC1.1 HP-UX binary
34# 0	beshort		0x211		PA-RISC1.2 HP-UX binary
35# 0	beshort		0x214		PA-RISC2.0 HP-UX binary
36
37#
38# The "misc" stuff needs a byte order; the archives look suspiciously
39# like the old 177545 archives (0xff65 = 0177545).
40#
41#### Old Apollo stuff
420	beshort		0627		Apollo m68k COFF executable
43>18	beshort		^040000		not stripped
44>22	beshort		>0		- version %d
450	beshort		0624		apollo a88k COFF executable
46>18	beshort		^040000		not stripped
47>22	beshort		>0		- version %d
480       long            01203604016     TML 0123 byte-order format
490       long            01702407010     TML 1032 byte-order format
500       long            01003405017     TML 2301 byte-order format
510       long            01602007412     TML 3210 byte-order format
52#### PA-RISC 1.1
530	belong 		0x02100106	PA-RISC1.1 relocatable object
540	belong 		0x02100107	PA-RISC1.1 executable
55>168	belong		&0x00000004	dynamically linked
56>(144)	belong		0x054ef630	dynamically linked
57>96	belong		>0		- not stripped
58
590	belong 		0x02100108	PA-RISC1.1 shared executable
60>168	belong&0x4	0x4		dynamically linked
61>(144)	belong		0x054ef630	dynamically linked
62>96	belong		>0		- not stripped
63
640	belong 		0x0210010b	PA-RISC1.1 demand-load executable
65>168	belong&0x4	0x4		dynamically linked
66>(144)	belong		0x054ef630	dynamically linked
67>96	belong		>0		- not stripped
68
690	belong 		0x0210010e	PA-RISC1.1 shared library
70>96	belong		>0		- not stripped
71
720	belong 		0x0210010d	PA-RISC1.1 dynamic load library
73>96	belong		>0		- not stripped
74
75#### PA-RISC 2.0
760	belong		0x02140106	PA-RISC2.0 relocatable object
77
780       belong		0x02140107	PA-RISC2.0 executable
79>168	belong		&0x00000004	dynamically linked
80>(144)	belong		0x054ef630	dynamically linked
81>96	belong		>0		- not stripped
82
830       belong		0x02140108	PA-RISC2.0 shared executable
84>168	belong		&0x00000004	dynamically linked
85>(144)	belong		0x054ef630	dynamically linked
86>96	belong		>0		- not stripped
87
880       belong		0x0214010b	PA-RISC2.0 demand-load executable
89>168	belong		&0x00000004	dynamically linked
90>(144)	belong		0x054ef630	dynamically linked
91>96	belong		>0		- not stripped
92
930       belong		0x0214010e	PA-RISC2.0 shared library
94>96	belong		>0		- not stripped
95
960       belong		0x0214010d	PA-RISC2.0 dynamic load library
97>96	belong		>0		- not stripped
98
99#### 800
1000	belong 		0x020b0106	PA-RISC1.0 relocatable object
101
1020	belong 		0x020b0107	PA-RISC1.0 executable
103>168	belong&0x4	0x4		dynamically linked
104>(144)	belong		0x054ef630	dynamically linked
105>96	belong		>0		- not stripped
106
1070	belong 		0x020b0108	PA-RISC1.0 shared executable
108>168	belong&0x4	0x4		dynamically linked
109>(144)	belong		0x054ef630	dynamically linked
110>96	belong		>0		- not stripped
111
1120	belong 		0x020b010b	PA-RISC1.0 demand-load executable
113>168	belong&0x4	0x4		dynamically linked
114>(144)	belong		0x054ef630	dynamically linked
115>96	belong		>0		- not stripped
116
1170	belong 		0x020b010e	PA-RISC1.0 shared library
118>96	belong		>0		- not stripped
119
1200	belong 		0x020b010d	PA-RISC1.0 dynamic load library
121>96	belong		>0		- not stripped
122
1230	belong		0x213c6172	archive file
124>68	belong 		0x020b0619	- PA-RISC1.0 relocatable library
125>68	belong	 	0x02100619	- PA-RISC1.1 relocatable library
126>68	belong 		0x02110619	- PA-RISC1.2 relocatable library
127>68	belong 		0x02140619	- PA-RISC2.0 relocatable library
128
129#### 500
1300	long		0x02080106	HP s500 relocatable executable
131>16	long		>0		- version %d
132
1330	long		0x02080107	HP s500 executable
134>16	long		>0		- version %d
135
1360	long		0x02080108	HP s500 pure executable
137>16	long		>0		- version %d
138
139#### 200
1400	belong 		0x020c0108	HP s200 pure executable
141>4	beshort		>0		- version %d
142>8	belong		&0x80000000	save fp regs
143>8	belong		&0x40000000	dynamically linked
144>8	belong		&0x20000000	debuggable
145>36	belong		>0		not stripped
146
1470	belong		0x020c0107	HP s200 executable
148>4	beshort		>0		- version %d
149>8	belong		&0x80000000	save fp regs
150>8	belong		&0x40000000	dynamically linked
151>8	belong		&0x20000000	debuggable
152>36	belong		>0		not stripped
153
1540	belong		0x020c010b	HP s200 demand-load executable
155>4	beshort		>0		- version %d
156>8	belong		&0x80000000	save fp regs
157>8	belong		&0x40000000	dynamically linked
158>8	belong		&0x20000000	debuggable
159>36	belong		>0		not stripped
160
1610	belong		0x020c0106	HP s200 relocatable executable
162>4	beshort		>0		- version %d
163>6	beshort		>0		- highwater %d
164>8	belong		&0x80000000	save fp regs
165>8	belong		&0x20000000	debuggable
166>8	belong		&0x10000000	PIC
167
1680	belong 		0x020a0108	HP s200 (2.x release) pure executable
169>4	beshort		>0		- version %d
170>36	belong		>0		not stripped
171
1720	belong		0x020a0107	HP s200 (2.x release) executable
173>4	beshort		>0		- version %d
174>36	belong		>0		not stripped
175
1760	belong		0x020c010e	HP s200 shared library
177>4	beshort		>0		- version %d
178>6	beshort		>0		- highwater %d
179>36	belong		>0		not stripped
180
1810	belong		0x020c010d	HP s200 dynamic load library
182>4	beshort		>0		- version %d
183>6	beshort		>0		- highwater %d
184>36	belong		>0		not stripped
185
186#### MISC
1870	long		0x0000ff65	HP old archive
1880	long		0x020aff65	HP s200 old archive
1890	long		0x020cff65	HP s200 old archive
1900	long		0x0208ff65	HP s500 old archive
191
1920	long		0x015821a6	HP core file
193
1940	long		0x4da7eee8	HP-WINDOWS font
195>8	byte		>0		- version %d
1960	string		Bitmapfile	HP Bitmapfile
197
1980	string		IMGfile	CIS 	compimg HP Bitmapfile
199# XXX - see "lif"
200#0	short		0x8000		lif file
2010	long		0x020c010c	compiled Lisp
202
2030	string		msgcat01	HP NLS message catalog,
204>8	long		>0		%d messages
205
206# Summary: HP-48/49 calculator
207# Created by: phk@data.fls.dk
208# Modified by (1): AMAKAWA Shuhei <sa264@cam.ac.uk>
209# Modified by (2): Samuel Thibault <samuel.thibault@ens-lyon.org> (HP49 support)
2100	string		HPHP		HP
211>4	string		48		48 binary
212>4	string		49		49 binary
213>7	byte		>64		- Rev %c
214>8	leshort		0x2911		(ADR)
215>8	leshort		0x2933		(REAL)
216>8	leshort		0x2955		(LREAL)
217>8	leshort		0x2977		(COMPLX)
218>8	leshort		0x299d		(LCOMPLX)
219>8	leshort		0x29bf		(CHAR)
220>8	leshort		0x29e8		(ARRAY)
221>8	leshort		0x2a0a		(LNKARRAY)
222>8	leshort		0x2a2c		(STRING)
223>8	leshort		0x2a4e		(HXS)
224>8	leshort		0x2a74		(LIST)
225>8	leshort		0x2a96		(DIR)
226>8	leshort		0x2ab8		(ALG)
227>8	leshort		0x2ada		(UNIT)
228>8	leshort		0x2afc		(TAGGED)
229>8	leshort		0x2b1e		(GROB)
230>8	leshort		0x2b40		(LIB)
231>8	leshort		0x2b62		(BACKUP)
232>8	leshort		0x2b88		(LIBDATA)
233>8	leshort		0x2d9d		(PROG)
234>8	leshort		0x2dcc		(CODE)
235>8	leshort		0x2e48		(GNAME)
236>8	leshort		0x2e6d		(LNAME)
237>8	leshort		0x2e92		(XLIB)
238
2390	string		%%HP:		HP text
240>6	string		T(0)		- T(0)
241>6	string		T(1)		- T(1)
242>6	string		T(2)		- T(2)
243>6	string		T(3)		- T(3)
244>10	string		A(D)		A(D)
245>10	string		A(R)		A(R)
246>10	string		A(G)		A(G)
247>14	string		F(.)		F(.);
248>14	string		F(,)		F(,);
249
250
251# Summary: HP-38/39 calculator
252# Created by: Samuel Thibault <samuel.thibault@ens-lyon.org>
2530	string		HP3
254>3	string		8		HP 38
255>3	string		9		HP 39
256>4	string		Bin		binary
257>4	string		Asc		ASCII
258>7	string		A		(Directory List)
259>7	string		B		(Zaplet)
260>7	string		C		(Note)
261>7	string		D		(Program)
262>7	string		E		(Variable)
263>7	string		F		(List)
264>7	string		G		(Matrix)
265>7	string		H		(Library)
266>7	string		I		(Target List)
267>7	string		J		(ASCII Vector specification)
268>7	string		K		(wildcard)
269
270# Summary: HP-38/39 calculator
271# Created by: Samuel Thibault <samuel.thibault@ens-lyon.org>
2720	string		HP3
273>3	string		8		HP 38
274>3	string		9		HP 39
275>4	string		Bin		binary
276>4	string		Asc		ASCII
277>7	string		A		(Directory List)
278>7	string		B		(Zaplet)
279>7	string		C		(Note)
280>7	string		D		(Program)
281>7	string		E		(Variable)
282>7	string		F		(List)
283>7	string		G		(Matrix)
284>7	string		H		(Library)
285>7	string		I		(Target List)
286>7	string		J		(ASCII Vector specification)
287>7	string		K		(wildcard)
288
289# hpBSD magic numbers
2900	beshort		200		hp200 (68010) BSD
291>2	beshort		0407		impure binary
292>2	beshort		0410		read-only binary
293>2	beshort		0413		demand paged binary
2940	beshort		300		hp300 (68020+68881) BSD
295>2	beshort		0407		impure binary
296>2	beshort		0410		read-only binary
297>2	beshort		0413		demand paged binary
298#
299# From David Gero <dgero@nortelnetworks.com>
300# HP-UX 10.20 core file format from /usr/include/sys/core.h
301# Unfortunately, HP-UX uses corehead blocks without specifying the order
302# There are four we care about:
303#     CORE_KERNEL, which starts with the string "HP-UX"
304#     CORE_EXEC, which contains the name of the command
305#     CORE_PROC, which contains the signal number that caused the core dump
306#     CORE_FORMAT, which contains the version of the core file format (== 1)
307# The only observed order in real core files is KERNEL, EXEC, FORMAT, PROC
308# but we include all 6 variations of the order of the first 3, and
309# assume that PROC will always be last
310# Order 1: KERNEL, EXEC, FORMAT, PROC
3110x10		string	HP-UX
312>0		belong	2
313>>0xC		belong	0x3C
314>>>0x4C		belong	0x100
315>>>>0x58	belong	0x44
316>>>>>0xA0	belong	1
317>>>>>>0xAC	belong	4
318>>>>>>>0xB0	belong	1
319>>>>>>>>0xB4	belong	4		core file
320>>>>>>>>>0x90	string	>\0		from '%s'
321>>>>>>>>>0xC4	belong	3		- received SIGQUIT
322>>>>>>>>>0xC4	belong	4		- received SIGILL
323>>>>>>>>>0xC4	belong	5		- received SIGTRAP
324>>>>>>>>>0xC4	belong	6		- received SIGABRT
325>>>>>>>>>0xC4	belong	7		- received SIGEMT
326>>>>>>>>>0xC4	belong	8		- received SIGFPE
327>>>>>>>>>0xC4	belong	10		- received SIGBUS
328>>>>>>>>>0xC4	belong	11		- received SIGSEGV
329>>>>>>>>>0xC4	belong	12		- received SIGSYS
330>>>>>>>>>0xC4	belong	33		- received SIGXCPU
331>>>>>>>>>0xC4	belong	34		- received SIGXFSZ
332# Order 2: KERNEL, FORMAT, EXEC, PROC
333>>>0x4C		belong	1
334>>>>0x58	belong	4
335>>>>>0x5C	belong	1
336>>>>>>0x60	belong	0x100
337>>>>>>>0x6C	belong	0x44
338>>>>>>>>0xB4	belong	4		core file
339>>>>>>>>>0xA4	string	>\0		from '%s'
340>>>>>>>>>0xC4	belong	3		- received SIGQUIT
341>>>>>>>>>0xC4	belong	4		- received SIGILL
342>>>>>>>>>0xC4	belong	5		- received SIGTRAP
343>>>>>>>>>0xC4	belong	6		- received SIGABRT
344>>>>>>>>>0xC4	belong	7		- received SIGEMT
345>>>>>>>>>0xC4	belong	8		- received SIGFPE
346>>>>>>>>>0xC4	belong	10		- received SIGBUS
347>>>>>>>>>0xC4	belong	11		- received SIGSEGV
348>>>>>>>>>0xC4	belong	12		- received SIGSYS
349>>>>>>>>>0xC4	belong	33		- received SIGXCPU
350>>>>>>>>>0xC4	belong	34		- received SIGXFSZ
351# Order 3: FORMAT, KERNEL, EXEC, PROC
3520x24		string	HP-UX
353>0		belong	1
354>>0xC		belong	4
355>>>0x10		belong	1
356>>>>0x14	belong	2
357>>>>>0x20	belong	0x3C
358>>>>>>0x60	belong	0x100
359>>>>>>>0x6C	belong	0x44
360>>>>>>>>0xB4	belong	4		core file
361>>>>>>>>>0xA4	string	>\0		from '%s'
362>>>>>>>>>0xC4	belong	3		- received SIGQUIT
363>>>>>>>>>0xC4	belong	4		- received SIGILL
364>>>>>>>>>0xC4	belong	5		- received SIGTRAP
365>>>>>>>>>0xC4	belong	6		- received SIGABRT
366>>>>>>>>>0xC4	belong	7		- received SIGEMT
367>>>>>>>>>0xC4	belong	8		- received SIGFPE
368>>>>>>>>>0xC4	belong	10		- received SIGBUS
369>>>>>>>>>0xC4	belong	11		- received SIGSEGV
370>>>>>>>>>0xC4	belong	12		- received SIGSYS
371>>>>>>>>>0xC4	belong	33		- received SIGXCPU
372>>>>>>>>>0xC4	belong	34		- received SIGXFSZ
373# Order 4: EXEC, KERNEL, FORMAT, PROC
3740x64		string	HP-UX
375>0		belong	0x100
376>>0xC		belong	0x44
377>>>0x54		belong	2
378>>>>0x60	belong	0x3C
379>>>>>0xA0	belong	1
380>>>>>>0xAC	belong	4
381>>>>>>>0xB0	belong	1
382>>>>>>>>0xB4	belong	4		core file
383>>>>>>>>>0x44	string	>\0		from '%s'
384>>>>>>>>>0xC4	belong	3		- received SIGQUIT
385>>>>>>>>>0xC4	belong	4		- received SIGILL
386>>>>>>>>>0xC4	belong	5		- received SIGTRAP
387>>>>>>>>>0xC4	belong	6		- received SIGABRT
388>>>>>>>>>0xC4	belong	7		- received SIGEMT
389>>>>>>>>>0xC4	belong	8		- received SIGFPE
390>>>>>>>>>0xC4	belong	10		- received SIGBUS
391>>>>>>>>>0xC4	belong	11		- received SIGSEGV
392>>>>>>>>>0xC4	belong	12		- received SIGSYS
393>>>>>>>>>0xC4	belong	33		- received SIGXCPU
394>>>>>>>>>0xC4	belong	34		- received SIGXFSZ
395# Order 5: FORMAT, EXEC, KERNEL, PROC
3960x78		string	HP-UX
397>0		belong	1
398>>0xC		belong	4
399>>>0x10		belong	1
400>>>>0x14	belong	0x100
401>>>>>0x20	belong	0x44
402>>>>>>0x68	belong	2
403>>>>>>>0x74	belong	0x3C
404>>>>>>>>0xB4	belong	4		core file
405>>>>>>>>>0x58	string	>\0		from '%s'
406>>>>>>>>>0xC4	belong	3		- received SIGQUIT
407>>>>>>>>>0xC4	belong	4		- received SIGILL
408>>>>>>>>>0xC4	belong	5		- received SIGTRAP
409>>>>>>>>>0xC4	belong	6		- received SIGABRT
410>>>>>>>>>0xC4	belong	7		- received SIGEMT
411>>>>>>>>>0xC4	belong	8		- received SIGFPE
412>>>>>>>>>0xC4	belong	10		- received SIGBUS
413>>>>>>>>>0xC4	belong	11		- received SIGSEGV
414>>>>>>>>>0xC4	belong	12		- received SIGSYS
415>>>>>>>>>0xC4	belong	33		- received SIGXCPU
416>>>>>>>>>0xC4	belong	34		- received SIGXFSZ
417# Order 6: EXEC, FORMAT, KERNEL, PROC
418>0		belong	0x100
419>>0xC		belong	0x44
420>>>0x54		belong	1
421>>>>0x60	belong	4
422>>>>>0x64	belong	1
423>>>>>>0x68	belong	2
424>>>>>>>0x74	belong	0x2C
425>>>>>>>>0xB4	belong	4		core file
426>>>>>>>>>0x44	string	>\0		from '%s'
427>>>>>>>>>0xC4	belong	3		- received SIGQUIT
428>>>>>>>>>0xC4	belong	4		- received SIGILL
429>>>>>>>>>0xC4	belong	5		- received SIGTRAP
430>>>>>>>>>0xC4	belong	6		- received SIGABRT
431>>>>>>>>>0xC4	belong	7		- received SIGEMT
432>>>>>>>>>0xC4	belong	8		- received SIGFPE
433>>>>>>>>>0xC4	belong	10		- received SIGBUS
434>>>>>>>>>0xC4	belong	11		- received SIGSEGV
435>>>>>>>>>0xC4	belong	12		- received SIGSYS
436>>>>>>>>>0xC4	belong	33		- received SIGXCPU
437>>>>>>>>>0xC4	belong	34		- received SIGXFSZ
438
439
440