123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212 |
- /**
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is part of the mingw-w64 runtime package.
- * No warranty is given; refer to the file DISCLAIMER.PD within this package.
- */
- #ifndef _INC_TCPESTATS
- #define _INC_TCPESTATS
- #if (_WIN32_WINNT >= 0x0600)
- #ifdef __cplusplus
- extern "C" {
- #endif
- typedef struct _TCP_ESTATS_BANDWIDTH_ROD_v0 {
- ULONG64 OutboundBandwidth;
- ULONG64 InboundBandwidth;
- ULONG64 OutboundInstability;
- ULONG64 InboundInstability;
- BOOLEAN OutboundBandwidthPeaked;
- BOOLEAN InboundBandwidthPeaked;
- } TCP_ESTATS_BANDWIDTH_ROD_v0, *PTCP_ESTATS_BANDWIDTH_ROD_v0;
- typedef enum _TCP_BOOLEAN_OPTIONAL {
- TcpBoolOptDisabled = 0,
- TcpBoolOptEnabled = 1,
- TcpBoolOptUnchanged = -1
- } TCP_BOOLEAN_OPTIONAL;
- typedef struct _TCP_ESTATS_BANDWIDTH_RW_v0 {
- TCP_BOOLEAN_OPTIONAL EnableCollectionOutbound;
- TCP_BOOLEAN_OPTIONAL EnableCollectionInbound;
- } TCP_ESTATS_BANDWIDTH_RW_v0, *PTCP_ESTATS_BANDWIDTH_RW_v0;
- typedef struct _TCP_ESTATS_DATA_ROD_v0 {
- ULONG64 DataBytesOut;
- ULONG64 DataSegsOut;
- ULONG64 DataBytesIn;
- ULONG64 DataSegsIn;
- ULONG64 SegsOut;
- ULONG64 SegsIn;
- ULONG SoftErrors;
- ULONG SoftErrorReason;
- ULONG SndUna;
- ULONG SndNxt;
- ULONG SndMax;
- ULONG64 ThruBytesAcked;
- ULONG RcvNxt;
- ULONG64 ThruBytesReceived;
- } TCP_ESTATS_DATA_ROD_v0, *PTCP_ESTATS_DATA_ROD_v0;
- typedef struct _TCP_ESTATS_DATA_RW_v0 {
- BOOLEAN EnableCollection;
- } TCP_ESTATS_DATA_RW_v0, *PTCP_ESTATS_DATA_RW_v0;
- typedef struct _TCP_ESTATS_FINE_RTT_ROD_v0 {
- ULONG RttVar;
- ULONG MaxRtt;
- ULONG MinRtt;
- ULONG SumRtt;
- } TCP_ESTATS_FINE_RTT_ROD_v0, *PTCP_ESTATS_FINE_RTT_ROD_v0;
- typedef struct _TCP_ESTATS_FINE_RTT_RW_v0 {
- BOOLEAN EnableCollection;
- } TCP_ESTATS_FINE_RTT_RW_v0, *PTCP_ESTATS_FINE_RTT_RW_v0;
- typedef struct _TCP_ESTATS_OBS_REC_ROD_v0 {
- ULONG CurRwinRcvd;
- ULONG MaxRwinRcvd;
- ULONG MinRwinRcvd;
- UCHAR WinScaleRcvd;
- } TCP_ESTATS_OBS_REC_ROD_v0, *PTCP_ESTATS_OBS_REC_ROD_v0;
- typedef struct _TCP_ESTATS_OBS_REC_RW_v0 {
- BOOLEAN EnableCollection;
- } TCP_ESTATS_OBS_REC_RW_v0, *PTCP_ESTATS_OBS_REC_RW_v0;
- typedef struct _TCP_ESTATS_PATH_ROD_v0 {
- ULONG FastRetran;
- ULONG Timeouts;
- ULONG SubsequentTimeouts;
- ULONG CurTimeoutCount;
- ULONG AbruptTimeouts;
- ULONG PktsRetrans;
- ULONG BytesRetrans;
- ULONG DupAcksIn;
- ULONG SacksRcvd;
- ULONG SackBlocksRcvd;
- ULONG CongSignals;
- ULONG PreCongSumCwnd;
- ULONG PreCongSumRtt;
- ULONG PostCongSumRtt;
- ULONG PostCongCountRtt;
- ULONG EcnSignals;
- ULONG EceRcvd;
- ULONG SendStall;
- ULONG QuenchRcvd;
- ULONG RetranThresh;
- ULONG SndDupAckEpisodes;
- ULONG SumBytesReordered;
- ULONG NonRecovDa;
- ULONG NonRecovDaEpisodes;
- ULONG AckAfterFr;
- ULONG DsackDups;
- ULONG SampleRtt;
- ULONG SmoothedRtt;
- ULONG RttVar;
- ULONG MaxRtt;
- ULONG MinRtt;
- ULONG SumRtt;
- ULONG CountRtt;
- ULONG CurRto;
- ULONG MaxRto;
- ULONG MinRto;
- ULONG CurMss;
- ULONG MaxMss;
- ULONG MinMss;
- ULONG SpuriousRtoDetections;
- } TCP_ESTATS_PATH_ROD_v0, *PTCP_ESTATS_PATH_ROD_v0;
- typedef struct _TCP_ESTATS_PATH_RW_v0 {
- BOOLEAN EnableCollection;
- } TCP_ESTATS_PATH_RW_v0, *PTCP_ESTATS_PATH_RW_v0;
- typedef struct _TCP_ESTATS_REC_ROD_v0 {
- ULONG CurRwinSent;
- ULONG MaxRwinSent;
- ULONG MinRwinSent;
- ULONG LimRwin;
- ULONG DupAckEpisodes;
- ULONG DupAcksOut;
- ULONG CeRcvd;
- ULONG EcnSent;
- ULONG EcnNoncesRcvd;
- ULONG CurReasmQueue;
- ULONG MaxReasmQueue;
- SIZE_T CurAppRQueue;
- SIZE_T MaxAppRQueue;
- UCHAR WinScaleSent;
- } TCP_ESTATS_REC_ROD_v0, *PTCP_ESTATS_REC_ROD_v0;
- typedef struct _TCP_ESTATS_REC_RW_v0 {
- BOOLEAN EnableCollection;
- } TCP_ESTATS_REC_RW_v0, *PTCP_ESTATS_REC_RW_v0;
- typedef struct _TCP_ESTATS_SEND_BUFF_ROD_v0 {
- SIZE_T CurRetxQueue;
- SIZE_T MaxRetxQueue;
- SIZE_T CurAppWQueue;
- SIZE_T MaxAppWQueue;
- } TCP_ESTATS_SEND_BUFF_ROD_v0, *PTCP_ESTATS_SEND_BUFF_ROD_v0;
- typedef struct _TCP_ESTATS_SEND_BUFF_RW_v0 {
- BOOLEAN EnableCollection;
- } TCP_ESTATS_SEND_BUFF_RW_v0, *PTCP_ESTATS_SEND_BUFF_RW_v0;
- typedef struct _TCP_ESTATS_SND_CONG_ROD_v0 {
- ULONG SndLimTransRwin;
- ULONG SndLimTimeRwin;
- SIZE_T SndLimBytesRwin;
- ULONG SndLimTransCwnd;
- ULONG SndLimTimeCwnd;
- SIZE_T SndLimBytesCwnd;
- ULONG SndLimTransSnd;
- ULONG SndLimTimeSnd;
- SIZE_T SndLimBytesSnd;
- ULONG SlowStart;
- ULONG CongAvoid;
- ULONG OtherReductions;
- ULONG CurCwnd;
- ULONG MaxSsCwnd;
- ULONG MaxCaCwnd;
- ULONG CurSsthresh;
- ULONG MaxSsthresh;
- ULONG MinSsthresh;
- } TCP_ESTATS_SND_CONG_ROD_v0, *PTCP_ESTATS_SND_CONG_ROD_v0;
- typedef struct _TCP_ESTATS_SND_CONG_ROS_v0 {
- ULONG LimCwnd;
- } TCP_ESTATS_SND_CONG_ROS_v0, *PTCP_ESTATS_SND_CONG_ROS_v0;
- typedef struct _TCP_ESTATS_SND_CONG_RW_v0 {
- BOOLEAN EnableCollection;
- } TCP_ESTATS_SND_CONG_RW_v0, *PTCP_ESTATS_SND_CONG_RW_v0;
- typedef struct _TCP_ESTATS_SYN_OPTS_ROS_v0 {
- BOOLEAN ActiveOpen;
- ULONG MssRcvd;
- ULONG MssSent;
- } TCP_ESTATS_SYN_OPTS_ROS_v0, *PTCP_ESTATS_SYN_OPTS_ROS_v0;
- typedef enum _TCP_ESTATS_TYPE {
- TcpConnectionEstatsSynOpts,
- TcpConnectionEstatsData,
- TcpConnectionEstatsSndCong,
- TcpConnectionEstatsPath,
- TcpConnectionEstatsSendBuff,
- TcpConnectionEstatsRec,
- TcpConnectionEstatsObsRec,
- TcpConnectionEstatsBandwidth,
- TcpConnectionEstatsFineRtt,
- TcpConnectionEstatsMaximum
- } TCP_ESTATS_TYPE;
- #ifdef __cplusplus
- }
- #endif
- #endif /*(_WIN32_WINNT >= 0x0600)*/
- #endif /*_INC_TCPESTATS*/
|