| 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-book
 
- 60		string		SDocSilX	iSiloX E-book
 
- >0		string		>\0		"%s"
 
- # Mobipocket (www.mobipocket.com), donated by Carl Witty
 
- # expanded by Ralf Brown
 
- 60		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/PalmDOC
 
- 60		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 DocType
 
- 60	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 types
 
- 60		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 Witty
 
- 60	string			BOOKMOBI	Mobipocket E-book
 
- >0	string			>\0		"%s"
 
 
  |