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;
|
||
|