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