Files
mars-nwe/include/nwbind.h
Mario Fetka e0fcd4809e
All checks were successful
Source release / source-package (push) Successful in 50s
nwbind: implement additional broadcast message calls
Add the missing NCP 21 message service endpoints for disabling/enabling
broadcast reception and for the newer send/get broadcast message calls.

Track a per-connection broadcast_disabled flag and use a shared helper for
storing pending broadcast messages and notifying the target nwconn process.
The old NCP 21/00 send path now uses the same helper as the newer NCP 21/10
path.

Also improve UNKNOWN FUNCTION logging in nwconn.c by including the NCP type,
function and, where available, subfunction. This makes future missing-endpoint
logs easier to map back to SDK/NCP documentation.

Based on the existing MARS-NWE message handling, the old lwared broadcast
implementation, and the Novell WebSDK message service layouts.
2026-05-29 14:35:33 +02:00

51 lines
1.6 KiB
C

/* nwbind.h 23-Apr-98 */
#ifndef _NWBIND_H_
#define _NWBIND_H_
#define MAX_SEMA_CONN 10 /* 10 Semaphore / connection */
typedef struct {
int handle; /* semahore handle */
int opencount; /* times open */
} SEMA_CONN;
typedef void (*RESPONSE_FUNC)(int connection,
char *data,
int data_len,
int completition);
typedef struct {
int sequence;
int function;
time_t sendtime;
char *data;
int data_len;
RESPONSE_FUNC func;
} NWCONN_REQUEST;
typedef struct {
ipxAddr_t client_adr; /* address remote client */
uint32 object_id; /* logged object */
/* 0 = not logged in */
int id_flags; /* &1 == supervisor (equivalence) */
/* flags are also availible in */
/* connection based routines */
uint8 crypt_key[8]; /* password generation */
time_t t_login; /* login time */
uint8 message[60]; /* saved BCastmessage */
int broadcast_disabled; /* client refuses messages */
int active; /* 0=closed, 1= active */
int send_to_sock; /* this is the receiving sock */
int pid_nwconn; /* pid of user process nwconn */
NWCONN_REQUEST *request_nwconn; /* last request to nwconn */
int last_used_sequence;
int count_semas; /* open semahores */
SEMA_CONN semas[MAX_SEMA_CONN];
} CONNECTION;
#endif