windows-nt/Source/XPSP1/NT/inetsrv/iis/svcs/ftp/perfmon/ftpdata.h
2020-09-26 16:20:57 +08:00

121 lines
3.5 KiB
C

/**********************************************************************/
/** Microsoft Windows NT **/
/** Copyright(c) Microsoft Corp., 1993 **/
/**********************************************************************/
/*
ftpdata.h
Extensible object definitions for the FTP Server's counter
objects & counters.
FILE HISTORY:
KeithMo 07-Jun-1993 Created.
*/
#ifndef _FTPDATA_H_
#define _FTPDATA_H_
#pragma pack(8)
//
// The counter structure returned.
//
typedef struct _FTPD_DATA_DEFINITION
{
PERF_OBJECT_TYPE FtpdObjectType;
PERF_COUNTER_DEFINITION FtpdBytesSent;
PERF_COUNTER_DEFINITION FtpdBytesReceived;
PERF_COUNTER_DEFINITION FtpdBytesTotal;
PERF_COUNTER_DEFINITION FtpdFilesSent;
PERF_COUNTER_DEFINITION FtpdFilesReceived;
PERF_COUNTER_DEFINITION FtpdFilesTotal;
PERF_COUNTER_DEFINITION FtpdCurrentAnonymous;
PERF_COUNTER_DEFINITION FtpdCurrentNonAnonymous;
PERF_COUNTER_DEFINITION FtpdTotalAnonymous;
PERF_COUNTER_DEFINITION FtpdTotalNonAnonymous;
PERF_COUNTER_DEFINITION FtpdMaxAnonymous;
PERF_COUNTER_DEFINITION FtpdMaxNonAnonymous;
PERF_COUNTER_DEFINITION FtpdCurrentConnections;
PERF_COUNTER_DEFINITION FtpdMaxConnections;
PERF_COUNTER_DEFINITION FtpdConnectionAttempts;
PERF_COUNTER_DEFINITION FtpdLogonAttempts;
PERF_COUNTER_DEFINITION FtpdServiceUptime;
// These counters are currently meaningless, but should be restored if we
// ever enable per-FTP-instance bandwidth throttling.
/*
PERF_COUNTER_DEFINITION FtpdAllowedRequests;
PERF_COUNTER_DEFINITION FtpdRejectedRequests;
PERF_COUNTER_DEFINITION FtpdBlockedRequests;
PERF_COUNTER_DEFINITION FtpdCurrentBlockedRequests;
PERF_COUNTER_DEFINITION FtpdMeasuredBandwidth;
*/
} FTPD_DATA_DEFINITION;
typedef struct _FTPD_COUNTER_BLOCK
{
PERF_COUNTER_BLOCK PerfCounterBlock;
LONGLONG BytesSent;
LONGLONG BytesReceived;
LONGLONG BytesTotal;
DWORD FilesSent;
DWORD FilesReceived;
DWORD FilesTotal;
DWORD CurrentAnonymous;
DWORD CurrentNonAnonymous;
DWORD TotalAnonymous;
DWORD TotalNonAnonymous;
DWORD MaxAnonymous;
DWORD MaxNonAnonymous;
DWORD CurrentConnections;
DWORD MaxConnections;
DWORD ConnectionAttempts;
DWORD LogonAttempts;
DWORD ServiceUptime;
// These counters are currently meaningless, but should be restored if we
// ever enable per-FTP-instance bandwidth throttling.
/*
DWORD AllowedRequests;
DWORD RejectedRequests;
DWORD BlockedRequests;
DWORD CurrentBlockedRequests;
DWORD MeasuredBandwidth;
*/
} FTPD_COUNTER_BLOCK;
//
// The routines that load these structures assume that all fields
// are DWORD packed & aligned.
//
extern FTPD_DATA_DEFINITION FtpdDataDefinition;
#define NUMBER_OF_FTPD_COUNTERS ((sizeof(FTPD_DATA_DEFINITION) - \
sizeof(PERF_OBJECT_TYPE)) / \
sizeof(PERF_COUNTER_DEFINITION))
//
// Restore default packing & alignment.
//
#pragma pack()
#endif // _FTPDATA_H_