Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!eu.feeder.erje.net!eternal-september.org!feeder.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: D Finnigan Newsgroups: comp.sys.apple2.programmer Subject: Re: spec for file entry for ProDOS extended (forked) =?UTF-8?B?ZmlsZXM/?= Date: Mon, 18 Aug 2014 17:08:09 +0000 (UTC) Organization: Mac GUI Lines: 51 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Injection-Date: Mon, 18 Aug 2014 17:08:09 +0000 (UTC) Injection-Info: mx05.eternal-september.org; posting-host="ac9e0e4d7dd3957fb97803ee6801bab8"; logging-data="8738"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18VMW4q9qTp65WvsIe5rwYn" User-Agent: Mac GUI Usenet In-Reply-To: Cancel-Lock: sha1:KHMlgDq0q+BBNNqdL5sFl/fkNEA= Xref: csiph.com comp.sys.apple2.programmer:1273 Look at the GS/OS source. That, and the Tech Note, were my sources for writing the implementation that I use in Format Converter for Mac GUI Vault. In fact, this is a large block that I have copied into the source code as a comment: Storage type $5 is used by the ProDOS FST in GS/OS to store extended files. The key block of the file points to an extended key block entry. The extended key block entry contains mini-directory entries for both the data fork and resource fork of the file. The mini-entry for the data fork is at offset +000 of the extended key block, and the mini-entry for the resource fork is at offset +$100 (+256 decimal). The format for mini-entries is as follows: storage_type (+000) Byte The standard ProDOS storage type for this fork of the file. Note that for regular directory entries, the storage type is the high nibble of a byte that contains the length of the filename as the low nibble. In mini-entries, the high nibble is reserved and must be zero, and the storage type is contained in the low nibble. key_block (+001) Word The block number of the key block of this fork. This value and the value of storage_type combine to determine how to find the data in the file, as documented in the ProDOS 8 Technical Reference Manual. blocks_used (+003) Word The number of blocks used by this fork of the file. EOF (+005) 3 Bytes Three-byte value (least significant byte stored first) representing the end-of-file value for this fork of the file. All remaining bytes in the extended key block are reserved and must be zero. -- ]DF$ Apple II Book: http://macgui.com/newa2guide/ Usenet: http://macgui.com/usenet/ <-- get posts by email! Apple II Web & Blog hosting: http://a2hq.com/