xref: /freebsd/contrib/file/magic/Magdir/hp (revision ae316d1d1cffd71ab7751f94e10118777a88e027)
1
2#------------------------------------------------------------------------------
3# $File: hp,v 1.27 2024/08/27 18:50:57 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
123#### 500
1240	long		0x02080106	HP s500 relocatable executable
125>16	long		>0		- version %d
126
1270	long		0x02080107	HP s500 executable
128>16	long		>0		- version %d
129
1300	long		0x02080108	HP s500 pure executable
131>16	long		>0		- version %d
132
133#### 200
1340	belong 		0x020c0108	HP s200 pure executable
135>4	beshort		>0		- version %d
136>8	belong		&0x80000000	save fp regs
137>8	belong		&0x40000000	dynamically linked
138>8	belong		&0x20000000	debuggable
139>36	belong		>0		not stripped
140
1410	belong		0x020c0107	HP s200 executable
142>4	beshort		>0		- version %d
143>8	belong		&0x80000000	save fp regs
144>8	belong		&0x40000000	dynamically linked
145>8	belong		&0x20000000	debuggable
146>36	belong		>0		not stripped
147
1480	belong		0x020c010b	HP s200 demand-load executable
149>4	beshort		>0		- version %d
150>8	belong		&0x80000000	save fp regs
151>8	belong		&0x40000000	dynamically linked
152>8	belong		&0x20000000	debuggable
153>36	belong		>0		not stripped
154
1550	belong		0x020c0106	HP s200 relocatable executable
156>4	beshort		>0		- version %d
157>6	beshort		>0		- highwater %d
158>8	belong		&0x80000000	save fp regs
159>8	belong		&0x20000000	debuggable
160>8	belong		&0x10000000	PIC
161
1620	belong 		0x020a0108	HP s200 (2.x release) pure executable
163>4	beshort		>0		- version %d
164>36	belong		>0		not stripped
165
1660	belong		0x020a0107	HP s200 (2.x release) executable
167>4	beshort		>0		- version %d
168>36	belong		>0		not stripped
169
1700	belong		0x020c010e	HP s200 shared library
171>4	beshort		>0		- version %d
172>6	beshort		>0		- highwater %d
173>36	belong		>0		not stripped
174
1750	belong		0x020c010d	HP s200 dynamic load library
176>4	beshort		>0		- version %d
177>6	beshort		>0		- highwater %d
178>36	belong		>0		not stripped
179
180#### MISC
1810	long		0x0000ff65	HP old archive
1820	long		0x020aff65	HP s200 old archive
1830	long		0x020cff65	HP s200 old archive
1840	long		0x0208ff65	HP s500 old archive
185
1860	long		0x015821a6	HP core file
187
1880	long		0x4da7eee8	HP-WINDOWS font
189>8	byte		>0		- version %d
1900	string		Bitmapfile	HP Bitmapfile
191
1920	string		IMGfile	CIS 	compimg HP Bitmapfile
193# XXX - see "lif"
194#0	short		0x8000		lif file
1950	long		0x020c010c	compiled Lisp
196
1970	string		msgcat01	HP NLS message catalog,
198>8	long		>0		%d messages
199
200# Summary: HP-48/49 calculator
201# Created by: phk@data.fls.dk
202# Modified by (1): AMAKAWA Shuhei <sa264@cam.ac.uk>
203# Modified by (2): Samuel Thibault <samuel.thibault@ens-lyon.org> (HP49 support)
2040	string		HPHP		HP
205>4	string		48		48 binary
206>4	string		49		49 binary
207>7	byte		>64		- Rev %c
208>8	leshort		0x2911		(ADR)
209>8	leshort		0x2933		(REAL)
210>8	leshort		0x2955		(LREAL)
211>8	leshort		0x2977		(COMPLX)
212>8	leshort		0x299d		(LCOMPLX)
213>8	leshort		0x29bf		(CHAR)
214>8	leshort		0x29e8		(ARRAY)
215>8	leshort		0x2a0a		(LNKARRAY)
216>8	leshort		0x2a2c		(STRING)
217>8	leshort		0x2a4e		(HXS)
218>8	leshort		0x2a74		(LIST)
219>8	leshort		0x2a96		(DIR)
220>8	leshort		0x2ab8		(ALG)
221>8	leshort		0x2ada		(UNIT)
222>8	leshort		0x2afc		(TAGGED)
223>8	leshort		0x2b1e		(GROB)
224>8	leshort		0x2b40		(LIB)
225>8	leshort		0x2b62		(BACKUP)
226>8	leshort		0x2b88		(LIBDATA)
227>8	leshort		0x2d9d		(PROG)
228>8	leshort		0x2dcc		(CODE)
229>8	leshort		0x2e48		(GNAME)
230>8	leshort		0x2e6d		(LNAME)
231>8	leshort		0x2e92		(XLIB)
232
2330	string		%%HP:		HP text
234>6	string		T(0)		- T(0)
235>6	string		T(1)		- T(1)
236>6	string		T(2)		- T(2)
237>6	string		T(3)		- T(3)
238>10	string		A(D)		A(D)
239>10	string		A(R)		A(R)
240>10	string		A(G)		A(G)
241>14	string		F(.)		F(.);
242>14	string		F(,)		F(,);
243
244
245# Summary: HP-38/39 calculator
246# Created by: Samuel Thibault <samuel.thibault@ens-lyon.org>
2470	string		HP3
248>3	string		8		HP 38
249>3	string		9		HP 39
250>4	string		Bin		binary
251>4	string		Asc		ASCII
252>7	string		A		(Directory List)
253>7	string		B		(Zaplet)
254>7	string		C		(Note)
255>7	string		D		(Program)
256>7	string		E		(Variable)
257>7	string		F		(List)
258>7	string		G		(Matrix)
259>7	string		H		(Library)
260>7	string		I		(Target List)
261>7	string		J		(ASCII Vector specification)
262>7	string		K		(wildcard)
263
264# hpBSD magic numbers
2650	beshort		200		hp200 (68010) BSD
266>2	beshort		0407		impure binary
267>2	beshort		0410		read-only binary
268>2	beshort		0413		demand paged binary
2690	beshort		300		hp300 (68020+68881) BSD
270>2	beshort		0407		impure binary
271>2	beshort		0410		read-only binary
272>2	beshort		0413		demand paged binary
273#
274# From David Gero <dgero@nortelnetworks.com>
275# HP-UX 10.20 core file format from /usr/include/sys/core.h
276# Unfortunately, HP-UX uses corehead blocks without specifying the order
277# There are four we care about:
278#     CORE_KERNEL, which starts with the string "HP-UX"
279#     CORE_EXEC, which contains the name of the command
280#     CORE_PROC, which contains the signal number that caused the core dump
281#     CORE_FORMAT, which contains the version of the core file format (== 1)
282# The only observed order in real core files is KERNEL, EXEC, FORMAT, PROC
283# but we include all 6 variations of the order of the first 3, and
284# assume that PROC will always be last
285# Order 1: KERNEL, EXEC, FORMAT, PROC
2860x10		string	HP-UX
287>0		belong	2
288>>0xC		belong	0x3C
289>>>0x4C		belong	0x100
290>>>>0x58	belong	0x44
291>>>>>0xA0	belong	1
292>>>>>>0xAC	belong	4
293>>>>>>>0xB0	belong	1
294>>>>>>>>0xB4	belong	4		core file
295>>>>>>>>>0x90	string	>\0		from '%s'
296>>>>>>>>>0xC4	belong	3		- received SIGQUIT
297>>>>>>>>>0xC4	belong	4		- received SIGILL
298>>>>>>>>>0xC4	belong	5		- received SIGTRAP
299>>>>>>>>>0xC4	belong	6		- received SIGABRT
300>>>>>>>>>0xC4	belong	7		- received SIGEMT
301>>>>>>>>>0xC4	belong	8		- received SIGFPE
302>>>>>>>>>0xC4	belong	10		- received SIGBUS
303>>>>>>>>>0xC4	belong	11		- received SIGSEGV
304>>>>>>>>>0xC4	belong	12		- received SIGSYS
305>>>>>>>>>0xC4	belong	33		- received SIGXCPU
306>>>>>>>>>0xC4	belong	34		- received SIGXFSZ
307# Order 2: KERNEL, FORMAT, EXEC, PROC
308>>>0x4C		belong	1
309>>>>0x58	belong	4
310>>>>>0x5C	belong	1
311>>>>>>0x60	belong	0x100
312>>>>>>>0x6C	belong	0x44
313>>>>>>>>0xB4	belong	4		core file
314>>>>>>>>>0xA4	string	>\0		from '%s'
315>>>>>>>>>0xC4	belong	3		- received SIGQUIT
316>>>>>>>>>0xC4	belong	4		- received SIGILL
317>>>>>>>>>0xC4	belong	5		- received SIGTRAP
318>>>>>>>>>0xC4	belong	6		- received SIGABRT
319>>>>>>>>>0xC4	belong	7		- received SIGEMT
320>>>>>>>>>0xC4	belong	8		- received SIGFPE
321>>>>>>>>>0xC4	belong	10		- received SIGBUS
322>>>>>>>>>0xC4	belong	11		- received SIGSEGV
323>>>>>>>>>0xC4	belong	12		- received SIGSYS
324>>>>>>>>>0xC4	belong	33		- received SIGXCPU
325>>>>>>>>>0xC4	belong	34		- received SIGXFSZ
326# Order 3: FORMAT, KERNEL, EXEC, PROC
3270x24		string	HP-UX
328>0		belong	1
329>>0xC		belong	4
330>>>0x10		belong	1
331>>>>0x14	belong	2
332>>>>>0x20	belong	0x3C
333>>>>>>0x60	belong	0x100
334>>>>>>>0x6C	belong	0x44
335>>>>>>>>0xB4	belong	4		core file
336>>>>>>>>>0xA4	string	>\0		from '%s'
337>>>>>>>>>0xC4	belong	3		- received SIGQUIT
338>>>>>>>>>0xC4	belong	4		- received SIGILL
339>>>>>>>>>0xC4	belong	5		- received SIGTRAP
340>>>>>>>>>0xC4	belong	6		- received SIGABRT
341>>>>>>>>>0xC4	belong	7		- received SIGEMT
342>>>>>>>>>0xC4	belong	8		- received SIGFPE
343>>>>>>>>>0xC4	belong	10		- received SIGBUS
344>>>>>>>>>0xC4	belong	11		- received SIGSEGV
345>>>>>>>>>0xC4	belong	12		- received SIGSYS
346>>>>>>>>>0xC4	belong	33		- received SIGXCPU
347>>>>>>>>>0xC4	belong	34		- received SIGXFSZ
348# Order 4: EXEC, KERNEL, FORMAT, PROC
3490x64		string	HP-UX
350>0		belong	0x100
351>>0xC		belong	0x44
352>>>0x54		belong	2
353>>>>0x60	belong	0x3C
354>>>>>0xA0	belong	1
355>>>>>>0xAC	belong	4
356>>>>>>>0xB0	belong	1
357>>>>>>>>0xB4	belong	4		core file
358>>>>>>>>>0x44	string	>\0		from '%s'
359>>>>>>>>>0xC4	belong	3		- received SIGQUIT
360>>>>>>>>>0xC4	belong	4		- received SIGILL
361>>>>>>>>>0xC4	belong	5		- received SIGTRAP
362>>>>>>>>>0xC4	belong	6		- received SIGABRT
363>>>>>>>>>0xC4	belong	7		- received SIGEMT
364>>>>>>>>>0xC4	belong	8		- received SIGFPE
365>>>>>>>>>0xC4	belong	10		- received SIGBUS
366>>>>>>>>>0xC4	belong	11		- received SIGSEGV
367>>>>>>>>>0xC4	belong	12		- received SIGSYS
368>>>>>>>>>0xC4	belong	33		- received SIGXCPU
369>>>>>>>>>0xC4	belong	34		- received SIGXFSZ
370# Order 5: FORMAT, EXEC, KERNEL, PROC
3710x78		string	HP-UX
372>0		belong	1
373>>0xC		belong	4
374>>>0x10		belong	1
375>>>>0x14	belong	0x100
376>>>>>0x20	belong	0x44
377>>>>>>0x68	belong	2
378>>>>>>>0x74	belong	0x3C
379>>>>>>>>0xB4	belong	4		core file
380>>>>>>>>>0x58	string	>\0		from '%s'
381>>>>>>>>>0xC4	belong	3		- received SIGQUIT
382>>>>>>>>>0xC4	belong	4		- received SIGILL
383>>>>>>>>>0xC4	belong	5		- received SIGTRAP
384>>>>>>>>>0xC4	belong	6		- received SIGABRT
385>>>>>>>>>0xC4	belong	7		- received SIGEMT
386>>>>>>>>>0xC4	belong	8		- received SIGFPE
387>>>>>>>>>0xC4	belong	10		- received SIGBUS
388>>>>>>>>>0xC4	belong	11		- received SIGSEGV
389>>>>>>>>>0xC4	belong	12		- received SIGSYS
390>>>>>>>>>0xC4	belong	33		- received SIGXCPU
391>>>>>>>>>0xC4	belong	34		- received SIGXFSZ
392# Order 6: EXEC, FORMAT, KERNEL, PROC
393>0		belong	0x100
394>>0xC		belong	0x44
395>>>0x54		belong	1
396>>>>0x60	belong	4
397>>>>>0x64	belong	1
398>>>>>>0x68	belong	2
399>>>>>>>0x74	belong	0x2C
400>>>>>>>>0xB4	belong	4		core file
401>>>>>>>>>0x44	string	>\0		from '%s'
402>>>>>>>>>0xC4	belong	3		- received SIGQUIT
403>>>>>>>>>0xC4	belong	4		- received SIGILL
404>>>>>>>>>0xC4	belong	5		- received SIGTRAP
405>>>>>>>>>0xC4	belong	6		- received SIGABRT
406>>>>>>>>>0xC4	belong	7		- received SIGEMT
407>>>>>>>>>0xC4	belong	8		- received SIGFPE
408>>>>>>>>>0xC4	belong	10		- received SIGBUS
409>>>>>>>>>0xC4	belong	11		- received SIGSEGV
410>>>>>>>>>0xC4	belong	12		- received SIGSYS
411>>>>>>>>>0xC4	belong	33		- received SIGXCPU
412>>>>>>>>>0xC4	belong	34		- received SIGXFSZ
413
414# PA-RISC COFF object file
4150	leshort		0x0290
416>16	leshort		0
417>>0	use		display-coff
418
419