1# 2# Copyright 2005 Sun Microsystems, Inc. All rights reserved. 3# Use is subject to license terms. 4# 5# CDDL HEADER START 6# 7# The contents of this file are subject to the terms of the 8# Common Development and Distribution License, Version 1.0 only 9# (the "License"). You may not use this file except in compliance 10# with the License. 11# 12# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 13# or http://www.opensolaris.org/os/licensing. 14# See the License for the specific language governing permissions 15# and limitations under the License. 16# 17# When distributing Covered Code, include this CDDL HEADER in each 18# file and include the License file at usr/src/OPENSOLARIS.LICENSE. 19# If applicable, add the following below this CDDL HEADER, with the 20# fields enclosed by brackets "[]" replaced with your own identifying 21# information: Portions Copyright [yyyy] [name of copyright owner] 22# 23# CDDL HEADER END 24# 25#ident "%Z%%M% %I% %E% SMI" 26# 27# This file contains the dictionary of file format identifiers (magic strings) 28# used by file(1). The fields of this file are as follows: 29# 30# (1) byte offset 31# (2) value type 32# (3) optional operator (= by default) 33# (4) value to match (numeric or string) 34# (5) string to be printed 35# 36# Numeric values may be decimal, octal, or hex. Also note that the last string 37# may have one printf format specifier. The '>' in occassional column 1's is 38# magic: it forces file(1) to continue scanning and matching additional lines. 39# The first line afterwards not so marked terminates the search. 40# 41# The entries for ELF are not needed anymore, as file(1) now uses the elf(3ELF) 42# routines to look at ELF files. They remain, commented out, for reference. 43# 44#0 string \177ELF ELF 45#>4 byte 1 32-bit 46#>5 byte 1 LSB 47#>5 byte 2 MSB 48#>16 short 0 unknown type 49#>16 short 1 relocatable 50#>16 short 2 executable 51#>16 short 3 dynamic lib 52#>16 short 4 core file 53#>18 short 0 unknown machine 54#>18 short 1 WE32100 55#>18 short 2 SPARC 56#>18 short 3 80386 57#>18 short 4 M68000 58#>18 short 5 M88000 59#>18 short 6 i80486 60#>18 short 7 i860 61#>18 short 8 RS3000_BE 62#>18 short 9 UNKNOWN 63#>18 short 10 RS3000_LE 64#>18 short 11 RS6000 65#>18 short 12 UNKNOWN 66#>18 short 13 UNKNOWN 67#>18 short 14 UNKNOWN 68#>18 short 15 PA_RISC 69#>18 short 16 nCUBE 70#>18 short 17 VPP500 71#>18 short 18 SPARC32PLUS 72#>18 short 19 UNKNOWN 73#>18 short 20 PowerPC 74#>20 long 1 Version 1 75#>36 long 1 MAU Required 76257 string ustar USTAR tar archive 77>156 byte 88 extended format 780 short 070701 cpio archive 790 string 070701 ASCII cpio archive 800 short 070702 cpio archive - CRC header 810 string 070702 ASCII cpio archive - CRC header 820 short 070707 cpio archive - CHR (-c) header 830 string 070707 ASCII cpio archive - CHR (-c) header 840 long 0177555 obsolete ar archive 850 short 0177545 pdp11/pre System V ar archive 860 long 0100554 apl workspace 870 short 017037 packed data 880 string <ar> System V Release 1 ar archive 890 string !<arch> current ar archive 900 short 0407 pdp11/pre System V vax executable 91>8 ushort >0 not stripped 92>15 ubyte >0 - version %ld 930 short 0401 unix-rt ldp 940 short 0405 pdp11 overlay 950 short 0410 pdp11/pre System V vax pure executable 96>8 ushort >0 not stripped 97>15 ubyte >0 - version %ld 980 short 0411 pdp11 separate I&D 99>8 ushort >0 not stripped 100>15 ubyte >0 - version %ld 1010 short 015001 Compiled Terminfo Entry 102# little-endian entry 1030 short 0432 Compiled Terminfo Entry 1040 short 0433 Curses screen image 1050 short 0434 Curses screen image 1060 short 0437 pdp11 kernel overlay 1070 short 0570 vax executable 108>12 long >0 not stripped 109>22 ushort >0 - version %ld 1100 short 0575 vax pure executable 111>12 long >0 not stripped 112>22 ushort >0 - version %ld 1130 short 0502 basic-16 executable 114>12 long >0 not stripped 115>22 ushort >0 - version %ld 1160 short 0503 basic-16 executable (TV) 117>12 long >0 not stripped 118>22 ushort >0 - version %ld 1190 short 0510 x86 executable 120>12 long >0 not stripped 1210 short 0511 x86 executable (TV) 122>12 long >0 not stripped 1230 short 0550 3b20 executable 124>12 long >0 not stripped 125>22 ushort >0 - version %ld 1260 short 0551 3b20 executable (TV) 127>12 long >0 not stripped 128>22 ushort >0 - version %ld 1290 short 0560 WE32000 executable 130>12 long >0 not stripped 131>18 short ^00010000 - N/A on 3b2/300 w/paging 132>18 short &00020000 - 32100 required 133>18 short &00040000 and mau hardware required 134>20 short 0443 (target shared library) 135>20 short 0410 (swapped) 136>20 short 0413 (paged) 137>22 ushort >0 - version %ld 1380 short 0561 WE32000 executable (TV) 139>12 long >0 not stripped 140>18 short &00020000 - 32100 required 141>18 short &00040000 and mau hardware required 142>22 ushort >0 - version %ld 1430 short =0512 iAPX 286 executable small model (COFF) 144>12 long >0 not stripped 145>22 ushort >0 - version %ld 1460 short =0522 iAPX 286 executable large model (COFF) 147>12 long >0 not stripped 148>22 ushort >0 - version %ld 1490 short 0514 iAPX 386 executable (COFF) (deprecated) 150>12 long >0 not stripped 151>22 ushort >0 - version %ld 1520 short 0520 mc68k executable 153>12 long >0 not stripped 1540 short 0521 mc68k executable (shared) 155>12 long >0 not stripped 1560 short 0522 mc68k executable (shared demand paged) 157>12 long >0 not stripped 158# big-endian entries for pure executables 1592 short 0410 pure 160>1 byte 0 sun2 executable 161>1 byte 1 mc68010 executable 162>1 byte 2 mc68020 executable 163>1 byte 3 SPARC executable 164>0 ubyte >077 dynamically linked 165# little-endian entries for pure executables 1662 short 04001 pure 167>1 byte 0 sun2 executable 168>1 byte 1 mc68010 executable 169>1 byte 2 mc68020 executable 170>1 byte 3 SPARC executable 171>0 ubyte >077 dynamically linked 172# big-endian entries for impure executables 1732 short 0407 impure 174>1 byte 0 sun2 executable 175>1 byte 1 mc68010 executable 176>1 byte 2 mc68020 executable 177>1 byte 3 SPARC executable 178>0 ubyte >077 dynamically linked 179# little-endian entries for impure executables 1802 short 03401 impure 181>1 byte 0 sun2 executable 182>1 byte 1 mc68010 executable 183>1 byte 2 mc68020 executable 184>1 byte 3 SPARC executable 185>0 ubyte >077 dynamically linked 186# big-endian entries for Sun demand paged executables 1872 short 0413 Sun demand paged 188>1 byte 0 sun2 executable 189>1 byte 1 mc68010 executable 190>1 byte 2 mc68020 executable 191>1 byte 3 SPARC executable 192>0 ubyte >077 dynamically linked 193# little-endian entries for Sun demand paged executables 1942 short 05401 Sun demand paged 195>1 byte 0 sun2 executable 196>1 byte 1 mc68010 executable 197>1 byte 2 mc68020 executable 198>1 byte 3 SPARC executable 199>0 ubyte >077 dynamically linked 2000 short 0x8001 Adobe PostScript Type 1 binary font (PFB) 2010 short 0x0180 Adobe PostScript Type 1 binary font (PFB) 2020 long 0x00010000 TrueType font file version 1.0 (TTF) 2030 long 0x00000100 TrueType font file version 1.0 (TTF) 2040 long 0xf00000ff extended accounting file 205# little-endian entry 2060 long 0xff0000f0 extended accounting file 2070 byte 0x80 8086 relocatable (Microsoft) 2080 byte 0xf0 MS-DOS library 2090 short 0xff65 x.out 210>2 string __.SYMDEF randomized 211>0 byte x archive 2120 short 0x206 Microsoft a.out 213>0x1e short &0x10 overlay 214>0x1e short &0x2 separate 215>0x1e short &0x4 pure 216>0x1e short &0x800 segmented 217>0x1e short &0x400 standalone 218>0x1e short &0x8 fixed-stack 219>0x1c byte &0x80 byte-swapped 220>0x1c byte &0x40 word-swapped 221>0x10 long >0 not-stripped 222>0x1e short ^0xc000 pre-SysV 223>0x1c byte &0x4 86 224>0x1c byte &0x9 286 225>0x1c byte &0xa 386 226>0x1e short &0x1 executable 227>0x1e short ^0x1 object file 228>0x1e short &0x40 Large Text 229>0x1e short &0x20 Large Data 230>0x1e short &0x120 Huge Objects Enabled 2310 short 0x10b VAX demand load format a.out object file 232>0x10 long >0 not stripped 2330 short 0x140 old Microsoft 8086 x.out 234>0x3 byte &0x4 separate 235>0x3 byte &0x2 pure 236>0 byte &0x1 executable 237>0 byte ^0x1 relocatable 238>0x14 long >0 not stripped 2390 long 0x10b VAX demand load format a.out object file 240>0x10 long >0 not stripped 2410 long 0x140 old Microsoft 8086 x.out 242>0x3 byte &0x4 separate 243>0x3 byte &0x2 pure 244>0 byte &0x1 executable 245>0 byte ^0x1 relocatable 246>0x14 long >0 not stripped 2470 long 0xe807 object file (z8000 a.out) 2480 long 0xe808 pure object file (z8000 a.out) 2490 long 0xe809 separate object file (z8000 a.out) 2500 long 0xe805 overlay object file (z8000 a.out) 2510 long 0x178 Bell 5.0 executable 2522 short 0410 Sun read-only text executable 253>2 short 0407 Sun old executable 254>1 byte 3 (SPARC) 255>1 byte 2 (68020) 256>1 byte 1 (68010) 257>1 byte 0 (Sun2) 2580 short 0143561 byte-swapped cpio archive 2590 long 0101555 PDP-11 single precision APL workspace 2600 long 0101554 PDP-11 double precision APL workspace 2610 long 0101557 VAX single precision APL workspace 2620 long 0101556 VAX double precision APL workspace 2630 short 017437 old packed data 2640 string \037\036 packed data 2650 string \377\037 compacted data 2660 string \037\235 compressed data 267>2 byte&0x80 >0 block compressed 268>2 byte&0x1f x %d bits 2690 string \037\213 gzip compressed data 270>2 byte 8 - deflate method 271>3 byte &0x1 , ascii 272>3 byte &0x2 , continuation 273>3 byte &0x4 , extra field 274>3 byte &0x8 , original file name 275>3 byte &0x10 , comment 276>3 byte &0x20 , encrypted 277>8 byte 2 , max compression 278>8 byte 4 , max speed 2790 string !<arch>\n__.SYMDEF archive random library 2800 long 0x1010101 MMDF mailbox 2810 string <!OPS Interleaf ASCII document 28224 string SunGKS SunGKS 283# version number follows, in the form m.n 284>0 string GKSM Metafile 2850 string GKSM GKS Metafile 286# version number follows, in the form <!OPS, Version n.n> 2870 string %!PS-AdobeFont Adobe PostScript ASCII font (PFA) 2880 string %! PostScript document 289>2 string PS-Adobe conforming to level 290>10 string -1.0 1.0 291>10 string -2.0 2.0 292>10 string -3.0 3.0 293# version ID follows, in the form PS-Adobe-nn 2940 string Interpress/Xerox Interpress document 295# version ID follows, in the form /n.n 2960 string StartFontMetrics Adobe font metrics 2970 string StartFont Adobe font bits 2980 long 0x137A2944 NeWS bitmap font 2990 long 0x137A2947 NeWS font family 3008 long 0x137A2B45 X11/NeWS bitmap font 3018 long 0x137A2B48 X11/NeWS font family 302# snoop files are always big-endian 303# big-endian entries, with ullong equivalent of string "snoop" 3040 ullong 0x736e6f6f70000000 Snoop capture file 305>8 long >0 - version %ld 306# little-endian entries, with ullong equivalent of string "snoop" 3070 ullong 0x000000706f6f6e73 Snoop capture file 308>11 long >0 - version %ld 3090 short 0436 vfont definition 3100 string <MakerFile Frame Maker document 3110 string <MIFFile Frame Maker MIF file 3120 string <MML Frame Maker MML file 3130 string <BookFile Frame Maker book file 314# Audio files are always big-endian so there are two sets of tables here. 315# The CPU endian architecture is determined via the ordering of the first 4 bytes 316# (the string ".snd"). The tables below have this value represented as a single 317# 4 byte long. If the architecture is big-endian the %d token can be used for 318# interpreting the sampling rate. 319# Since %d can't be done on the data for little endian machines the limitation 320# is that sampling rates not included in the x86 entries will not be recognized. 321# 322# big-endian entries 323# 3240 long 0x2e736e64 audio data: 325>12 long 1 8-bit u-law, 326>12 long 2 8-bit linear PCM, 327>12 long 3 16-bit linear PCM, 328>12 long 4 24-bit linear PCM, 329>12 long 5 32-bit linear PCM, 330>12 long 6 32-bit floating point, 331>12 long 7 64-bit floating point, 332>12 long 23 compressed (4-bit G.721 ADPCM), 333>12 long 24 compressed (8-bit G.722 ADPCM), 334>12 long 25 compressed (3-bit G.723 ADPCM), 335>12 long 26 compressed (5-bit G.723 ADPCM), 336>12 long 27 8-bit A-law, 337>20 long 1 mono, 338>20 long 2 stereo, 339>20 long 4 quad, 340>16 long x %d Hz 341# 342# little-endian entries 343# 3440 long 0x646e732e audio data: 345>12 long 0x01000000 8-bit u-law, 346>12 long 0x02000000 8-bit linear PCM, 347>12 long 0x03000000 16-bit linear PCM, 348>12 long 0x04000000 24-bit linear PCM, 349>12 long 0x05000000 32-bit linear PCM, 350>12 long 0x06000000 32-bit floating point, 351>12 long 0x07000000 64-bit floating point, 352>12 long 0x17000000 compressed (4-bit G.721 ADPCM), 353>12 long 0x18000000 compressed (8-bit G.722 ADPCM), 354>12 long 0x19000000 compressed (3-bit G.723 ADPCM), 355>12 long 0x1a000000 compressed (5-bit G.723 ADPCM), 356>12 long 0x1b000000 8-bit A-law, 357>20 long 0x01000000 mono, 358>20 long 0x02000000 stereo, 359>20 long 0x04000000 quad, 360>16 long 0x401f0000 8000 Hz 361>16 long 0x80250000 9600 Hz 362>16 long 0x112b0000 11025 Hz 363>16 long 0x803e0000 16000 Hz 364>16 long 0xd4490000 18900 Hz 365>16 long 0x22560000 22050 Hz 366>16 long 0x007d0000 32000 Hz 367>16 long 0xa8930000 37800 Hz 368>16 long 0x44ac0000 44100 Hz 369>16 long 0x80bb0000 48000 Hz 370# .wav files are always little-endian 371# .wav big-endian entries, starting with long value for the string "RIFF" 3720 long 0x52494646 audio data: 373>34 short 0x0800 8-bit 374>34 short 0x1000 16-bit 375>20 short 0x0100 linear PCM, 376>20 short 0x0200 MS ADPCM, 377>20 short 0x0600 A-law, 378>20 short 0x0700 u-law, 379>20 short 0x1100 DVI ADPCM, 380>22 short 0x0100 mono 381>22 short 0x0200 stereo 382# .wav little-endian entries, starting with long value for the string "RIFF" 3830 long 0x46464952 audio data: 384>34 short 0x0008 8-bit 385>34 short 0x0010 16-bit 386>20 short 0x0001 linear PCM, 387>20 short 0x0002 MS ADPCM, 388>20 short 0x0006 A-law, 389>20 short 0x0007 u-law, 390>20 short 0x0011 DVI ADPCM, 391>22 short 0x0001 mono 392>22 short 0x0002 stereo 393# .aiff files are always big-endian 394# .aiff big-endian entries, starting with long value for the string "FORM" 3950 long 0x464f524d audio data: 396>26 short 0x0008 8-bit linear PCM, 397>26 short 0x0010 16-bit linear PCM, 398>20 short 0x0001 mono 399>20 short 0x0002 stereo 400# .aiff little-endian entries, starting with long value for the string "FORM" 4010 long 0x4d524f46 audio data: 402>26 short 0x0800 8-bit linear PCM, 403>26 short 0x1000 16-bit linear PCM, 404>20 short 0x0100 mono 405>20 short 0x0200 stereo 406# .mid files are always big-endian 407# .mid big-endian entries, starting with long value for the string "MThd" 4080 long 0x4d546864 MIDI data: 409>8 short x type %u, 410>10 short x %u track(s) 411# .mid little-endian entry (the string "MThd") 412# can't translate big-endian type and track information 4130 long 0x6468544d MIDI data 414# 4150 short 0x1010 PEX Binary Archive 416# rasterfiles are big-endian 417# big-endian rasterfile entries 4180 long 0x59a66a95 rasterfile, 419>4 long >0 %ld x 420>8 long >0 %ld x 421>12 long >0 %ld 422>20 long 0 old format image 423>20 long 1 standard format image 424>20 long 2 run-length byte encoded image 425>20 long 3 XRGB or RGB format image 426>20 long 4 tiff format image 427>20 long 5 iff (TAAC format) image 428>20 long 0xffff experimental format image 429# little-endian rasterfile entries 430# cannot translate resolution stored as big-endian longs 4310 long 0x956aa659 rasterfile, 432>23 long 0 old format image 433>23 long 1 standard format image 434>23 long 2 run-length byte encoded image 435>23 long 3 XRGB or RGB format image 436>23 long 4 tiff format image 437>23 long 5 iff (TAAC format) image 438>20 long 0xffff experimental format image 4390 long 0x884f5053 Interleaf fast-saved document 4400 long 0x2a535441 Aster*x 441>7 long 0x574f5244 Words Document 442>7 long 0x47524150 Graphic 443>7 long 0x53505245 Spreadsheet 444>7 long 0x4d414352 Macro 4450 long 0x32323738 Aster*x Version 2 446>29 byte 0x36 Words Document 447>29 byte 0x35 Graphic 448>29 byte 0x32 Spreadsheet 449>29 byte 0x38 Macro 4504 string pgscriptver IslandWrite document 45113 string DrawFile IslandDraw document 4520 string P1 PBM ascii file 4530 string P2 PGM ascii file 4540 string P3 PPM ascii file 4550 string P4 PBM raw file 4560 string P5 PGM raw file 4570 string P6 PPM raw file 4580 string \115\115 TIFF file, big-endian 4590 string \111\111 TIFF file, little-endian 4600 string GIF87a GIF file, v87 4610 string GIF89a GIF file, v89 4620 string \377\330\377\340 JPEG file 4630 string \377\330\377\341 JPEG file 4640 string \377\330\377\356 JPG file 4658 string ILBM IFF ILBM file 4660 string \312\376\272\276 java class file 46736 string acsp Kodak Color Management System, ICC Profile 4680 string %PDF Adobe Portable Document Format (PDF) 469>4 string -1.0 v1.0 470>4 string -1.1 v1.1 471>4 string -1.2 v1.2 472>4 string -1.3 v1.3 473>4 string -1.4 v1.4 474>4 string -1.5 v1.5 4750 string <html html document 4760 string <HTML html document 4770 string <Html html document 4780 string <!doctype HTML html document 4790 string <!doctype Html html document 4800 string <!doctype html html document 4810 string <!DOCTYPE HTML html document 4820 string <!DOCTYPE Html html document 4830 string <!DOCTYPE html html document 4840 string <!Doctype HTML html document 4850 string <!Doctype Html html document 4860 string <!Doctype html html document 4870 string <head html document 4880 string <HEAD html document 4890 string <Head html document 4900 string <title html document 4910 string <TITLE html document 4920 string <Title html document 4930 string <?xml XML document 4940 string <?XML XML document 4950 string <?Xml XML document 4960 string \0211PNG PNG image data 4970 string .RMF RealMedia file 4980 string FlAsH-aRcHiVe Flash Archive 499>13 string -1.0 1.0 500>13 string -2.0 2.0 50138 string application/vnd.sun.xml.writer StarOffice 7 Text Document 50238 string application/vnd.sun.xml.calc StarOffice 7 Spreadsheet 50338 string application/vnd.sun.xml.draw StarOffice 7 Drawing 50438 string application/vnd.sun.xml.impress StarOffice 7 Presentation 50538 string application/vnd.sun.xml.math StarOffice 7 Formula 50638 string application/vnd.oasis.opendocument.chart OpenDocument Chart 50738 string application/vnd.oasis.opendocument.database OpenDocument Database 50838 string application/vnd.sun.xml.base OpenDocument Database 50938 string application/vnd.oasis.opendocument.formula OpenDocument Formula 51038 string application/vnd.oasis.opendocument.image OpenDocument Image 51138 string application/vnd.oasis.opendocument.text-web HTML Document Template 51238 string application/vnd.oasis.opendocument.text- OpenDocument 513>78 string template Text Template 514>78 string master Master Document 51538 string application/vnd.oasis.opendocument.text OpenDocument Text 51638 string application/vnd.oasis.opendocument.graphics OpenDocument Drawing 517>81 string -template Template 51838 string application/vnd.oasis.opendocument.presentation OpenDocument Presentation 519>85 string -template Template 52038 string application/vnd.oasis.opendocument.spreadsheet OpenDocument Spreadsheet 521>84 string -template Template 5220 string PK\003\004 ZIP archive 5230 string MZ DOS executable (EXE) 5240 string LZ DOS built-in 5250 byte 0xe9 DOS executable (COM) 5260 byte 0xeb DOS executable (COM) 52724 long 60012 ufsdump archive file 5280 string TZif zoneinfo timezone data file 5290 string BZh bzip2 compressed data 530>3 byte >47 , block size = %c00k 5310 string SUNWcpch Sun C compiler precompiled header 5320 string SUNWCpch Sun C++ compiler precompiled header 5330 string \043\040PaCkAgE\040DaTaStReAm package datastream 5340 short 0xcff1 CTF data file 5350 string \177DOF DTrace DOF data file 5360 string \177FCF fmd(1M) checkpoint file 5370 string EFT\0 Fault tree file, 538>4 ushort x v%u 539>6 ushort x rev %u, 540>8 ushort x from esc v%u 541>10 ushort x rev %u 542