ncpcalls: split IPX and requester assembly glue

Split the Open Watcom assembly glue into separate IPX and NCP requester
modules.

Keep the IPX socket and far-memory helper entry points in ipx.asm and move the
INT 21h Net_Call plus Client32 requester entry points into ncpcall.asm. Split
the former kern.h declarations accordingly into ipx.h and ncpcall.h, and update
net.h and the Open Watcom build to use the new headers and object files.

This matches the current source layout where ncpcall.c owns the low-level NCP
transport helpers and ncpapi.c owns the ncpXX_YY_* protocol API wrappers.

No behavior change.
This commit is contained in:
Mario Fetka
2026-05-29 12:04:16 +02:00
parent 3740e1450c
commit 98ffa17006
11 changed files with 368 additions and 272 deletions

32
net.h
View File

@@ -20,7 +20,7 @@
/*
* Purpose: Shared public header for the DOS utility collection: types, prototypes and common structures.
* Depends on: kern.h, all command modules, netcall.c, ncpcall.c, tools.c and ncpapi.c.
* Depends on: ipx.h, ncpcall.h, all command modules, netcall.c, ncpcall.c, tools.c and ncpapi.c.
*/
#include <stddef.h>
@@ -53,35 +53,9 @@ typedef void (*FUNC_VOID)();
typedef int (*FUNC_INT)();
typedef struct {
uint8 checksum[2];
uint16 packetlen;
uint8 tcontrol;
uint8 ptype;
uint8 dest_net[4];
uint8 dest_node[6];
uint16 dest_sock; /* HI LOW */
uint8 source_net[4];
uint8 source_node[6];
uint16 source_sock; /* HI LOW */
} IPX_HEADER;
#include "ipx.h"
#include "ncpcall.h"
typedef struct {
uint8 *link_address;
FUNC_VOID esr_routine;
uint8 in_use_flag;
uint8 completition_code;
uint16 socket; /* HI LOW */
uint8 ipx_workspace[4]; /* interner Gebrauch */
uint8 drv_workspace[4]; /* interner Gebrauch */
uint8 immediate_address[6]; /* HI LOW Node Address */
uint16 fragment_count; /* Anzahl Fragment Buffers */
uint8 *fragment_1;
uint16 fragment_1_size;
/* K�nnen auch mehr sein */
} ECB;
#include "kern.h"
#define UI2NET(i) ( ( (i) << 8) | ( ((i)>>8) & 0xFF) )
#define NET2UI(i) ( ( (i) << 8) | ( ((i)>>8) & 0xFF) )