Files
mars-nwe/tests/afp/AFP_DELETED_FILE_INFO.md
ai 59bfdd65b2
All checks were successful
Source release / source-package (push) Successful in 52s
afp: persist ProDOS info metadata
2026-06-01 11:51:05 +02:00

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)

AFP 0x13 translates the WebSDK/NWAFP wire request to the mars_nwe salvage entry and then append AFP-specific deleted Macintosh metadata.

Intended future mapping

AFP 0x13 behaves 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 from the Salvage JSON snapshot (prodos_info_hex), which is captured from the nwatalk ProDOSInfo xattr backend.
  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.