All checks were successful
Source release / source-package (push) Successful in 48s
Wire NCP 0x23/0x05 AFP Get File Information to a conservative read-only reply for SYS:-style paths. The WebSDK documents NCP 0x2222/35/05 as taking a Volume Number, AFP Entry ID, request bit map, and AFP path modifier string, and returning an AFP file information record with entry id, parent id, attributes, data and resource fork lengths, offspring count, NetWare dates, Finder Info, long and short names, owner id, access privileges, and ProDOS information. The SDK headers expose the same call as AFPGetFileInformation() and NWAFPGetFileInformation(), with the wire reply matching RECPKT_AFPFILEINFO. Resolve the supplied path through the existing mars_nwe path machinery, require the optional Netatalk/libatalk backend as for the entry-id probe, and fill the fields that can be derived safely from Unix stat data and the existing libatalk helpers. Finder Info and resource fork length are read through nwatalk when present; entry ids fall back to the existing stat-derived AFP id until persistent CNID/AppleDouble ids are implemented. Parent id and ProDOS-specific data remain zero for now. Add a Linux afp_file_info_smoke test using ncpfs/libncp so the new call can be exercised without an AppleTalk client. The test sends raw SYS:-style paths with directory handle 0, matching the verified AFP Entry ID smoke-test path. This implements only the read-only AFP file information query for path-based requests; entry-id-only lookup, persistent CNID mapping, and write-side AFP semantics remain future work.