Windows NT 4.0 source code leak
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.
 
 
 
 
 
 

158 lines
5.5 KiB

/*++
Copyright (c) 1994 Microsoft Corporation
Module Name :
gddata.h
Abstract:
Extensible object definitions for the Gopher FTP Server's
counter objects & counters.
Author:
Murali R. Krishnan ( MuraliK ) 24-Nov-1994
Project:
Gopher Server Performance Counters DLL
Revision History:
--*/
# ifndef _GDDATA_H_
# define _GDDATA_H_
/************************************************************
* Type Definitions
************************************************************/
//
// This structure is used to ensure the first counter is properly
// aligned. Unfortunately, since PERF_COUNTER_BLOCK consists
// of just a single DWORD, any LARGE_INTEGERs that immediately
// follow will not be aligned properly.
//
// This structure requires "natural" packing & alignment (probably
// quad-word, especially on Alpha). Ergo, keep it out of the
// #pragma pack(4) scope below.
//
typedef struct _GD_COUNTER_BLOCK
{
PERF_COUNTER_BLOCK PerfCounterBlock;
LARGE_INTEGER DummyEntryForAlignmentPurposesOnly;
} GD_COUNTER_BLOCK;
//
// The routines that load these structures assume that all fields
// are DWORD packed & aligned.
//
#pragma pack(4)
//
// Offsets within a PERF_COUNTER_BLOCK.
//
#define GD_BYTES_SENT_OFFSET sizeof(GD_COUNTER_BLOCK)
#define GD_BYTES_RECEIVED_OFFSET (GD_BYTES_SENT_OFFSET + \
sizeof(LARGE_INTEGER))
#define GD_BYTES_TOTAL_OFFSET (GD_BYTES_RECEIVED_OFFSET + \
sizeof(LARGE_INTEGER))
#define GD_FILES_SENT_OFFSET (GD_BYTES_TOTAL_OFFSET + \
sizeof(LARGE_INTEGER))
#define GD_DIRECTORY_LISTINGS_OFFSET (GD_FILES_SENT_OFFSET + \
sizeof(DWORD))
#define GD_TOTAL_SEARCHES_OFFSET (GD_DIRECTORY_LISTINGS_OFFSET + \
sizeof(DWORD))
#define GD_CURRENT_ANONYMOUS_OFFSET (GD_TOTAL_SEARCHES_OFFSET + \
sizeof(DWORD))
#define GD_CURRENT_NONANONYMOUS_OFFSET (GD_CURRENT_ANONYMOUS_OFFSET + \
sizeof(DWORD))
#define GD_TOTAL_ANONYMOUS_OFFSET (GD_CURRENT_NONANONYMOUS_OFFSET+ \
sizeof(DWORD))
#define GD_TOTAL_NONANONYMOUS_OFFSET (GD_TOTAL_ANONYMOUS_OFFSET + \
sizeof(DWORD))
#define GD_MAX_ANONYMOUS_OFFSET (GD_TOTAL_NONANONYMOUS_OFFSET + \
sizeof(DWORD))
#define GD_MAX_NONANONYMOUS_OFFSET (GD_MAX_ANONYMOUS_OFFSET + \
sizeof(DWORD))
#define GD_CURRENT_CONNECTIONS_OFFSET (GD_MAX_NONANONYMOUS_OFFSET + \
sizeof(DWORD))
#define GD_MAX_CONNECTIONS_OFFSET (GD_CURRENT_CONNECTIONS_OFFSET + \
sizeof(DWORD))
#define GD_CONNECTION_ATTEMPTS_OFFSET (GD_MAX_CONNECTIONS_OFFSET + \
sizeof(DWORD))
#define GD_LOGON_ATTEMPTS_OFFSET (GD_CONNECTION_ATTEMPTS_OFFSET + \
sizeof(DWORD))
#define GD_ABORTED_CONNECTIONS_OFFSET (GD_LOGON_ATTEMPTS_OFFSET + \
sizeof(DWORD))
#define GD_ERRORED_CONNECTIONS_OFFSET (GD_ABORTED_CONNECTIONS_OFFSET + \
sizeof(DWORD))
#define GD_GOPHER_PLUS_REQUESTS_OFFSET (GD_ERRORED_CONNECTIONS_OFFSET + \
sizeof(DWORD))
#define SIZE_OF_GD_PERFORMANCE_DATA (GD_GOPHER_PLUS_REQUESTS_OFFSET + \
sizeof(DWORD))
//
// The counter structure returned.
//
typedef struct _GD_DATA_DEFINITION
{
PERF_OBJECT_TYPE GdObjectType;
PERF_COUNTER_DEFINITION GdBytesSent;
PERF_COUNTER_DEFINITION GdBytesReceived;
PERF_COUNTER_DEFINITION GdBytesTotal;
PERF_COUNTER_DEFINITION GdFilesSent;
PERF_COUNTER_DEFINITION GdDirectoryListings;
PERF_COUNTER_DEFINITION GdTotalSearches;
PERF_COUNTER_DEFINITION GdCurrentAnonymous;
PERF_COUNTER_DEFINITION GdCurrentNonAnonymous;
PERF_COUNTER_DEFINITION GdTotalAnonymous;
PERF_COUNTER_DEFINITION GdTotalNonAnonymous;
PERF_COUNTER_DEFINITION GdMaxAnonymous;
PERF_COUNTER_DEFINITION GdMaxNonAnonymous;
PERF_COUNTER_DEFINITION GdCurrentConnections;
PERF_COUNTER_DEFINITION GdMaxConnections;
PERF_COUNTER_DEFINITION GdConnectionAttempts;
PERF_COUNTER_DEFINITION GdLogonAttempts;
PERF_COUNTER_DEFINITION GdAbortedAttempts;
PERF_COUNTER_DEFINITION GdErroredConnections;
PERF_COUNTER_DEFINITION GdGopherPlusRequests;
} GD_DATA_DEFINITION;
extern GD_DATA_DEFINITION GdDataDefinition;
#define NUMBER_OF_GD_COUNTERS ((sizeof(GD_DATA_DEFINITION) - \
sizeof(PERF_OBJECT_TYPE)) / \
sizeof(PERF_COUNTER_DEFINITION))
//
// Restore default packing & alignment.
//
#pragma pack()
# endif // _GDDATA_H_
/************************ End of File ***********************/