From d2e13ec6040233a47c154f680deebb41d5412c96 Mon Sep 17 00:00:00 2001 From: Mario Fetka Date: Wed, 20 May 2026 12:22:30 +0200 Subject: [PATCH] nwconn hex57 detial debug --- src/nwconn.c | 85 ++++++++++++++-------------------------------------- 1 file changed, 23 insertions(+), 62 deletions(-) diff --git a/src/nwconn.c b/src/nwconn.c index e98fc37..a19600d 100644 --- a/src/nwconn.c +++ b/src/nwconn.c @@ -147,20 +147,19 @@ static int ncp_response(int sequence, int task, (int)completition, (int)ncpresponse->task, visable_ipx_adr((ipxAddr_t *) ud.addr.buf))); } - if (ncprequest->function == 0x41 || ncprequest->function == 0x4c || - ncprequest->function == 0x4e || ncprequest->function == 0x4f || - ncprequest->function == 0x50 || ncprequest->function == 0x57 || - ncprequest->function == 0x60 || ncprequest->function == 0x61 || - ncprequest->function == 0x62 || ncprequest->function == 0x63 || - ncprequest->function == 0x64 || ncprequest->function == 0x65 || - ncprequest->function == 0x66) { + if (ncprequest->function == 0x57) { + int sub1 = (requestlen > 0) ? requestdata[0] : -1; + int sub2 = (requestlen > 1) ? requestdata[1] : -1; + int sub3 = (requestlen > 2) ? requestdata[2] : -1; XDPRINTF((2,0, - "NWC FILEOP RESP func=0x%02x compl=0x%x data_len=%d seq=%d task=%d", - (int)ncprequest->function, + "NS57 RESP compl=0x%x data_len=%d seq=%d task=%d sub1=0x%02x sub2=0x%02x sub3=0x%02x", (int)completition, data_len, (int)sequence, - (int)task)); + (int)task, + sub1 & 0xff, + sub2 & 0xff, + sub3 & 0xff)); } ud.udata.len = ud.udata.maxlen = sizeof(NCPRESPONSE) + data_len; if (t_sndudata(FD_NCP_OUT, &ud) < 0){ @@ -207,14 +206,16 @@ static int call_nwbind(int mode) } -static void debug_nwconn_fileop(uint8 func, uint8 *data, int len) +static void debug_ns57_request(uint8 *data, int len) { - int shown = len; + int sub1 = (len > 0) ? data[0] : -1; + int sub2 = (len > 1) ? data[1] : -1; + int sub3 = (len > 2) ? data[2] : -1; char ascii[260]; - int i; + int i, shown = len; - if (shown > 120) - shown = 120; + if (shown > 160) + shown = 160; if (shown < 0) shown = 0; @@ -225,17 +226,18 @@ static void debug_nwconn_fileop(uint8 func, uint8 *data, int len) ascii[(shown < (int)sizeof(ascii) - 1) ? shown : ((int)sizeof(ascii) - 1)] = '\0'; XDPRINTF((2,0, - "NWC FILEOP func=0x%02x ncp_type=0x%x req_len=%d task=%d ascii='%s'", - (int)func, - ncp_type, + "NS57 ENTER len=%d sub1=0x%02x sub2=0x%02x sub3=0x%02x task=%d ascii='%s'", len, + sub1 & 0xff, + sub2 & 0xff, + sub3 & 0xff, (int)ncprequest->task, ascii)); if (data && len > 0) { int j = len; uint8 *p = data; - XDPRINTF((2, 2, "NWC FILEOP HEX func=0x%02x len %d, DATA:", (int)func, j)); + XDPRINTF((2, 2, "NS57 HEX len %d, DATA:", j)); while (j--) { int c = *p++; if (c > 32 && c < 127) @@ -364,49 +366,8 @@ static int handle_ncp_serv(void) if (nw_debug > 5) pr_debug_request(); - switch (function) { - case 0x0e: - case 0x0f: - case 0x16: - case 0x17: - case 0x18: - case 0x22: - case 0x3b: - case 0x3c: - case 0x3d: - case 0x3e: - case 0x41: - case 0x42: - case 0x43: - case 0x44: - case 0x45: - case 0x46: - case 0x47: - case 0x48: - case 0x49: - case 0x4a: - case 0x4b: - case 0x4c: - case 0x4d: - case 0x4e: - case 0x4f: - case 0x50: - case 0x56: - case 0x57: - case 0x60: - case 0x61: - case 0x62: - case 0x63: - case 0x64: - case 0x65: - case 0x66: - case 0x67: - case 0x68: - case 0x6b: - debug_nwconn_fileop((uint8)function, requestdata, requestlen); - break; - default: - break; + if (function == 0x57) { + debug_ns57_request(requestdata, requestlen); } if (ncp_type == 0x2222) {