mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
178 lines
3.3 KiB
178 lines
3.3 KiB
//+-------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
//
|
|
// Copyright (C) Microsoft Corporation, 1994 - 1999
|
|
//
|
|
// File: scx.h
|
|
//
|
|
//--------------------------------------------------------------------------
|
|
|
|
/////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// Filename: scx.h
|
|
//
|
|
// Description: This file contains routines for Socket I/O
|
|
// for use with IPC raw network performance tests.
|
|
//
|
|
// Authors: Scott Holden (Translator from NT API to win32 API)
|
|
// Mahesh Keni (Mahesh wrote this application using mostly
|
|
// NT native API calls)
|
|
//
|
|
/////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
#define MSIPX (AddrFly == AF_NS)
|
|
|
|
#define MAXSEQ 8
|
|
#define SERV_TCP_PORT 6666
|
|
#define SERV_SPX_PORT 6666
|
|
#define SERV_UDP_PORT 6900
|
|
#define SERV_HOST_ADDR 11.30.11.20
|
|
#define SRVNAME_LEN 16
|
|
|
|
#define REQ 0
|
|
#define DATA 1
|
|
|
|
|
|
#define ClearSocket(PSOCK) {RtlZeroMemory(PSOCK ,sizeof (SOCKADDR));}
|
|
|
|
typedef int INTEGER;
|
|
typedef struct reqbuf * PREQBUF;
|
|
|
|
/************************************************************************/
|
|
// External variables
|
|
/************************************************************************/
|
|
extern PCHAR HostName;
|
|
extern PCHAR ServerName;
|
|
extern int AddrFly;
|
|
|
|
extern struct client Clients[MAXCLIENTS]; // all the client data
|
|
extern USHORT NClients;
|
|
|
|
/************************************************************************/
|
|
// Local Function prototypes
|
|
/************************************************************************/
|
|
INTEGER
|
|
SPXSocket_Connect(
|
|
IN int AddrFly,
|
|
IN USHORT CIndex,
|
|
IN PCHAR srvaddr
|
|
);
|
|
|
|
|
|
NTSTATUS
|
|
SCXNS_Initialize(
|
|
IN USHORT NClients,
|
|
IN PCHAR ServerName,
|
|
IN USHORT SrvCli
|
|
);
|
|
|
|
NTSTATUS
|
|
SCXNS_PerClientInit(
|
|
IN USHORT CIndex,
|
|
IN USHORT SrvCli
|
|
);
|
|
|
|
NTSTATUS
|
|
SCXNS_Allocate_Memory(
|
|
IN USHORT CIndex
|
|
);
|
|
|
|
NTSTATUS
|
|
SCXNS_Deallocate_Memory(
|
|
IN USHORT CIndex
|
|
);
|
|
|
|
|
|
NTSTATUS
|
|
SCXNS_DoHandshake(
|
|
IN USHORT CIndex,
|
|
IN USHORT SrvCli
|
|
);
|
|
|
|
|
|
NTSTATUS
|
|
SCXNS_Cleanup(
|
|
VOID
|
|
);
|
|
|
|
NTSTATUS
|
|
SCXNS_Wait_For_Client(
|
|
IN USHORT CIndex
|
|
);
|
|
|
|
NTSTATUS
|
|
SCXNS_Disconnect_Client(
|
|
IN USHORT CIndex
|
|
);
|
|
|
|
|
|
NTSTATUS
|
|
SCXNS_ReadFromIPC(
|
|
IN USHORT CIndex,
|
|
IN OUT PULONG pReadDone,
|
|
IN USHORT SrvCli
|
|
);
|
|
|
|
NTSTATUS
|
|
SCXNS_WriteToIPC(
|
|
IN USHORT CIndex,
|
|
IN OUT PULONG pWriteDone,
|
|
IN USHORT SrvCli
|
|
);
|
|
|
|
NTSTATUS
|
|
SCXNS_XactIO(
|
|
IN USHORT CIndex,
|
|
IN OUT PULONG pReadDone,
|
|
IN OUT PULONG pWriteDone,
|
|
IN USHORT SrvCli,
|
|
IN BOOLEAN FirstIter
|
|
);
|
|
|
|
NTSTATUS
|
|
SCXNS_ThreadCleanUp(
|
|
IN USHORT CIndex
|
|
);
|
|
|
|
/************************************************************************/
|
|
// External Function prototypes
|
|
/************************************************************************/
|
|
|
|
extern
|
|
INTEGER
|
|
Socket_Listen(
|
|
IN USHORT CliIndx
|
|
);
|
|
|
|
extern
|
|
INTEGER
|
|
Socket_Accept(
|
|
IN USHORT CliIndx
|
|
);
|
|
|
|
extern
|
|
INTEGER
|
|
Socket_Recv(
|
|
IN USHORT CliIndx,
|
|
IN OUT PVOID PReadBuf,
|
|
IN OUT PULONG rpdatalen
|
|
);
|
|
|
|
extern
|
|
INTEGER
|
|
Socket_Send(
|
|
IN USHORT CliIndx,
|
|
IN OUT PVOID PWriteBuf,
|
|
IN OUT PULONG spdatalen
|
|
);
|
|
|
|
extern
|
|
INTEGER
|
|
Socket_Close(
|
|
IN USHORT CliIndx
|
|
);
|
|
|
|
/************************************************************************/
|
|
|