153 lines
3 KiB
C
153 lines
3 KiB
C
|
//+-------------------------------------------------------------------------
|
|||
|
//
|
|||
|
// Microsoft Windows
|
|||
|
//
|
|||
|
// Copyright (C) Microsoft Corporation, 1994 - 1999
|
|||
|
//
|
|||
|
// File: np.h
|
|||
|
//
|
|||
|
//--------------------------------------------------------------------------
|
|||
|
|
|||
|
/////////////////////////////////////////////////////////////////////////
|
|||
|
//
|
|||
|
// Filename: np.h
|
|||
|
//
|
|||
|
// Description: This file contains definitions for Named Pipe routines
|
|||
|
// 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 PERF_PIPE "\\\\.\\pipe\\perftest"
|
|||
|
#define RM_PERF_PIPE_PRFX "\\\\."
|
|||
|
#define RM_PERF_PIPE_SUFX "\\pipe\\perftest"
|
|||
|
#define PERF_EVENT "\\prfEvent"
|
|||
|
#define PIPE_LEN 2048
|
|||
|
|
|||
|
|
|||
|
|
|||
|
/************************************************************************/
|
|||
|
// Local function prototypes
|
|||
|
/************************************************************************/
|
|||
|
NTSTATUS
|
|||
|
CreateNamedPipeInstance(
|
|||
|
IN USHORT Nindex
|
|||
|
);
|
|||
|
/*
|
|||
|
NTSTATUS
|
|||
|
NamedPipe_FsControl(
|
|||
|
IN HANDLE lhandle,
|
|||
|
IN ULONG FsControlCode,
|
|||
|
IN PVOID pInBuffer,
|
|||
|
IN ULONG InBufLen,
|
|||
|
OUT PVOID pOutBuffer,
|
|||
|
IN ULONG OutBufLen
|
|||
|
);
|
|||
|
*/
|
|||
|
NTSTATUS
|
|||
|
ReadNamedPipe(
|
|||
|
IN HANDLE rhandle,
|
|||
|
IN ULONG rlength,
|
|||
|
IN OUT PVOID rpbuffer,
|
|||
|
IN OUT PULONG rpdatalen
|
|||
|
);
|
|||
|
|
|||
|
NTSTATUS
|
|||
|
WriteNamedPipe(
|
|||
|
IN HANDLE whandle,
|
|||
|
IN ULONG wlength,
|
|||
|
IN OUT PVOID wpbuffer,
|
|||
|
IN OUT PULONG wpdatalen
|
|||
|
);
|
|||
|
|
|||
|
NTSTATUS
|
|||
|
NMP_Initialize(
|
|||
|
IN USHORT NClients,
|
|||
|
IN PCHAR ServerName,
|
|||
|
IN USHORT SrvCli
|
|||
|
);
|
|||
|
|
|||
|
NTSTATUS
|
|||
|
NMP_PerClientInit(
|
|||
|
IN USHORT CIndex,
|
|||
|
IN USHORT SrvCli
|
|||
|
);
|
|||
|
|
|||
|
NTSTATUS
|
|||
|
NMP_Allocate_Memory(
|
|||
|
IN USHORT CIndex
|
|||
|
);
|
|||
|
|
|||
|
NTSTATUS
|
|||
|
NMP_Deallocate_Memory(
|
|||
|
IN USHORT CIndex
|
|||
|
);
|
|||
|
|
|||
|
|
|||
|
NTSTATUS
|
|||
|
NMP_DoHandshake(
|
|||
|
IN USHORT CIndex,
|
|||
|
IN USHORT SrvCli
|
|||
|
);
|
|||
|
|
|||
|
|
|||
|
NTSTATUS
|
|||
|
NMP_Cleanup(
|
|||
|
VOID
|
|||
|
);
|
|||
|
|
|||
|
NTSTATUS
|
|||
|
NMP_Wait_For_Client(
|
|||
|
IN USHORT CIndex
|
|||
|
);
|
|||
|
|
|||
|
NTSTATUS
|
|||
|
NMP_Disconnect_Client(
|
|||
|
IN USHORT CIndex
|
|||
|
);
|
|||
|
|
|||
|
|
|||
|
NTSTATUS
|
|||
|
NMP_ReadFromIPC(
|
|||
|
IN USHORT CIndex,
|
|||
|
IN OUT PULONG pReadDone,
|
|||
|
IN USHORT SrvCli
|
|||
|
);
|
|||
|
|
|||
|
NTSTATUS
|
|||
|
NMP_WriteToIPC(
|
|||
|
IN USHORT CIndex,
|
|||
|
IN OUT PULONG pWriteDone,
|
|||
|
IN USHORT SrvCli
|
|||
|
);
|
|||
|
|
|||
|
NTSTATUS
|
|||
|
NMP_XactIO(
|
|||
|
IN USHORT CIndex,
|
|||
|
IN OUT PULONG pReadDone,
|
|||
|
IN OUT PULONG pWriteDone,
|
|||
|
IN USHORT SrvCli,
|
|||
|
IN BOOLEAN FirstIter
|
|||
|
);
|
|||
|
|
|||
|
NTSTATUS
|
|||
|
NMP_ThreadCleanUp(
|
|||
|
IN USHORT CIndex
|
|||
|
);
|
|||
|
|
|||
|
|
|||
|
/************************************************************************/
|
|||
|
// External function prototypes
|
|||
|
/************************************************************************/
|
|||
|
extern LPCSTR pipeName;
|
|||
|
extern ULONG Quotas;
|
|||
|
extern ULONG PipeType;
|
|||
|
extern ULONG PipeMode;
|
|||
|
extern ULONG BlockorNot;
|
|||
|
|
|||
|
extern struct client Clients[MAXCLIENTS]; // all the client data
|
|||
|
extern USHORT NClients;
|
|||
|
|