662 lines
8.7 KiB
C
662 lines
8.7 KiB
C
|
//+-------------------------------------------------------------------------
|
||
|
//
|
||
|
// Microsoft Windows
|
||
|
//
|
||
|
// Copyright (C) Microsoft Corporation, 1994 - 1999
|
||
|
//
|
||
|
// File: server.h
|
||
|
//
|
||
|
//--------------------------------------------------------------------------
|
||
|
|
||
|
|
||
|
/************************************************************************/
|
||
|
// Local function prototypes
|
||
|
/************************************************************************/
|
||
|
|
||
|
VOID
|
||
|
Usage(
|
||
|
IN PSZ PrgName
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
Setup_Function_Pointers(
|
||
|
);
|
||
|
|
||
|
NTSTATUS
|
||
|
Wait_For_Client_Threads(
|
||
|
);
|
||
|
|
||
|
|
||
|
NTSTATUS
|
||
|
Parse_Cmd_Line(
|
||
|
IN USHORT argc,
|
||
|
IN PSZ argv[]
|
||
|
);
|
||
|
|
||
|
|
||
|
VOID
|
||
|
SrvService(
|
||
|
IN PUSHORT pTindex
|
||
|
);
|
||
|
|
||
|
VOID
|
||
|
Cleanup(
|
||
|
);
|
||
|
|
||
|
/************************************************************************/
|
||
|
// External function prototypes
|
||
|
/************************************************************************/
|
||
|
|
||
|
/*++
|
||
|
For NamedPipe
|
||
|
|
||
|
--*/
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
NMP_Initialize(
|
||
|
IN USHORT NClients,
|
||
|
IN PCHAR ServerName,
|
||
|
IN USHORT SrvCli
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
NMP_PerClientInit(
|
||
|
IN USHORT CIndex,
|
||
|
IN USHORT SrvCli
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
NMP_Allocate_Memory(
|
||
|
IN USHORT CIndex
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
NMP_Deallocate_Memory(
|
||
|
IN USHORT CIndex
|
||
|
);
|
||
|
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
NMP_DoHandshake(
|
||
|
IN USHORT CIndex,
|
||
|
IN USHORT SrvCli
|
||
|
);
|
||
|
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
NMP_Cleanup(
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
NMP_Wait_For_Client(
|
||
|
IN USHORT CIndex
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
NMP_Disconnect_Client(
|
||
|
IN USHORT CIndex
|
||
|
);
|
||
|
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
NMP_ReadFromIPC(
|
||
|
IN USHORT CIndex,
|
||
|
IN OUT PULONG pReadDone,
|
||
|
IN USHORT SrvCli
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
NMP_WriteToIPC(
|
||
|
IN USHORT CIndex,
|
||
|
IN OUT PULONG pWriteDone,
|
||
|
IN USHORT SrvCli
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
NMP_XactIO(
|
||
|
IN USHORT CIndex,
|
||
|
IN OUT PULONG pReadDone,
|
||
|
IN OUT PULONG pWriteDone,
|
||
|
IN USHORT SrvCli,
|
||
|
IN BOOLEAN FirstIter
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
NMP_ThreadCleanUp(
|
||
|
IN USHORT CIndex
|
||
|
);
|
||
|
|
||
|
|
||
|
/*++**********************************************************************
|
||
|
For NetBIOS
|
||
|
|
||
|
--*/
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
NB_Initialize(
|
||
|
IN USHORT NClients,
|
||
|
IN PCHAR ServerName,
|
||
|
IN USHORT SrvCli
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
NB_PerClientInit(
|
||
|
IN USHORT CIndex,
|
||
|
IN USHORT SrvCli
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
NB_Allocate_Memory(
|
||
|
IN USHORT CIndex
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
NB_Deallocate_Memory(
|
||
|
IN USHORT CIndex
|
||
|
);
|
||
|
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
NB_DoHandshake(
|
||
|
IN USHORT CIndex,
|
||
|
IN USHORT SrvCli
|
||
|
);
|
||
|
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
NB_Cleanup(
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
NB_Wait_For_Client(
|
||
|
IN USHORT CIndex
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
NB_Disconnect_Client(
|
||
|
IN USHORT CIndex
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
NB_ReadFromIPC(
|
||
|
IN USHORT CIndex,
|
||
|
IN OUT PULONG pReadDone,
|
||
|
IN USHORT SrvCli
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
NB_WriteToIPC(
|
||
|
IN USHORT CIndex,
|
||
|
IN OUT PULONG pWriteDone,
|
||
|
IN USHORT SrvCli
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
NB_XactIO(
|
||
|
IN USHORT CIndex,
|
||
|
IN OUT PULONG pReadDone,
|
||
|
IN OUT PULONG pWriteDone,
|
||
|
IN USHORT SrvCli,
|
||
|
IN BOOLEAN FirstIter
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
NB_ThreadCleanUp(
|
||
|
IN USHORT CIndex
|
||
|
);
|
||
|
|
||
|
/*++**********************************************************************
|
||
|
For Sockets TCP/IP
|
||
|
|
||
|
--*/
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
SCTCP_Initialize(
|
||
|
IN USHORT NClients,
|
||
|
IN PCHAR ServerName,
|
||
|
IN USHORT SrvCli
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
SCTCP_PerClientInit(
|
||
|
IN USHORT CIndex,
|
||
|
IN USHORT SrvCli
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
SCTCP_Allocate_Memory(
|
||
|
IN USHORT CIndex
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
SCTCP_Deallocate_Memory(
|
||
|
IN USHORT CIndex
|
||
|
);
|
||
|
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
SCTCP_DoHandshake(
|
||
|
IN USHORT CIndex,
|
||
|
IN USHORT SrvCli
|
||
|
);
|
||
|
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
SCTCP_Cleanup(
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
SCTCP_Wait_For_Client(
|
||
|
IN USHORT CIndex
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
SCTCP_Disconnect_Client(
|
||
|
IN USHORT CIndex
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
SCTCP_ReadFromIPC(
|
||
|
IN USHORT CIndex,
|
||
|
IN OUT PULONG pReadDone,
|
||
|
IN USHORT SrvCli
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
SCTCP_WriteToIPC(
|
||
|
IN USHORT CIndex,
|
||
|
IN OUT PULONG pWriteDone,
|
||
|
IN USHORT SrvCli
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
SCTCP_XactIO(
|
||
|
IN USHORT CIndex,
|
||
|
IN OUT PULONG pReadDone,
|
||
|
IN OUT PULONG pWriteDone,
|
||
|
IN USHORT SrvCli,
|
||
|
IN BOOLEAN FirstIter
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
SCTCP_ThreadCleanUp(
|
||
|
IN USHORT CIndex
|
||
|
);
|
||
|
|
||
|
/*++**********************************************************************
|
||
|
For Sockets SPX(XNS)
|
||
|
|
||
|
--*/
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
SCXNS_Initialize(
|
||
|
IN USHORT NClients,
|
||
|
IN PCHAR ServerName,
|
||
|
IN USHORT SrvCli
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
SCXNS_PerClientInit(
|
||
|
IN USHORT CIndex,
|
||
|
IN USHORT SrvCli
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
SCXNS_Allocate_Memory(
|
||
|
IN USHORT CIndex
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
SCXNS_Deallocate_Memory(
|
||
|
IN USHORT CIndex
|
||
|
);
|
||
|
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
SCXNS_DoHandshake(
|
||
|
IN USHORT CIndex,
|
||
|
IN USHORT SrvCli
|
||
|
);
|
||
|
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
SCXNS_Cleanup(
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
SCXNS_Wait_For_Client(
|
||
|
IN USHORT CIndex
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
SCXNS_Disconnect_Client(
|
||
|
IN USHORT CIndex
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
SCXNS_ReadFromIPC(
|
||
|
IN USHORT CIndex,
|
||
|
IN OUT PULONG pReadDone,
|
||
|
IN USHORT SrvCli
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
SCXNS_WriteToIPC(
|
||
|
IN USHORT CIndex,
|
||
|
IN OUT PULONG pWriteDone,
|
||
|
IN USHORT SrvCli
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
SCXNS_XactIO(
|
||
|
IN USHORT CIndex,
|
||
|
IN OUT PULONG pReadDone,
|
||
|
IN OUT PULONG pWriteDone,
|
||
|
IN USHORT SrvCli,
|
||
|
IN BOOLEAN FirstIter
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
SCXNS_ThreadCleanUp(
|
||
|
IN USHORT CIndex
|
||
|
);
|
||
|
|
||
|
/*++**********************************************************************
|
||
|
For Sockets UDP
|
||
|
|
||
|
--*/
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
SCUDP_Initialize(
|
||
|
IN USHORT NClients,
|
||
|
IN PCHAR ServerName,
|
||
|
IN USHORT SrvCli
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
SCUDP_PerClientInit(
|
||
|
IN USHORT CIndex,
|
||
|
IN USHORT SrvCli
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
SCUDP_Allocate_Memory(
|
||
|
IN USHORT CIndex
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
SCUDP_Deallocate_Memory(
|
||
|
IN USHORT CIndex
|
||
|
);
|
||
|
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
SCUDP_DoHandshake(
|
||
|
IN USHORT CIndex,
|
||
|
IN USHORT SrvCli
|
||
|
);
|
||
|
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
SCUDP_Cleanup(
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
SCUDP_Wait_For_Client(
|
||
|
IN USHORT CIndex
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
SCUDP_Disconnect_Client(
|
||
|
IN USHORT CIndex
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
SCUDP_ReadFromIPC(
|
||
|
IN USHORT CIndex,
|
||
|
IN OUT PULONG pReadDone,
|
||
|
IN USHORT SrvCli
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
SCUDP_WriteToIPC(
|
||
|
IN USHORT CIndex,
|
||
|
IN OUT PULONG pWriteDone,
|
||
|
IN USHORT SrvCli
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
SCUDP_ThreadCleanUp(
|
||
|
IN USHORT CIndex
|
||
|
);
|
||
|
|
||
|
/*++**********************************************************************
|
||
|
For Sockets IPX
|
||
|
|
||
|
--*/
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
SCIPX_Initialize(
|
||
|
IN USHORT NClients,
|
||
|
IN PCHAR ServerName,
|
||
|
IN USHORT SrvCli
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
SCIPX_PerClientInit(
|
||
|
IN USHORT CIndex,
|
||
|
IN USHORT SrvCli
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
SCIPX_Allocate_Memory(
|
||
|
IN USHORT CIndex
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
SCIPX_Deallocate_Memory(
|
||
|
IN USHORT CIndex
|
||
|
);
|
||
|
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
SCIPX_DoHandshake(
|
||
|
IN USHORT CIndex,
|
||
|
IN USHORT SrvCli
|
||
|
);
|
||
|
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
SCIPX_Cleanup(
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
SCIPX_Wait_For_Client(
|
||
|
IN USHORT CIndex
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
SCIPX_Disconnect_Client(
|
||
|
IN USHORT CIndex
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
SCIPX_ReadFromIPC(
|
||
|
IN USHORT CIndex,
|
||
|
IN OUT PULONG pReadDone,
|
||
|
IN USHORT SrvCli
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
SCIPX_WriteToIPC(
|
||
|
IN USHORT CIndex,
|
||
|
IN OUT PULONG pWriteDone,
|
||
|
IN USHORT SrvCli
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
SCIPX_ThreadCleanUp(
|
||
|
IN USHORT CIndex
|
||
|
);
|
||
|
|
||
|
/*++**********************************************************************
|
||
|
For Datagram NetBIOS
|
||
|
|
||
|
--*/
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
DGNB_Initialize(
|
||
|
IN USHORT NClients,
|
||
|
IN PCHAR ServerName,
|
||
|
IN USHORT SrvCli
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
DGNB_PerClientInit(
|
||
|
IN USHORT CIndex,
|
||
|
IN USHORT SrvCli
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
DGNB_Allocate_Memory(
|
||
|
IN USHORT CIndex
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
DGNB_Deallocate_Memory(
|
||
|
IN USHORT CIndex
|
||
|
);
|
||
|
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
DGNB_DoHandshake(
|
||
|
IN USHORT CIndex,
|
||
|
IN USHORT SrvCli
|
||
|
);
|
||
|
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
DGNB_Cleanup(
|
||
|
VOID
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
DGNB_Wait_For_Client(
|
||
|
IN USHORT CIndex
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
DGNB_Disconnect_Client(
|
||
|
IN USHORT CIndex
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
DGNB_ReadFromIPC(
|
||
|
IN USHORT CIndex,
|
||
|
IN OUT PULONG pReadDone,
|
||
|
IN USHORT SrvCli
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
DGNB_WriteToIPC(
|
||
|
IN USHORT CIndex,
|
||
|
IN OUT PULONG pWriteDone,
|
||
|
IN USHORT SrvCli
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
DGNB_XactIO(
|
||
|
IN USHORT CIndex,
|
||
|
IN OUT PULONG pReadDone,
|
||
|
IN OUT PULONG pWriteDone,
|
||
|
IN USHORT SrvCli,
|
||
|
IN BOOLEAN FirstIter
|
||
|
);
|
||
|
|
||
|
extern
|
||
|
NTSTATUS
|
||
|
DGNB_ThreadCleanUp(
|
||
|
IN USHORT CIndex
|
||
|
);
|
||
|
|