docs: audit NDS fragger stubs
This commit is contained in:
100
src/nwconn.c
100
src/nwconn.c
@@ -6916,11 +6916,109 @@ static int handle_ncp_serv(void)
|
||||
}
|
||||
break;
|
||||
|
||||
case 0x68 : /* NDS NCP, NDS Fragger Protokoll ?? */
|
||||
case 0x68 : { /* NDS NCP / NDS Fragger protocol. */
|
||||
#if MARS_NWE_4
|
||||
/*
|
||||
* NCP 0x2222/104 NDS / NCP Fragger.
|
||||
*
|
||||
* Source outcome: top-level wire case 0x68 exists, but MARS-NWE
|
||||
* does not implement NetWare 4.x NDS fragmentation or the
|
||||
* NDS service verbs yet. Keep the planned-4.x selector slots
|
||||
* disabled behind MARS_NWE_4 until nwnds/libdirectory exists.
|
||||
*
|
||||
* Request handoff: direct NCP 104 requests put the NDS
|
||||
* SubFunctionCode at requestdata[0]. Subfunction 104/02 then
|
||||
* contains an additional 32-bit NDS Verb payload selector; do
|
||||
* not treat that verb as a normal one-byte NCP dispatch case.
|
||||
*
|
||||
* Reply ownership: this local handler would return a normal
|
||||
* NCP Completion plus optional payload. The current active
|
||||
* behavior intentionally remains 0xfb for the whole family.
|
||||
*/
|
||||
int nds_sub = (requestlen > (int)sizeof(NCPREQUEST))
|
||||
? (int)requestdata[0] : -1;
|
||||
|
||||
switch (nds_sub) {
|
||||
case 0x01: /* Ping for NDS NCP
|
||||
* Request: byte SubFunctionCode=1, byte Reserved[3].
|
||||
* Reply: long PingVersion (Lo-Hi), unicode TreeName,
|
||||
* long RootMostEntryDepth (Lo-Hi).
|
||||
* Future owner: nwnds.
|
||||
*/
|
||||
completition = 0xfb;
|
||||
break;
|
||||
|
||||
case 0x02: /* Send NDS Fragmented Request/Reply
|
||||
* Request: byte SubFunctionCode=2, then long fields
|
||||
* FraggerHandle, FragSize, TotalRequest, Flags,
|
||||
* Verb, ReplyBufferSize, followed by RequestData.
|
||||
* Selector path: 0x2222/104/02 verb=<Verb>.
|
||||
* Reply: long ReplySize, long FraggerHandle, ReplyData[].
|
||||
* Future owner: nwnds with normalized fragment state.
|
||||
*/
|
||||
completition = 0xfb;
|
||||
break;
|
||||
|
||||
case 0x03: /* Fragment Close
|
||||
* Request: byte SubFunctionCode=3, long FraggerHandle.
|
||||
* Reply: no payload, normal Completion.
|
||||
* Future owner: nwnds fragment-state cleanup.
|
||||
*/
|
||||
completition = 0xfb;
|
||||
break;
|
||||
|
||||
case 0x04: /* Return Bindery Context
|
||||
* Request: byte SubFunctionCode=4.
|
||||
* Reply: long length, unicode binderyContext.
|
||||
* Future owner: nwnds/libdirectory bindery-context
|
||||
* compatibility, not legacy flat bindery files.
|
||||
*/
|
||||
completition = 0xfb;
|
||||
break;
|
||||
|
||||
case 0x05: /* Monitor NDS Connection
|
||||
* Request: byte SubFunctionCode=5.
|
||||
* Reply: no documented payload in the local NDK table.
|
||||
* Future owner: nwnds connection/session monitor.
|
||||
*/
|
||||
completition = 0xfb;
|
||||
break;
|
||||
|
||||
case 0x06: /* Return NDS Statistics
|
||||
* Request: byte SubFunctionCode=6, Int4 RequestFlags.
|
||||
* Reply: variable Int4 statistics selected by flags.
|
||||
* Future owner: nwnds statistics provider.
|
||||
*/
|
||||
completition = 0xfb;
|
||||
break;
|
||||
|
||||
case 0x07: /* Clear Statistics
|
||||
* Request: byte SubFunctionCode=7.
|
||||
* Reply: no payload, normal Completion.
|
||||
* Future owner: nwnds statistics provider.
|
||||
*/
|
||||
completition = 0xfb;
|
||||
break;
|
||||
|
||||
case 0x08: /* Reload NDS Software
|
||||
* Request: byte SubFunctionCode=8.
|
||||
* Reply: status-oriented NDS software reload result.
|
||||
* Future owner: nwserv control plane plus nwnds, never
|
||||
* a direct payload route through nwserv.
|
||||
*/
|
||||
completition = 0xfb;
|
||||
break;
|
||||
|
||||
default: completition = 0xfb;
|
||||
break;
|
||||
}
|
||||
#else
|
||||
XDPRINTF((2,0, "INFO NDS 104 UNKNOWN reason=fragger_unsupported fn=0x68 result=0xfb"));
|
||||
nw_debug=0;
|
||||
completition = 0xfb; /* unknown request */
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
|
||||
default : completition = 0xfb; /* unknown request */
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user