| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 | 
#------------------------------------------------------------------------------# $File: palm,v 1.11 2013/12/31 19:18:02 christos Exp $# palm:	 file(1) magic for PalmOS {.prc,.pdb}: applications, docfiles, and hacks## Brian Lalor <blalor@hcirisc.cs.binghamton.edu># These are weak, byte 59 is not guaranteed to be 0 and there are# 8 character identifiers at byte 60, one I found for appl is BIGb.# What are the possibilities and where is this documented?# The common header format for PalmOS .pdb/.prc files is# {#         char            name[ 32 ];#         Word            attributes;#         Word            version;#         DWord           creationDate;#         DWord           modificationDate;#         DWord           lastBackupDate;#         DWord           modificationNumber;#         DWord           appInfoID;#         DWord           sortInfoID;#         char            type[4];#         char            creator[4];#         DWord           uniqueIDSeed;#         RecordListType  recordList;# };## Datestamps are unsigned seconds since the MacOS epoch (Jan 1, 1904),# or Unix/POSIX time + 2082844800.0		name		aportisdoc# date is supposed to be big-endian seconds since 1 Jan 1904, but many# files contain the timestamp in little-endian or a completely# nonsensical value...#>36		bedate-2082844800	>0	\b, created %s# compression: 1=uncomp, 2=orig, 0x4448=HuffDic>(78.L)		beshort		=1		\b, uncompressed# compressed>(78.L)		beshort		>1>>(78.L+4)	belong		x		\b, %d bytes uncompressed# appl#60		string		appl		PalmOS application#>0		string		>\0		"%s"# HACK#60		string		HACK		HackMaster hack#>0		string		>\0		"%s"# iSiloX e-book60		string		SDocSilX	iSiloX E-book>0		string		>\0		"%s"# Mobipocket (www.mobipocket.com), donated by Carl Witty# expanded by Ralf Brown60		string	 	BOOKMOBI	Mobipocket E-book# MobiPocket stores a full title, pointed at by the belong at offset# 0x54 in its header at (78.L), with length given by the belong at# offset 0x58.# there's no guarantee that the title string is null-terminated, but# we currently can't specify a variable-length string where the length# field is not at the start of the string; in practice, the data# following the string always seems to start with a zero byte>(78.L)		belong		x>>&(&0x50.L-4)	string		>\0		"%s">0		use		aportisdoc>>(78.L+0x68)	belong		>0		\b, version %d>>(78.L+0x1C)	belong		!0		\b, codepage %d>>(78.L+0x0C)	beshort	 	>0		\b, encrypted (type %d)# AportisDoc/PalmDOC60		string		TEXtREAd	AportisDoc/PalmDOC E-book>0		string		>\0		"%s">0		use		aportisdoc# Variety of PalmOS document types# Michael-John Turner <mj@debian.org># Thanks to Hasan Umit Ezerce <humit@tr-net.net.tr> for his DocType60	string			BVokBDIC	BDicty PalmOS document>0	string			>\0		"%s"60	string			DB99DBOS	DB PalmOS document>0	string			>\0		"%s"60	string			vIMGView	FireViewer/ImageViewer PalmOS document>0	string			>\0		"%s"60	string			PmDBPmDB	HanDBase PalmOS document>0	string			>\0		"%s"60	string			InfoINDB	InfoView PalmOS document>0	string			>\0		"%s"60	string			ToGoToGo	iSilo PalmOS document>0	string			>\0		"%s"60	string			JfDbJBas	JFile PalmOS document>0	string			>\0		"%s"60	string			JfDbJFil	JFile Pro PalmOS document>0	string			>\0		"%s"60	string			DATALSdb	List PalmOS document>0	string			>\0		"%s"60	string			Mdb1Mdb1	MobileDB PalmOS document>0	string			>\0		"%s"60	string			PNRdPPrs	PeanutPress PalmOS document>0	string			>\0		"%s"60	string			DataPlkr	Plucker PalmOS document>0	string			>\0		"%s"60	string			DataSprd	QuickSheet PalmOS document>0	string			>\0		"%s"60	string			SM01SMem	SuperMemo PalmOS document>0	string			>\0		"%s"60	string			TEXtTlDc	TealDoc PalmOS document>0	string			>\0		"%s"60	string			InfoTlIf	TealInfo PalmOS document>0	string			>\0		"%s"60	string			DataTlMl	TealMeal PalmOS document>0	string			>\0		"%s"60	string			DataTlPt	TealPaint PalmOS document>0	string			>\0		"%s"60	string			dataTDBP	ThinkDB PalmOS document>0	string			>\0		"%s"60	string			TdatTide	Tides PalmOS document>0	string			>\0		"%s"60	string			ToRaTRPW	TomeRaider PalmOS document>0	string			>\0		"%s"# A GutenPalm zTXT etext for use on Palm Pilots (http://gutenpalm.sf.net)# For version 1.xx zTXTs, outputs version and numbers of bookmarks and#   annotations.# For other versions, just outputs version.#60		string		zTXT		A GutenPalm zTXT e-book>0		string		>\0		"%s">(0x4E.L)	byte		0>>(0x4E.L+1)	byte		x		(v0.%02d)>(0x4E.L)	byte		1>>(0x4E.L+1)	byte		x		(v1.%02d)>>>(0x4E.L+10)	beshort		>0>>>>(0x4E.L+10) beshort		<2		- 1 bookmark>>>>(0x4E.L+10) beshort		>1		- %d bookmarks>>>(0x4E.L+14)	beshort		>0>>>>(0x4E.L+14) beshort		<2		- 1 annotation>>>>(0x4E.L+14) beshort		>1		- %d annotations>(0x4E.L)	byte		>1		(v%d.>>(0x4E.L+1)	byte		x		%02d)# Palm OS .prc file types60		string		libr		Palm OS dynamic library data>0		string		>\0		"%s"60		string		ptch		Palm OS operating system patch data>0		string		>\0		"%s"# Mobipocket (www.mobipocket.com), donated by Carl Witty60	string			BOOKMOBI	Mobipocket E-book>0	string			>\0		"%s"
 |