mirror of
https://github.com/QB64Official/qb64.git
synced 2024-08-22 04:25:08 +00:00
212 lines
5.3 KiB
C
212 lines
5.3 KiB
C
/**
|
|
* 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*/
|
|
|