From 05b8dc8875e219bd90487dc1b07cf06209b4ec06 Mon Sep 17 00:00:00 2001 From: AI Patch Date: Mon, 1 Jun 2026 22:51:40 +0000 Subject: [PATCH] docs: index unaudited ncp2222 sdk blocks --- AI.md | 2 ++ TODO.md | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 78 insertions(+) diff --git a/AI.md b/AI.md index 1674695..447643a 100644 --- a/AI.md +++ b/AI.md @@ -38,6 +38,8 @@ use, the current project status that the user pasted into the chat. - If a PDF/WebSDK page title and an internal table row disagree, prefer the endpoint title plus include/WebSDK cross-checks and record the mismatch instead of inventing a new wire case. Example: `0x2222/23 Verify Serialization` is titled SDK decimal `23/12` / wire `0x0c`, even though one PDF table row prints `SubFunctionCode (212)`; do not add a wire `0xd4` case without a packet trace or include-level confirmation. - In `TODO.md` and endpoint summaries, avoid ambiguous mixed notation for grouped subfunctions. Write SDK/PDF numbers as decimal and include the wire byte explicitly when it differs or could be confused, for example `SDK 22/18 / wire 0x12` or `SDK 22/12 / wire 0x0c`. Do not write `22/12` for a wire `case 0x12` unless the SDK number is actually decimal 12. - Keep `TODO.md` endpoint audit notes grouped by endpoint family and NetWare generation instead of as one long flat list. +- Before starting the next detailed endpoint block, maintain a coverage index for SDK/WebSDK-listed `0x2222` groups that are not yet audited. Classify each group as present in code but not audited, missing a top-level handler, or likely later-generation/unclear. This index is only a planning aid: do not add active TODO work or source stubs until the specific block has been checked for handoffs and bucketed by oldest documented NetWare generation. +- For SDK-listed groups that appear missing from `nwconn.c`, also search destination files such as `nwbind.c`, queue helpers, salvage helpers, AFP/name-space dispatchers, and any prehandler path before declaring the endpoint absent. - The rejected `0152-docs-note-message-control-subfunction.patch` must not be applied: it documented `0x2222/21/0x0c Connection Message Control`, which is outside the default NetWare 1.x/2.x/3.x MARS-NWE target scope. ## mars-nwe coding style rules diff --git a/TODO.md b/TODO.md index f4c1257..8a2f32b 100644 --- a/TODO.md +++ b/TODO.md @@ -155,6 +155,82 @@ NetWare 4.x planning/stub bucket: should be documented as a plan and, if a source stub is useful, guarded with `#if MARS_NWE_4` while the macro remains `0`. +#### SDK-listed 0x2222 blocks not yet endpoint-audited + +Current status: + +- The local NDK/Core-Protocols PDF and uploaded WebSDK/includes list several + `0x2222` endpoint families that are not yet covered by the detailed + per-endpoint audit above. This section is an index only; do not treat an + entry here as implemented, missing, or in-scope until the block is compared + against the real dispatcher and bucketed by the oldest documented NetWare + generation. +- Use SDK/PDF decimal numbers plus wire hex when drilling into a block. For + example, SDK group `0x2222/23` is the top-level wire `case 0x17`; SDK group + `0x2222/89` would be top-level wire `case 0x59`. + +Present in the code but not yet fully endpoint-audited: + +- SDK `0x2222/23` / wire `0x17` File Server Environment: the audit has started + with file-information, login/connection, and bindery-object calls. Remaining + property, set, password, queue, and management/admin subfunctions still need + the same PDF/WebSDK/include comparison in `src/nwbind.c` and the related + queue prehandlers. +- SDK `0x2222/26` through `0x2222/31` / wire `0x1a` through `0x1f` physical + record synchronization calls are implemented in `src/nwconn.c` but have not + yet received the detailed request-layout audit. +- SDK `0x2222/32` / wire `0x20` Semaphore is forwarded to `src/nwbind.c`; the + handoff is noted, but the semaphore subfunctions still need a per-subfunction + request/reply audit. +- SDK `0x2222/33` / wire `0x21` Negotiate Buffer Size and SDK `0x2222/34` / + wire `0x22` TTS calls are present in `src/nwconn.c`; their layouts still need + source comparisons. +- SDK `0x2222/35` / wire `0x23` AFP calls are present in `src/nwconn.c`; AFP has + separate compatibility tests, but the NCP request-layout audit should still + be completed endpoint by endpoint. +- SDK `0x2222/59`, `61`, `62`, `63`, and `64` through `77` / wire `0x3b`, + `0x3d`, `0x3e`, `0x3f`, and `0x40` through `0x4d` are old file commit/search + and file-I/O calls present in `src/nwconn.c`; they are not yet audited with + SDK decimal/wire hex notation. +- SDK `0x2222/86` / wire `0x56` Extended Attribute, SDK `0x2222/87` / wire + `0x57` Name Space, SDK `0x2222/97` / wire `0x61` Packet Burst, SDK + `0x2222/101` / wire `0x65` Packet Burst Connection Request, and SDK + `0x2222/104` / wire `0x68` NDS/NCP fragger paths all have top-level code + entries and need their own generation-bucketed audits before any new TODO + stubs are added. + +SDK-listed blocks that do not currently show a top-level handler in +`src/nwconn.c`: + +- SDK `0x2222/17` / wire `0x11` Print/Spool group. The PDF lists old print + calls such as Write To Spool File, Close Spool File, Set Spool File Flags, + Spool A Disk File, Get Printer Status, Create Spool File, and Get Printer's + Queue. No top-level `case 0x11` has been identified in `src/nwconn.c` yet. +- SDK `0x2222/36` and `0x2222/37` / wire `0x24` and `0x25` NCP Extension + families. The PDF lists extension-info and execute-extension calls; no + top-level handlers have been identified yet. Bucket by generation before + adding any `#if MARS_NWE_4` stubs. +- SDK `0x2222/79`, `0x2222/84`, and `0x2222/85` / wire `0x4f`, `0x54`, and + `0x55` are listed by the SDK/PDF for later file/extended-data functions, but + no top-level handlers have been identified yet. +- SDK `0x2222/89` / wire `0x59` Enhanced Name Space, SDK `0x2222/90` / wire + `0x5a` Data Migration/Compression/Parse Tree, SDK `0x2222/92` / wire `0x5c` + SecretStore, SDK `0x2222/123` / wire `0x7b` service-address enumeration, and + SDK `0x2222/131` / wire `0x83` RPC/NLM-control style calls appear in the + PDF/WebSDK index but do not currently show top-level handlers in + `src/nwconn.c`. These are likely later-generation buckets, but each must be + confirmed against the includes/WebSDK before adding guarded stubs. + +Follow-up: + +- When auditing one of these blocks, first check whether an existing handler is + reached through `nwconn.c`, `nwbind.c`, or a queue/salvage/helper prehandler. + Only add a missing-endpoint TODO or guarded stub after that handoff search. +- Do not add every SDK-listed 4.x/OES endpoint to the active TODO list. Put it + in the NetWare 4.x planning bucket, and only add a disabled `#if MARS_NWE_4` + stub when the user asks for that planning marker and no existing implementation + is present. + #### Old direct file/logical/physical synchronization calls Current status: