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