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.
146 lines
6.6 KiB
146 lines
6.6 KiB
|
|
//
|
|
// MODULE: NWPerf.H
|
|
//
|
|
// This file contains all the defines and prototypes for the performnce
|
|
// monitoring DLL for NetWare redirector
|
|
//
|
|
// Date: Sept, 28 1993
|
|
|
|
|
|
//
|
|
// The routines that load these structures assume that all fields
|
|
// are packed and aligned on DWORD boundries. Alpha support may
|
|
// change this assumption so the pack pragma is used here to insure
|
|
// the DWORD packing assumption remains valid.
|
|
//
|
|
#pragma pack (4)
|
|
|
|
//
|
|
// All these definitions will have to be updated when new counters are added.
|
|
// if a new counter called COUNTX is added then the Help and Title indicies
|
|
// defines should include a new entry - "#define COUNTXOBJ 4". This increases
|
|
// in increments of 2 because each counter has a title and help index.
|
|
//
|
|
// The Offset of the counters should have another entry - with the size of
|
|
// the data for COUNT -
|
|
// "#define COUNTER_OFFSET_COUNTX COUNTER_OFFSET_USERS+sizeof(COUNTX_TYPE)"
|
|
//
|
|
// The SIZE_OF_COUNTER_BLOCK will be updated to:
|
|
// "#define SIZE_OF_COUNTER_BLOCK COUNTER_OFFSET_COUNTX + sizeof(DWORD)"
|
|
//
|
|
// Finally the NW_DATA_DEFINITION will have a new PERF_COUNTER_DEFINTIION
|
|
// entry
|
|
|
|
// Title and Help index defines. These are used for looking up the Registry
|
|
// to get at the counter indicies for the title and help strings.
|
|
|
|
#define NW_NUM_OBJECTS 1
|
|
#define NWOBJ 0
|
|
#define PACKET_BURST_READ_ID 2
|
|
#define PACKET_BURST_READ_TO_ID 4
|
|
#define PACKET_BURST_WRITE_ID 6
|
|
#define PACKET_BURST_WRITE_TO_ID 8
|
|
#define PACKET_BURST_IO_ID 10
|
|
#define CONNECT_2X_ID 12
|
|
#define CONNECT_3X_ID 14
|
|
#define CONNECT_4X_ID 16
|
|
|
|
//
|
|
// NetWare Redirector data object definitions.
|
|
// The offsets of the counters. The first DWORD is the size of the counter
|
|
// data block. In WinPerf, you will see this as PERF_COUNTER_BLOCK.ByteLength
|
|
//
|
|
#define BYTES_OFFSET sizeof(DWORD)
|
|
#define IO_OPERATIONS_OFFSET BYTES_OFFSET + sizeof(LARGE_INTEGER)
|
|
#define PACKETS_OFFSET IO_OPERATIONS_OFFSET + sizeof(DWORD)
|
|
#define BYTES_RECEIVED_OFFSET PACKETS_OFFSET + \
|
|
sizeof(LARGE_INTEGER)
|
|
#define NCPS_RECEIVED_OFFSET BYTES_RECEIVED_OFFSET + \
|
|
sizeof(LARGE_INTEGER)
|
|
#define BYTES_TRANSMITTED_OFFSET \
|
|
NCPS_RECEIVED_OFFSET + \
|
|
sizeof(LARGE_INTEGER)
|
|
#define NCPS_TRANSMITTED_OFFSET \
|
|
BYTES_TRANSMITTED_OFFSET + \
|
|
sizeof(LARGE_INTEGER)
|
|
#define RDR_READ_OPERATIONS_OFFSET \
|
|
NCPS_TRANSMITTED_OFFSET + \
|
|
sizeof(LARGE_INTEGER)
|
|
#define RANDOM_READ_OPERATIONS_OFFSET RDR_READ_OPERATIONS_OFFSET + \
|
|
sizeof(DWORD)
|
|
#define READ_NCPS_OFFSET RANDOM_READ_OPERATIONS_OFFSET + \
|
|
sizeof(DWORD)
|
|
#define RDR_WRITE_OPERATIONS_OFFSET READ_NCPS_OFFSET + \
|
|
sizeof(DWORD)
|
|
#define RANDOM_WRITE_OPERATIONS_OFFSET RDR_WRITE_OPERATIONS_OFFSET + \
|
|
sizeof(DWORD)
|
|
#define WRITE_NCPS_OFFSET RANDOM_WRITE_OPERATIONS_OFFSET + \
|
|
sizeof(DWORD)
|
|
#define SESSIONS_OFFSET WRITE_NCPS_OFFSET + \
|
|
sizeof(DWORD)
|
|
#define RECONNECTS_OFFSET SESSIONS_OFFSET + \
|
|
sizeof(DWORD)
|
|
#define NETWARE_2X_CONNECTS_OFFSET RECONNECTS_OFFSET + \
|
|
sizeof(DWORD)
|
|
#define NETWARE_3X_CONNECTS_OFFSET NETWARE_2X_CONNECTS_OFFSET + \
|
|
sizeof(DWORD)
|
|
#define NETWARE_4X_CONNECTS_OFFSET NETWARE_3X_CONNECTS_OFFSET + \
|
|
sizeof(DWORD)
|
|
#define SERVER_DISCONNECTS_OFFSET NETWARE_4X_CONNECTS_OFFSET + \
|
|
sizeof(DWORD)
|
|
#define PACKET_BURST_READ_OFFSET SERVER_DISCONNECTS_OFFSET + \
|
|
sizeof(DWORD)
|
|
#define PACKET_BURST_READ_TO_OFFSET PACKET_BURST_READ_OFFSET + \
|
|
sizeof(DWORD)
|
|
#define PACKET_BURST_WRITE_OFFSET PACKET_BURST_READ_TO_OFFSET + \
|
|
sizeof(DWORD)
|
|
#define PACKET_BURST_WRITE_TO_OFFSET PACKET_BURST_WRITE_OFFSET + \
|
|
sizeof(DWORD)
|
|
#define PACKET_BURST_IO_OFFSET PACKET_BURST_WRITE_TO_OFFSET + \
|
|
sizeof(DWORD)
|
|
#define EIGHT_BYTE_PAD_OFFSET PACKET_BURST_IO_OFFSET + \
|
|
sizeof(DWORD)
|
|
#define SIZE_OF_COUNTER_BLOCK EIGHT_BYTE_PAD_OFFSET + \
|
|
sizeof(DWORD)
|
|
|
|
|
|
|
|
|
|
// The definition of the NetWare Data definition. This structure holds the
|
|
// definition for actual NetWare object and the definition for each of the
|
|
// counters.
|
|
typedef struct _NW_DATA_DEFINITION {
|
|
PERF_OBJECT_TYPE NWObjectType;
|
|
PERF_COUNTER_DEFINITION Bytes;
|
|
PERF_COUNTER_DEFINITION IoOperations;
|
|
PERF_COUNTER_DEFINITION Ncps;
|
|
PERF_COUNTER_DEFINITION BytesReceived;
|
|
PERF_COUNTER_DEFINITION NcpsReceived;
|
|
PERF_COUNTER_DEFINITION BytesTransmitted;
|
|
PERF_COUNTER_DEFINITION NcpsTransmitted;
|
|
PERF_COUNTER_DEFINITION ReadOperations;
|
|
PERF_COUNTER_DEFINITION RandomReadOperations;
|
|
PERF_COUNTER_DEFINITION ReadNcps;
|
|
PERF_COUNTER_DEFINITION WriteOperations;
|
|
PERF_COUNTER_DEFINITION RandomWriteOperations;
|
|
PERF_COUNTER_DEFINITION WriteNcps;
|
|
PERF_COUNTER_DEFINITION Sessions;
|
|
PERF_COUNTER_DEFINITION Reconnects;
|
|
PERF_COUNTER_DEFINITION NetWare2XConnects;
|
|
PERF_COUNTER_DEFINITION NetWare3XConnects;
|
|
PERF_COUNTER_DEFINITION NetWare4XConnects;
|
|
PERF_COUNTER_DEFINITION ServerDisconnects;
|
|
PERF_COUNTER_DEFINITION PacketBurstRead;
|
|
PERF_COUNTER_DEFINITION PacketBurstReadTimeouts;
|
|
PERF_COUNTER_DEFINITION PacketBurstWrite;
|
|
PERF_COUNTER_DEFINITION PacketBurstWriteTimeouts;
|
|
PERF_COUNTER_DEFINITION PacketBurstIO;
|
|
} NW_DATA_DEFINITION;
|
|
|
|
#pragma pack ()
|
|
|
|
PM_OPEN_PROC OpenNetWarePerformanceData;
|
|
PM_COLLECT_PROC CollectNetWarePerformanceData;
|
|
PM_CLOSE_PROC CloseNetWarePerformanceData;
|
|
|