Source code of Windows XP (NT5)
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.
 
 
 
 
 
 

153 lines
3.0 KiB

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