171 lines
3.3 KiB
C
171 lines
3.3 KiB
C
|
//+-------------------------------------------------------------------------
|
|||
|
//
|
|||
|
// Microsoft Windows
|
|||
|
//
|
|||
|
// Copyright (C) Microsoft Corporation, 1994 - 1999
|
|||
|
//
|
|||
|
// File: scipx.h
|
|||
|
//
|
|||
|
//--------------------------------------------------------------------------
|
|||
|
|
|||
|
/////////////////////////////////////////////////////////////////////////
|
|||
|
//
|
|||
|
// Filename: scipx.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)
|
|||
|
//
|
|||
|
/////////////////////////////////////////////////////////////////////////
|
|||
|
|
|||
|
#include "msipx.h"
|
|||
|
|
|||
|
#define MSIPX (AddrFly == AF_NS)
|
|||
|
|
|||
|
#define MAXSEQ 8
|
|||
|
#define SERV_TCP_PORT 6666
|
|||
|
#define SERV_IPX_PORT 6900
|
|||
|
#define SERV_HOST_ADDR 11.30.11.20
|
|||
|
#define CLINAME 11.30.11.22
|
|||
|
#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 BOOLEAN Connected;
|
|||
|
|
|||
|
extern struct client Clients[MAXCLIENTS]; // all the client data
|
|||
|
extern USHORT NClients;
|
|||
|
|
|||
|
/************************************************************************/
|
|||
|
// External Function prototypes
|
|||
|
/************************************************************************/
|
|||
|
|
|||
|
|
|||
|
NTSTATUS
|
|||
|
SCIPX_Initialize(
|
|||
|
IN USHORT NClients,
|
|||
|
IN PCHAR ServerName,
|
|||
|
IN USHORT SrvCli
|
|||
|
);
|
|||
|
|
|||
|
NTSTATUS
|
|||
|
SCIPX_PerClientInit(
|
|||
|
IN USHORT CIndex,
|
|||
|
IN USHORT SrvCli
|
|||
|
);
|
|||
|
|
|||
|
NTSTATUS
|
|||
|
SCIPX_Allocate_Memory(
|
|||
|
IN USHORT CIndex
|
|||
|
);
|
|||
|
|
|||
|
NTSTATUS
|
|||
|
SCIPX_Deallocate_Memory(
|
|||
|
IN USHORT CIndex
|
|||
|
);
|
|||
|
|
|||
|
|
|||
|
NTSTATUS
|
|||
|
SCIPX_DoHandshake(
|
|||
|
IN USHORT CIndex,
|
|||
|
IN USHORT SrvCli
|
|||
|
);
|
|||
|
|
|||
|
|
|||
|
NTSTATUS
|
|||
|
SCIPX_Cleanup(
|
|||
|
VOID
|
|||
|
);
|
|||
|
|
|||
|
|
|||
|
NTSTATUS
|
|||
|
SCIPX_ReadFromIPC(
|
|||
|
IN USHORT CIndex,
|
|||
|
IN OUT PULONG pReadDone,
|
|||
|
IN USHORT SrvCli
|
|||
|
);
|
|||
|
|
|||
|
NTSTATUS
|
|||
|
SCIPX_WriteToIPC(
|
|||
|
IN USHORT CIndex,
|
|||
|
IN OUT PULONG pWriteDone,
|
|||
|
IN USHORT SrvCli
|
|||
|
);
|
|||
|
|
|||
|
|
|||
|
NTSTATUS
|
|||
|
SCIPX_ThreadCleanUp(
|
|||
|
IN USHORT CIndex
|
|||
|
);
|
|||
|
|
|||
|
/************************************************************************/
|
|||
|
// External Function prototypes
|
|||
|
/************************************************************************/
|
|||
|
|
|||
|
extern
|
|||
|
INTEGER
|
|||
|
DGSocket_Recv(
|
|||
|
IN USHORT CliIndx,
|
|||
|
IN OUT PVOID PReadBuf,
|
|||
|
IN OUT PULONG rpdatalen
|
|||
|
);
|
|||
|
|
|||
|
extern
|
|||
|
INTEGER
|
|||
|
DGSocket_RecvFrom(
|
|||
|
IN USHORT CliIndx,
|
|||
|
IN OUT PVOID PReadBuf,
|
|||
|
IN OUT PULONG rpdatalen,
|
|||
|
IN OUT PSOCKADDR pcaddr,
|
|||
|
IN OUT PUSHORT pcaddrlen
|
|||
|
);
|
|||
|
|
|||
|
extern
|
|||
|
INTEGER
|
|||
|
DGSocket_Send(
|
|||
|
IN USHORT CliIndx,
|
|||
|
IN OUT PVOID PWriteBuf,
|
|||
|
IN OUT PULONG spdatalen
|
|||
|
);
|
|||
|
|
|||
|
extern
|
|||
|
INTEGER
|
|||
|
DGSocket_SendTo(
|
|||
|
IN USHORT CliIndx,
|
|||
|
IN OUT PVOID PWriteBuf,
|
|||
|
IN OUT PULONG spdatalen,
|
|||
|
IN OUT PSOCKADDR pcaddr,
|
|||
|
IN OUT PUSHORT pcaddrlen
|
|||
|
);
|
|||
|
|
|||
|
extern
|
|||
|
INTEGER
|
|||
|
DGSocket_Close(
|
|||
|
IN USHORT CliIndx
|
|||
|
);
|
|||
|
|
|||
|
extern
|
|||
|
INTEGER
|
|||
|
DGSocket_Connect(
|
|||
|
IN USHORT CIndex,
|
|||
|
IN PSOCKADDR pdsockaddr
|
|||
|
);
|
|||
|
|
|||
|
|