source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/tcpestats.h@ 1181

Last change on this file since 1181 was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 5.3 KB
RevLine 
[1166]1/**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6#ifndef _INC_TCPESTATS
7#define _INC_TCPESTATS
8
9#if (_WIN32_WINNT >= 0x0600)
10
11#ifdef __cplusplus
12extern "C" {
13#endif
14
15typedef struct _TCP_ESTATS_BANDWIDTH_ROD_v0 {
16 ULONG64 OutboundBandwidth;
17 ULONG64 InboundBandwidth;
18 ULONG64 OutboundInstability;
19 ULONG64 InboundInstability;
20 BOOLEAN OutboundBandwidthPeaked;
21 BOOLEAN InboundBandwidthPeaked;
22} TCP_ESTATS_BANDWIDTH_ROD_v0, *PTCP_ESTATS_BANDWIDTH_ROD_v0;
23
24typedef enum _TCP_BOOLEAN_OPTIONAL {
25 TcpBoolOptDisabled = 0,
26 TcpBoolOptEnabled = 1,
27 TcpBoolOptUnchanged = -1
28} TCP_BOOLEAN_OPTIONAL;
29
30typedef struct _TCP_ESTATS_BANDWIDTH_RW_v0 {
31 TCP_BOOLEAN_OPTIONAL EnableCollectionOutbound;
32 TCP_BOOLEAN_OPTIONAL EnableCollectionInbound;
33} TCP_ESTATS_BANDWIDTH_RW_v0, *PTCP_ESTATS_BANDWIDTH_RW_v0;
34
35typedef struct _TCP_ESTATS_DATA_ROD_v0 {
36 ULONG64 DataBytesOut;
37 ULONG64 DataSegsOut;
38 ULONG64 DataBytesIn;
39 ULONG64 DataSegsIn;
40 ULONG64 SegsOut;
41 ULONG64 SegsIn;
42 ULONG SoftErrors;
43 ULONG SoftErrorReason;
44 ULONG SndUna;
45 ULONG SndNxt;
46 ULONG SndMax;
47 ULONG64 ThruBytesAcked;
48 ULONG RcvNxt;
49 ULONG64 ThruBytesReceived;
50} TCP_ESTATS_DATA_ROD_v0, *PTCP_ESTATS_DATA_ROD_v0;
51
52typedef struct _TCP_ESTATS_DATA_RW_v0 {
53 BOOLEAN EnableCollection;
54} TCP_ESTATS_DATA_RW_v0, *PTCP_ESTATS_DATA_RW_v0;
55
56typedef struct _TCP_ESTATS_FINE_RTT_ROD_v0 {
57 ULONG RttVar;
58 ULONG MaxRtt;
59 ULONG MinRtt;
60 ULONG SumRtt;
61} TCP_ESTATS_FINE_RTT_ROD_v0, *PTCP_ESTATS_FINE_RTT_ROD_v0;
62
63typedef struct _TCP_ESTATS_FINE_RTT_RW_v0 {
64 BOOLEAN EnableCollection;
65} TCP_ESTATS_FINE_RTT_RW_v0, *PTCP_ESTATS_FINE_RTT_RW_v0;
66
67typedef struct _TCP_ESTATS_OBS_REC_ROD_v0 {
68 ULONG CurRwinRcvd;
69 ULONG MaxRwinRcvd;
70 ULONG MinRwinRcvd;
71 UCHAR WinScaleRcvd;
72} TCP_ESTATS_OBS_REC_ROD_v0, *PTCP_ESTATS_OBS_REC_ROD_v0;
73
74typedef struct _TCP_ESTATS_OBS_REC_RW_v0 {
75 BOOLEAN EnableCollection;
76} TCP_ESTATS_OBS_REC_RW_v0, *PTCP_ESTATS_OBS_REC_RW_v0;
77
78typedef struct _TCP_ESTATS_PATH_ROD_v0 {
79 ULONG FastRetran;
80 ULONG Timeouts;
81 ULONG SubsequentTimeouts;
82 ULONG CurTimeoutCount;
83 ULONG AbruptTimeouts;
84 ULONG PktsRetrans;
85 ULONG BytesRetrans;
86 ULONG DupAcksIn;
87 ULONG SacksRcvd;
88 ULONG SackBlocksRcvd;
89 ULONG CongSignals;
90 ULONG PreCongSumCwnd;
91 ULONG PreCongSumRtt;
92 ULONG PostCongSumRtt;
93 ULONG PostCongCountRtt;
94 ULONG EcnSignals;
95 ULONG EceRcvd;
96 ULONG SendStall;
97 ULONG QuenchRcvd;
98 ULONG RetranThresh;
99 ULONG SndDupAckEpisodes;
100 ULONG SumBytesReordered;
101 ULONG NonRecovDa;
102 ULONG NonRecovDaEpisodes;
103 ULONG AckAfterFr;
104 ULONG DsackDups;
105 ULONG SampleRtt;
106 ULONG SmoothedRtt;
107 ULONG RttVar;
108 ULONG MaxRtt;
109 ULONG MinRtt;
110 ULONG SumRtt;
111 ULONG CountRtt;
112 ULONG CurRto;
113 ULONG MaxRto;
114 ULONG MinRto;
115 ULONG CurMss;
116 ULONG MaxMss;
117 ULONG MinMss;
118 ULONG SpuriousRtoDetections;
119} TCP_ESTATS_PATH_ROD_v0, *PTCP_ESTATS_PATH_ROD_v0;
120
121typedef struct _TCP_ESTATS_PATH_RW_v0 {
122 BOOLEAN EnableCollection;
123} TCP_ESTATS_PATH_RW_v0, *PTCP_ESTATS_PATH_RW_v0;
124
125typedef struct _TCP_ESTATS_REC_ROD_v0 {
126 ULONG CurRwinSent;
127 ULONG MaxRwinSent;
128 ULONG MinRwinSent;
129 ULONG LimRwin;
130 ULONG DupAckEpisodes;
131 ULONG DupAcksOut;
132 ULONG CeRcvd;
133 ULONG EcnSent;
134 ULONG EcnNoncesRcvd;
135 ULONG CurReasmQueue;
136 ULONG MaxReasmQueue;
137 SIZE_T CurAppRQueue;
138 SIZE_T MaxAppRQueue;
139 UCHAR WinScaleSent;
140} TCP_ESTATS_REC_ROD_v0, *PTCP_ESTATS_REC_ROD_v0;
141
142typedef struct _TCP_ESTATS_REC_RW_v0 {
143 BOOLEAN EnableCollection;
144} TCP_ESTATS_REC_RW_v0, *PTCP_ESTATS_REC_RW_v0;
145
146typedef struct _TCP_ESTATS_SEND_BUFF_ROD_v0 {
147 SIZE_T CurRetxQueue;
148 SIZE_T MaxRetxQueue;
149 SIZE_T CurAppWQueue;
150 SIZE_T MaxAppWQueue;
151} TCP_ESTATS_SEND_BUFF_ROD_v0, *PTCP_ESTATS_SEND_BUFF_ROD_v0;
152
153typedef struct _TCP_ESTATS_SEND_BUFF_RW_v0 {
154 BOOLEAN EnableCollection;
155} TCP_ESTATS_SEND_BUFF_RW_v0, *PTCP_ESTATS_SEND_BUFF_RW_v0;
156
157typedef struct _TCP_ESTATS_SND_CONG_ROD_v0 {
158 ULONG SndLimTransRwin;
159 ULONG SndLimTimeRwin;
160 SIZE_T SndLimBytesRwin;
161 ULONG SndLimTransCwnd;
162 ULONG SndLimTimeCwnd;
163 SIZE_T SndLimBytesCwnd;
164 ULONG SndLimTransSnd;
165 ULONG SndLimTimeSnd;
166 SIZE_T SndLimBytesSnd;
167 ULONG SlowStart;
168 ULONG CongAvoid;
169 ULONG OtherReductions;
170 ULONG CurCwnd;
171 ULONG MaxSsCwnd;
172 ULONG MaxCaCwnd;
173 ULONG CurSsthresh;
174 ULONG MaxSsthresh;
175 ULONG MinSsthresh;
176} TCP_ESTATS_SND_CONG_ROD_v0, *PTCP_ESTATS_SND_CONG_ROD_v0;
177
178typedef struct _TCP_ESTATS_SND_CONG_ROS_v0 {
179 ULONG LimCwnd;
180} TCP_ESTATS_SND_CONG_ROS_v0, *PTCP_ESTATS_SND_CONG_ROS_v0;
181
182typedef struct _TCP_ESTATS_SND_CONG_RW_v0 {
183 BOOLEAN EnableCollection;
184} TCP_ESTATS_SND_CONG_RW_v0, *PTCP_ESTATS_SND_CONG_RW_v0;
185
186typedef struct _TCP_ESTATS_SYN_OPTS_ROS_v0 {
187 BOOLEAN ActiveOpen;
188 ULONG MssRcvd;
189 ULONG MssSent;
190} TCP_ESTATS_SYN_OPTS_ROS_v0, *PTCP_ESTATS_SYN_OPTS_ROS_v0;
191
192typedef enum _TCP_ESTATS_TYPE {
193 TcpConnectionEstatsSynOpts,
194 TcpConnectionEstatsData,
195 TcpConnectionEstatsSndCong,
196 TcpConnectionEstatsPath,
197 TcpConnectionEstatsSendBuff,
198 TcpConnectionEstatsRec,
199 TcpConnectionEstatsObsRec,
200 TcpConnectionEstatsBandwidth,
201 TcpConnectionEstatsFineRtt,
202 TcpConnectionEstatsMaximum
203} TCP_ESTATS_TYPE;
204
205#ifdef __cplusplus
206}
207#endif
208
209#endif /*(_WIN32_WINNT >= 0x0600)*/
210
211#endif /*_INC_TCPESTATS*/
212
Note: See TracBrowser for help on using the repository browser.