1ef01931fSBen Gras 2ef01931fSBen Gras#------------------------------------------------------------------------------ 3*0a6a1f1dSLionel Sambuc# $File: macintosh,v 1.25 2014/09/03 13:34:16 christos Exp $ 4ef01931fSBen Gras# macintosh description 5ef01931fSBen Gras# 6ef01931fSBen Gras# BinHex is the Macintosh ASCII-encoded file format (see also "apple") 7ef01931fSBen Gras# Daniel Quinlan, quinlan@yggdrasil.com 8ef01931fSBen Gras11 string must\ be\ converted\ with\ BinHex BinHex binary text 9ef01931fSBen Gras!:mime application/mac-binhex40 10ef01931fSBen Gras>41 string x \b, version %.3s 11ef01931fSBen Gras 12ef01931fSBen Gras# Stuffit archives are the de facto standard of compression for Macintosh 13ef01931fSBen Gras# files obtained from most archives. (franklsm@tuns.ca) 14ef01931fSBen Gras0 string SIT! StuffIt Archive (data) 15ef01931fSBen Gras!:mime application/x-stuffit 16ef01931fSBen Gras!:apple SIT!SIT! 17ef01931fSBen Gras>2 string x : %s 18ef01931fSBen Gras0 string SITD StuffIt Deluxe (data) 19ef01931fSBen Gras>2 string x : %s 20ef01931fSBen Gras0 string Seg StuffIt Deluxe Segment (data) 21ef01931fSBen Gras>2 string x : %s 22ef01931fSBen Gras 23ef01931fSBen Gras# Newer StuffIt archives (grant@netbsd.org) 24ef01931fSBen Gras0 string StuffIt StuffIt Archive 25ef01931fSBen Gras!:mime application/x-stuffit 26ef01931fSBen Gras!:apple SIT!SIT! 27ef01931fSBen Gras#>162 string >0 : %s 28ef01931fSBen Gras 29ef01931fSBen Gras# Macintosh Applications and Installation binaries (franklsm@tuns.ca) 30ef01931fSBen Gras# GRR: Too weak 31ef01931fSBen Gras#0 string APPL Macintosh Application (data) 32ef01931fSBen Gras#>2 string x \b: %s 33ef01931fSBen Gras 34ef01931fSBen Gras# Macintosh System files (franklsm@tuns.ca) 35ef01931fSBen Gras# GRR: Too weak 36ef01931fSBen Gras#0 string zsys Macintosh System File (data) 37ef01931fSBen Gras#0 string FNDR Macintosh Finder (data) 38ef01931fSBen Gras#0 string libr Macintosh Library (data) 39ef01931fSBen Gras#>2 string x : %s 40ef01931fSBen Gras#0 string shlb Macintosh Shared Library (data) 41ef01931fSBen Gras#>2 string x : %s 42ef01931fSBen Gras#0 string cdev Macintosh Control Panel (data) 43ef01931fSBen Gras#>2 string x : %s 44ef01931fSBen Gras#0 string INIT Macintosh Extension (data) 45ef01931fSBen Gras#>2 string x : %s 46ef01931fSBen Gras#0 string FFIL Macintosh Truetype Font (data) 47ef01931fSBen Gras#>2 string x : %s 48ef01931fSBen Gras#0 string LWFN Macintosh Postscript Font (data) 49ef01931fSBen Gras#>2 string x : %s 50ef01931fSBen Gras 51ef01931fSBen Gras# Additional Macintosh Files (franklsm@tuns.ca) 52ef01931fSBen Gras# GRR: Too weak 53ef01931fSBen Gras#0 string PACT Macintosh Compact Pro Archive (data) 54ef01931fSBen Gras#>2 string x : %s 55ef01931fSBen Gras#0 string ttro Macintosh TeachText File (data) 56ef01931fSBen Gras#>2 string x : %s 57ef01931fSBen Gras#0 string TEXT Macintosh TeachText File (data) 58ef01931fSBen Gras#>2 string x : %s 59ef01931fSBen Gras#0 string PDF Macintosh PDF File (data) 60ef01931fSBen Gras#>2 string x : %s 61ef01931fSBen Gras 62ef01931fSBen Gras# MacBinary format (Eric Fischer, enf@pobox.com) 63ef01931fSBen Gras# 64ef01931fSBen Gras# Unfortunately MacBinary doesn't really have a magic number prior 65ef01931fSBen Gras# to the MacBinary III format. The checksum is really the way to 66ef01931fSBen Gras# do it, but the magic file format isn't up to the challenge. 67ef01931fSBen Gras# 68ef01931fSBen Gras# 0 byte 0 69ef01931fSBen Gras# 1 byte # filename length 70ef01931fSBen Gras# 2 string # filename 71ef01931fSBen Gras# 65 string # file type 72ef01931fSBen Gras# 69 string # file creator 73ef01931fSBen Gras# 73 byte # Finder flags 74ef01931fSBen Gras# 74 byte 0 75ef01931fSBen Gras# 75 beshort # vertical posn in window 76ef01931fSBen Gras# 77 beshort # horiz posn in window 77ef01931fSBen Gras# 79 beshort # window or folder ID 78ef01931fSBen Gras# 81 byte # protected? 79ef01931fSBen Gras# 82 byte 0 80ef01931fSBen Gras# 83 belong # length of data segment 81ef01931fSBen Gras# 87 belong # length of resource segment 82ef01931fSBen Gras# 91 belong # file creation date 83ef01931fSBen Gras# 95 belong # file modification date 84ef01931fSBen Gras# 99 beshort # length of comment after resource 85ef01931fSBen Gras# 101 byte # new Finder flags 86ef01931fSBen Gras# 102 string mBIN # (only in MacBinary III) 87ef01931fSBen Gras# 106 byte # char. code of file name 88ef01931fSBen Gras# 107 byte # still more Finder flags 89ef01931fSBen Gras# 116 belong # total file length 90ef01931fSBen Gras# 120 beshort # length of add'l header 91ef01931fSBen Gras# 122 byte 129 # for MacBinary II 92ef01931fSBen Gras# 122 byte 130 # for MacBinary III 93ef01931fSBen Gras# 123 byte 129 # minimum version that can read fmt 94ef01931fSBen Gras# 124 beshort # checksum 95ef01931fSBen Gras# 96ef01931fSBen Gras# This attempts to use the version numbers as a magic number, requiring 97ef01931fSBen Gras# that the first one be 0x80, 0x81, 0x82, or 0x83, and that the second 98ef01931fSBen Gras# be 0x81. This works for the files I have, but maybe not for everyone's. 99ef01931fSBen Gras 100ef01931fSBen Gras# Unfortunately, this magic is quite weak - MPi 101ef01931fSBen Gras#122 beshort&0xFCFF 0x8081 Macintosh MacBinary data 102ef01931fSBen Gras 103ef01931fSBen Gras# MacBinary I doesn't have the version number field at all, but MacBinary II 104ef01931fSBen Gras# has been in use since 1987 so I hope there aren't many really old files 105ef01931fSBen Gras# floating around that this will miss. The original spec calls for using 106ef01931fSBen Gras# the nulls in 0, 74, and 82 as the magic number. 107ef01931fSBen Gras# 108ef01931fSBen Gras# Another possibility, that would also work for MacBinary I, is to use 109ef01931fSBen Gras# the assumption that 65-72 will all be ASCII (0x20-0x7F), that 73 will 110ef01931fSBen Gras# have bits 1 (changed), 2 (busy), 3 (bozo), and 6 (invisible) unset, 111ef01931fSBen Gras# and that 74 will be 0. So something like 112ef01931fSBen Gras# 113ef01931fSBen Gras# 71 belong&0x80804EFF 0x00000000 Macintosh MacBinary data 114ef01931fSBen Gras# 115ef01931fSBen Gras# >73 byte&0x01 0x01 \b, inited 116ef01931fSBen Gras# >73 byte&0x02 0x02 \b, changed 117ef01931fSBen Gras# >73 byte&0x04 0x04 \b, busy 118ef01931fSBen Gras# >73 byte&0x08 0x08 \b, bozo 119ef01931fSBen Gras# >73 byte&0x10 0x10 \b, system 120ef01931fSBen Gras# >73 byte&0x10 0x20 \b, bundle 121ef01931fSBen Gras# >73 byte&0x10 0x40 \b, invisible 122ef01931fSBen Gras# >73 byte&0x10 0x80 \b, locked 123ef01931fSBen Gras 124ef01931fSBen Gras#>65 string x \b, type "%4.4s" 125ef01931fSBen Gras 126ef01931fSBen Gras#>65 string 8BIM (PhotoShop) 127ef01931fSBen Gras#>65 string ALB3 (PageMaker 3) 128ef01931fSBen Gras#>65 string ALB4 (PageMaker 4) 129ef01931fSBen Gras#>65 string ALT3 (PageMaker 3) 130ef01931fSBen Gras#>65 string APPL (application) 131ef01931fSBen Gras#>65 string AWWP (AppleWorks word processor) 132ef01931fSBen Gras#>65 string CIRC (simulated circuit) 133ef01931fSBen Gras#>65 string DRWG (MacDraw) 134ef01931fSBen Gras#>65 string EPSF (Encapsulated PostScript) 135ef01931fSBen Gras#>65 string FFIL (font suitcase) 136ef01931fSBen Gras#>65 string FKEY (function key) 137ef01931fSBen Gras#>65 string FNDR (Macintosh Finder) 138ef01931fSBen Gras#>65 string GIFf (GIF image) 139ef01931fSBen Gras#>65 string Gzip (GNU gzip) 140ef01931fSBen Gras#>65 string INIT (system extension) 141ef01931fSBen Gras#>65 string LIB\ (library) 142ef01931fSBen Gras#>65 string LWFN (PostScript font) 143ef01931fSBen Gras#>65 string MSBC (Microsoft BASIC) 144ef01931fSBen Gras#>65 string PACT (Compact Pro archive) 145ef01931fSBen Gras#>65 string PDF\ (Portable Document Format) 146ef01931fSBen Gras#>65 string PICT (picture) 147ef01931fSBen Gras#>65 string PNTG (MacPaint picture) 148ef01931fSBen Gras#>65 string PREF (preferences) 149ef01931fSBen Gras#>65 string PROJ (Think C project) 150ef01931fSBen Gras#>65 string QPRJ (Think Pascal project) 151ef01931fSBen Gras#>65 string SCFL (Defender scores) 152ef01931fSBen Gras#>65 string SCRN (startup screen) 153ef01931fSBen Gras#>65 string SITD (StuffIt Deluxe) 154ef01931fSBen Gras#>65 string SPn3 (SuperPaint) 155ef01931fSBen Gras#>65 string STAK (HyperCard stack) 156ef01931fSBen Gras#>65 string Seg\ (StuffIt segment) 157ef01931fSBen Gras#>65 string TARF (Unix tar archive) 158ef01931fSBen Gras#>65 string TEXT (ASCII) 159ef01931fSBen Gras#>65 string TIFF (TIFF image) 160ef01931fSBen Gras#>65 string TOVF (Eudora table of contents) 161ef01931fSBen Gras#>65 string WDBN (Microsoft Word word processor) 162ef01931fSBen Gras#>65 string WORD (MacWrite word processor) 163ef01931fSBen Gras#>65 string XLS\ (Microsoft Excel) 164ef01931fSBen Gras#>65 string ZIVM (compress (.Z)) 165ef01931fSBen Gras#>65 string ZSYS (Pre-System 7 system file) 166ef01931fSBen Gras#>65 string acf3 (Aldus FreeHand) 167ef01931fSBen Gras#>65 string cdev (control panel) 168*0a6a1f1dSLionel Sambuc#>65 string dfil (Desk Accessory suitcase) 169ef01931fSBen Gras#>65 string libr (library) 170ef01931fSBen Gras#>65 string nX^d (WriteNow word processor) 171ef01931fSBen Gras#>65 string nX^w (WriteNow dictionary) 172ef01931fSBen Gras#>65 string rsrc (resource) 173ef01931fSBen Gras#>65 string scbk (Scrapbook) 174ef01931fSBen Gras#>65 string shlb (shared library) 175ef01931fSBen Gras#>65 string ttro (SimpleText read-only) 176ef01931fSBen Gras#>65 string zsys (system file) 177ef01931fSBen Gras 178ef01931fSBen Gras#>69 string x \b, creator "%4.4s" 179ef01931fSBen Gras 180ef01931fSBen Gras# Somewhere, Apple has a repository of registered Creator IDs. These are 181ef01931fSBen Gras# just the ones that I happened to have files from and was able to identify. 182ef01931fSBen Gras 183ef01931fSBen Gras#>69 string 8BIM (Adobe Photoshop) 184ef01931fSBen Gras#>69 string ALD3 (PageMaker 3) 185ef01931fSBen Gras#>69 string ALD4 (PageMaker 4) 186ef01931fSBen Gras#>69 string ALFA (Alpha editor) 187ef01931fSBen Gras#>69 string APLS (Apple Scanner) 188ef01931fSBen Gras#>69 string APSC (Apple Scanner) 189ef01931fSBen Gras#>69 string BRKL (Brickles) 190ef01931fSBen Gras#>69 string BTFT (BitFont) 191ef01931fSBen Gras#>69 string CCL2 (Common Lisp 2) 192ef01931fSBen Gras#>69 string CCL\ (Common Lisp) 193ef01931fSBen Gras#>69 string CDmo (The Talking Moose) 194ef01931fSBen Gras#>69 string CPCT (Compact Pro) 195ef01931fSBen Gras#>69 string CSOm (Eudora) 196ef01931fSBen Gras#>69 string DMOV (Font/DA Mover) 197ef01931fSBen Gras#>69 string DSIM (DigSim) 198ef01931fSBen Gras#>69 string EDIT (Macintosh Edit) 199ef01931fSBen Gras#>69 string ERIK (Macintosh Finder) 200ef01931fSBen Gras#>69 string EXTR (self-extracting archive) 201ef01931fSBen Gras#>69 string Gzip (GNU gzip) 202ef01931fSBen Gras#>69 string KAHL (Think C) 203ef01931fSBen Gras#>69 string LWFU (LaserWriter Utility) 204ef01931fSBen Gras#>69 string LZIV (compress) 205ef01931fSBen Gras#>69 string MACA (MacWrite) 206ef01931fSBen Gras#>69 string MACS (Macintosh operating system) 207ef01931fSBen Gras#>69 string MAcK (MacKnowledge terminal emulator) 208ef01931fSBen Gras#>69 string MLND (Defender) 209ef01931fSBen Gras#>69 string MPNT (MacPaint) 210ef01931fSBen Gras#>69 string MSBB (Microsoft BASIC (binary)) 211ef01931fSBen Gras#>69 string MSWD (Microsoft Word) 212ef01931fSBen Gras#>69 string NCSA (NCSA Telnet) 213ef01931fSBen Gras#>69 string PJMM (Think Pascal) 214ef01931fSBen Gras#>69 string PSAL (Hunt the Wumpus) 215ef01931fSBen Gras#>69 string PSI2 (Apple File Exchange) 216ef01931fSBen Gras#>69 string R*ch (BBEdit) 217ef01931fSBen Gras#>69 string RMKR (Resource Maker) 218ef01931fSBen Gras#>69 string RSED (Resource Editor) 219ef01931fSBen Gras#>69 string Rich (BBEdit) 220ef01931fSBen Gras#>69 string SIT! (StuffIt) 221ef01931fSBen Gras#>69 string SPNT (SuperPaint) 222ef01931fSBen Gras#>69 string Unix (NeXT Mac filesystem) 223ef01931fSBen Gras#>69 string VIM! (Vim editor) 224ef01931fSBen Gras#>69 string WILD (HyperCard) 225ef01931fSBen Gras#>69 string XCEL (Microsoft Excel) 226ef01931fSBen Gras#>69 string aCa2 (Fontographer) 227ef01931fSBen Gras#>69 string aca3 (Aldus FreeHand) 228ef01931fSBen Gras#>69 string dosa (Macintosh MS-DOS file system) 229ef01931fSBen Gras#>69 string movr (Font/DA Mover) 230ef01931fSBen Gras#>69 string nX^n (WriteNow) 231ef01931fSBen Gras#>69 string pdos (Apple ProDOS file system) 232ef01931fSBen Gras#>69 string scbk (Scrapbook) 233ef01931fSBen Gras#>69 string ttxt (SimpleText) 234ef01931fSBen Gras#>69 string ufox (Foreign File Access) 235ef01931fSBen Gras 236ef01931fSBen Gras# Just in case... 237ef01931fSBen Gras 238ef01931fSBen Gras102 string mBIN MacBinary III data with surprising version number 239ef01931fSBen Gras 240ef01931fSBen Gras# sas magic from Bruce Foster (bef@nwu.edu) 241ef01931fSBen Gras# 242ef01931fSBen Gras#0 string SAS SAS 243ef01931fSBen Gras#>8 string x %s 244ef01931fSBen Gras0 string SAS SAS 245ef01931fSBen Gras>24 string DATA data file 246ef01931fSBen Gras>24 string CATALOG catalog 247ef01931fSBen Gras>24 string INDEX data file index 248ef01931fSBen Gras>24 string VIEW data view 249ef01931fSBen Gras# sas 7+ magic from Reinhold Koch (reinhold.koch@roche.com) 250ef01931fSBen Gras# 251ef01931fSBen Gras0x54 string SAS SAS 7+ 252ef01931fSBen Gras>0x9C string DATA data file 253ef01931fSBen Gras>0x9C string CATALOG catalog 254ef01931fSBen Gras>0x9C string INDEX data file index 255ef01931fSBen Gras>0x9C string VIEW data view 256ef01931fSBen Gras 257ef01931fSBen Gras# spss magic for SPSS system and portable files, 258ef01931fSBen Gras# from Bruce Foster (bef@nwu.edu). 259ef01931fSBen Gras 260ef01931fSBen Gras0 long 0xc1e2c3c9 SPSS Portable File 261ef01931fSBen Gras>40 string x %s 262ef01931fSBen Gras 263ef01931fSBen Gras0 string $FL2 SPSS System File 264ef01931fSBen Gras>24 string x %s 265ef01931fSBen Gras 266*0a6a1f1dSLionel Sambuc0 string $FL3 SPSS System File 267*0a6a1f1dSLionel Sambuc>24 string x %s 268*0a6a1f1dSLionel Sambuc 269ef01931fSBen Gras# Macintosh filesystem data 270ef01931fSBen Gras# From "Tom N Harris" <telliamed@mac.com> 271ef01931fSBen Gras# Fixed HFS+ and Partition map magic: Ethan Benson <erbenson@alaska.net> 272ef01931fSBen Gras# The MacOS epoch begins on 1 Jan 1904 instead of 1 Jan 1970, so these 273ef01931fSBen Gras# entries depend on the data arithmetic added after v.35 274ef01931fSBen Gras# There's also some Pascal strings in here, ditto... 275ef01931fSBen Gras 276ef01931fSBen Gras# The boot block signature, according to IM:Files, is 277ef01931fSBen Gras# "for HFS volumes, this field always contains the value 0x4C4B." 278ef01931fSBen Gras# But if this is true for MFS or HFS+ volumes, I don't know. 279ef01931fSBen Gras# Alternatively, the boot block is supposed to be zeroed if it's 280ef01931fSBen Gras# unused, so a simply >0 should suffice. 281ef01931fSBen Gras 282ef01931fSBen Gras0x400 beshort 0xD2D7 Macintosh MFS data 283ef01931fSBen Gras>0 beshort 0x4C4B (bootable) 284ef01931fSBen Gras>0x40a beshort &0x8000 (locked) 285ef01931fSBen Gras>0x402 beldate-0x7C25B080 x created: %s, 286ef01931fSBen Gras>0x406 beldate-0x7C25B080 >0 last backup: %s, 287ef01931fSBen Gras>0x414 belong x block size: %d, 288ef01931fSBen Gras>0x412 beshort x number of blocks: %d, 289ef01931fSBen Gras>0x424 pstring x volume name: %s 290ef01931fSBen Gras 291*0a6a1f1dSLionel Sambuc# *.hfs updated by Joerg Jenderek 292*0a6a1f1dSLionel Sambuc# http://en.wikipedia.org/wiki/Hierarchical_File_System 293835f6802SDirk Vogt# "BD" gives many false positives 294*0a6a1f1dSLionel Sambuc0x400 beshort 0x4244 295*0a6a1f1dSLionel Sambuc# ftp://ftp.mars.org/pub/hfs/hfsutils-3.2.6.tar.gz/hfsutils-3.2.6/libhfs/apple.h 296*0a6a1f1dSLionel Sambuc# first block of volume bit map (always 3) 297*0a6a1f1dSLionel Sambuc>0x40e ubeshort 0x0003 298*0a6a1f1dSLionel Sambuc# maximal length of volume name is 27 299*0a6a1f1dSLionel Sambuc>>0x424 ubyte <28 Macintosh HFS data 300*0a6a1f1dSLionel Sambuc#!:mime application/octet-stream 301*0a6a1f1dSLionel Sambuc# these mime and apple types are not sure 302*0a6a1f1dSLionel Sambuc!:mime application/x-apple-diskimage 303*0a6a1f1dSLionel Sambuc#!:apple hfsdINIT 304*0a6a1f1dSLionel Sambuc#!:apple MACSdisk 305*0a6a1f1dSLionel Sambuc>>>0 beshort 0x4C4B (bootable) 306*0a6a1f1dSLionel Sambuc#>>>0 beshort 0x0000 (not bootable) 307*0a6a1f1dSLionel Sambuc>>>0x40a beshort &0x8000 (locked) 308*0a6a1f1dSLionel Sambuc>>>0x40a beshort ^0x0100 (mounted) 309*0a6a1f1dSLionel Sambuc>>>0x40a beshort &0x0200 (spared blocks) 310*0a6a1f1dSLionel Sambuc>>>0x40a beshort &0x0800 (unclean) 311*0a6a1f1dSLionel Sambuc>>>0x47C beshort 0x482B (Embedded HFS+ Volume) 312*0a6a1f1dSLionel Sambuc# http://www.epochconverter.com/ 313*0a6a1f1dSLionel Sambuc# 0x7C245F00 seconds ~ 2082758400 ~ 01 Jan 2036 00:00:00 ~ 66 years to 1970 314*0a6a1f1dSLionel Sambuc# 0x7C25B080 seconds ~ 2082844800 ~ 02 Jan 2036 00:00:00 315*0a6a1f1dSLionel Sambuc# construct not working 316*0a6a1f1dSLionel Sambuc#>>>0x402 beldate-0x7C25B080 x created: %s, 317*0a6a1f1dSLionel Sambuc#>>>0x406 beldate-0x7C25B080 x last modified: %s, 318*0a6a1f1dSLionel Sambuc#>>>0x440 beldate-0x7C25B080 >0 last backup: %s, 319*0a6a1f1dSLionel Sambuc# found block sizes 200h,1200h,2800h 320*0a6a1f1dSLionel Sambuc>>>0x414 belong x block size: %d, 321*0a6a1f1dSLionel Sambuc>>>0x412 beshort x number of blocks: %d, 322*0a6a1f1dSLionel Sambuc>>>0x424 pstring x volume name: %s 323ef01931fSBen Gras 324ef01931fSBen Gras0x400 beshort 0x482B Macintosh HFS Extended 325ef01931fSBen Gras>&0 beshort x version %d data 326ef01931fSBen Gras>0 beshort 0x4C4B (bootable) 327ef01931fSBen Gras>0x404 belong ^0x00000100 (mounted) 328ef01931fSBen Gras>&2 belong &0x00000200 (spared blocks) 329ef01931fSBen Gras>&2 belong &0x00000800 (unclean) 330ef01931fSBen Gras>&2 belong &0x00008000 (locked) 331ef01931fSBen Gras>&6 string x last mounted by: '%.4s', 332ef01931fSBen Gras# really, that should be treated as a belong and we print a string 333ef01931fSBen Gras# based on the value. TN1150 only mentions '8.10' for "MacOS 8.1" 334ef01931fSBen Gras>&14 beldate-0x7C25B080 x created: %s, 335ef01931fSBen Gras# only the creation date is local time, all other timestamps in HFS+ are UTC. 336ef01931fSBen Gras>&18 bedate-0x7C25B080 x last modified: %s, 337ef01931fSBen Gras>&22 bedate-0x7C25B080 >0 last backup: %s, 338ef01931fSBen Gras>&26 bedate-0x7C25B080 >0 last checked: %s, 339ef01931fSBen Gras>&38 belong x block size: %d, 340ef01931fSBen Gras>&42 belong x number of blocks: %d, 341ef01931fSBen Gras>&46 belong x free blocks: %d 342ef01931fSBen Gras 343ef01931fSBen Gras## AFAIK, only the signature is different 344*0a6a1f1dSLionel Sambuc# same as Apple Partition Map 345*0a6a1f1dSLionel Sambuc# GRR: This magic is too weak, it is just "TS" 346ef01931fSBen Gras#0x200 beshort 0x5453 Apple Old Partition data 347ef01931fSBen Gras#>0x2 beshort x block size: %d, 348ef01931fSBen Gras#>0x230 string x first type: %s, 349ef01931fSBen Gras#>0x210 string x name: %s, 350ef01931fSBen Gras#>0x254 belong x number of blocks: %d, 351ef01931fSBen Gras#>0x400 beshort 0x504D 352ef01931fSBen Gras#>>0x430 string x second type: %s, 353ef01931fSBen Gras#>>0x410 string x name: %s, 354ef01931fSBen Gras#>>0x454 belong x number of blocks: %d, 355ef01931fSBen Gras#>>0x800 beshort 0x504D 356ef01931fSBen Gras#>>>0x830 string x third type: %s, 357ef01931fSBen Gras#>>>0x810 string x name: %s, 358ef01931fSBen Gras#>>>0x854 belong x number of blocks: %d, 359ef01931fSBen Gras#>>>0xa00 beshort 0x504D 360ef01931fSBen Gras#>>>>0xa30 string x fourth type: %s, 361ef01931fSBen Gras#>>>>0xa10 string x name: %s, 362ef01931fSBen Gras#>>>>0xa54 belong x number of blocks: %d 363ef01931fSBen Gras 364ef01931fSBen Gras# From: Remi Mommsen <mommsen@slac.stanford.edu> 365ef01931fSBen Gras0 string BOMStore Mac OS X bill of materials (BOM) file 366835f6802SDirk Vogt 367835f6802SDirk Vogt# From: Adam Buchbinder <adam.buchbinder@gmail.com> 368835f6802SDirk Vogt# URL: http://en.wikipedia.org/wiki/Datafork_TrueType 369835f6802SDirk Vogt# Derived from the 'fondu' and 'ufond' source code (fondu.sf.net). 'sfnt' is 370835f6802SDirk Vogt# TrueType; 'POST' is PostScript. 'FONT' and 'NFNT' sometimes appear, but I 371835f6802SDirk Vogt# don't know what they mean. 372835f6802SDirk Vogt0 belong 0x100 373835f6802SDirk Vogt>(0x4.L+24) beshort x 374835f6802SDirk Vogt>>&4 belong 0x73666e74 Mac OSX datafork font, TrueType 375835f6802SDirk Vogt>>&4 belong 0x464f4e54 Mac OSX datafork font, 'FONT' 376835f6802SDirk Vogt>>&4 belong 0x4e464e54 Mac OSX datafork font, 'NFNT' 377835f6802SDirk Vogt>>&4 belong 0x504f5354 Mac OSX datafork font, PostScript 378