58 lines
2.4 KiB
Markdown
58 lines
2.4 KiB
Markdown
# 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:
|
|
|
|
```text
|
|
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.
|