Files
mars-nwe/tests/afp/AFP_DELETED_FILE_INFO.md

2.4 KiB

AFP deleted-file Macintosh metadata

AFP Get Macintosh Info On Deleted Files is NetWare AFP subfunction 0x13. Keep it documented as an unsupported, salvage-backend-dependent endpoint for the current AFP compatibility slice.

Why this is not implemented directly

The request is not a normal path, name, or file-handle metadata query. It is keyed by a volume number and a DOS directory entry for a deleted Macintosh directory entry. The reply shape is also salvage-specific: Finder information, ProDOS information, resource fork size, and the deleted file name.

That means the AFP call is an adapter on top of NetWare salvage/deleted-entry state, not an independent AFP metadata lookup. Implementing it directly in the AFP handler would create a parallel deleted-file path and would violate the current rule that AFP endpoints reuse mars_nwe backend semantics.

Required mars_nwe backend first

Before implementing AFP subfunction 0x13, the normal NetWare salvage backend must exist and be verified. The relevant non-AFP NCP family is:

  • NCP 0x2222 / 87 / 16 - Scan Salvageable Files
  • NCP 0x2222 / 87 / 17 - Recover Salvageable File
  • NCP 0x2222 / 87 / 18 - Purge Salvageable File
  • optional legacy NCP 0x2222 / 22 / 27 - Scan Salvageable File (old)

Once that backend is present, AFP 0x13 should only translate the WebSDK/NWAFP wire request to the mars_nwe salvage entry and then append AFP-specific deleted Macintosh metadata.

Intended future mapping

When the salvage backend exists, AFP 0x13 should behave like this:

  1. Validate the request volume and DOS directory entry.
  2. Look up the deleted entry through the mars_nwe salvage/deleted-entry backend.
  3. Return FinderInfo from the AFP metadata store when available, otherwise zeroes.
  4. Return ProDOS information as zeroes unless mars_nwe gains a real ProDOS store.
  5. Return resource fork size as zero while resource forks remain unsupported.
  6. Return the deleted file name from the salvage entry, not from a live path scan.

Current audit status

Current status for the AFP inventory and final audit:

0x13 AFP Get Macintosh Info On Deleted Files
status: unsupported / final-audit item
reason: requires mars_nwe salvage/deleted-entry backend first
do not: implement a standalone AFP-local deleted-file scan

This keeps the AFP implementation aligned with the rest of the current design: NetWare semantics come from mars_nwe core paths, while AFP-only metadata is kept small and explicit.