summaryrefslogtreecommitdiff
path: root/vendor/winapi/src/shared/tcpestats.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/winapi/src/shared/tcpestats.rs')
-rw-r--r--vendor/winapi/src/shared/tcpestats.rs211
1 files changed, 211 insertions, 0 deletions
diff --git a/vendor/winapi/src/shared/tcpestats.rs b/vendor/winapi/src/shared/tcpestats.rs
new file mode 100644
index 0000000..7ddbd96
--- /dev/null
+++ b/vendor/winapi/src/shared/tcpestats.rs
@@ -0,0 +1,211 @@
+// Licensed under the Apache License, Version 2.0
+// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
+// All files in the project carrying such notice may not be copied, modified, or distributed
+// except according to those terms.
+// #include <winapifamily.h>
+use shared::basetsd::{SIZE_T, ULONG64};
+use shared::ntdef::{BOOLEAN, UCHAR, ULONG};
+ENUM!{enum TCP_ESTATS_TYPE {
+ TcpConnectionEstatsSynOpts = 0,
+ TcpConnectionEstatsData = 1,
+ TcpConnectionEstatsSndCong = 2,
+ TcpConnectionEstatsPath = 3,
+ TcpConnectionEstatsSendBuff = 4,
+ TcpConnectionEstatsRec = 5,
+ TcpConnectionEstatsObsRec = 6,
+ TcpConnectionEstatsBandwidth = 7,
+ TcpConnectionEstatsFineRtt = 8,
+ TcpConnectionEstatsMaximum = 9,
+}}
+pub type PTCP_ESTATS_TYPE = *mut TCP_ESTATS_TYPE;
+ENUM!{enum TCP_BOOLEAN_OPTIONAL {
+ TcpBoolOptDisabled = 0,
+ TcpBoolOptEnabled = 1,
+ TcpBoolOptUnchanged = -1i32 as u32,
+}}
+pub type PTCP_BOOLEAN_OPTIONAL = *mut TCP_BOOLEAN_OPTIONAL;
+STRUCT!{struct TCP_ESTATS_SYN_OPTS_ROS_v0 {
+ ActiveOpen: BOOLEAN,
+ MssRcvd: ULONG,
+ MssSent: ULONG,
+}}
+pub type PTCP_ESTATS_SYN_OPTS_ROS_v0 = *mut TCP_ESTATS_SYN_OPTS_ROS_v0;
+ENUM!{enum TCP_SOFT_ERROR {
+ TcpErrorNone = 0,
+ TcpErrorBelowDataWindow = 1,
+ TcpErrorAboveDataWindow = 2,
+ TcpErrorBelowAckWindow = 3,
+ TcpErrorAboveAckWindow = 4,
+ TcpErrorBelowTsWindow = 5,
+ TcpErrorAboveTsWindow = 6,
+ TcpErrorDataChecksumError = 7,
+ TcpErrorDataLengthError = 8,
+ TcpErrorMaxSoftError = 9,
+}}
+pub type PTCP_SOFT_ERROR = *mut TCP_SOFT_ERROR;
+STRUCT!{struct TCP_ESTATS_DATA_ROD_v0 {
+ DataBytesOut: ULONG64,
+ DataSegsOut: ULONG64,
+ DataBytesIn: ULONG64,
+ DataSegsIn: ULONG64,
+ SegsOut: ULONG64,
+ SegsIn: ULONG64,
+ SoftErrors: ULONG,
+ SoftErrorReason: ULONG,
+ SndUna: ULONG,
+ SndNxt: ULONG,
+ SndMax: ULONG,
+ ThruBytesAcked: ULONG64,
+ RcvNxt: ULONG,
+ ThruBytesReceived: ULONG64,
+}}
+pub type PTCP_ESTATS_DATA_ROD_v0 = *mut TCP_ESTATS_DATA_ROD_v0;
+STRUCT!{struct TCP_ESTATS_DATA_RW_v0 {
+ EnableCollection: BOOLEAN,
+}}
+pub type PTCP_ESTATS_DATA_RW_v0 = TCP_ESTATS_DATA_RW_v0;
+STRUCT!{struct TCP_ESTATS_SND_CONG_ROD_v0 {
+ SndLimTransRwin: ULONG,
+ SndLimTimeRwin: ULONG,
+ SndLimBytesRwin: SIZE_T,
+ SndLimTransCwnd: ULONG,
+ SndLimTimeCwnd: ULONG,
+ SndLimBytesCwnd: SIZE_T,
+ SndLimTransSnd: ULONG,
+ SndLimTimeSnd: ULONG,
+ SndLimBytesSnd: SIZE_T,
+ SlowStart: ULONG,
+ CongAvoid: ULONG,
+ OtherReductions: ULONG,
+ CurCwnd: ULONG,
+ MaxSsCwnd: ULONG,
+ MaxCaCwnd: ULONG,
+ CurSsthresh: ULONG,
+ MaxSsthresh: ULONG,
+ MinSsthresh: ULONG,
+}}
+pub type PTCP_ESTATS_SND_CONG_ROD_v0 = *mut TCP_ESTATS_SND_CONG_ROD_v0;
+STRUCT!{struct TCP_ESTATS_SND_CONG_ROS_v0 {
+ LimCwnd: ULONG,
+}}
+pub type PTCP_ESTATS_SND_CONG_ROS_v0 = *mut TCP_ESTATS_SND_CONG_ROS_v0;
+STRUCT!{struct TCP_ESTATS_SND_CONG_RW_v0 {
+ EnableCollection: BOOLEAN,
+}}
+pub type PTCP_ESTATS_SND_CONG_RW_v0 = *mut TCP_ESTATS_SND_CONG_RW_v0;
+STRUCT!{struct TCP_ESTATS_PATH_ROD_v0 {
+ 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: ULONG,
+}}
+pub type PTCP_ESTATS_PATH_ROD_v0 = *mut TCP_ESTATS_PATH_ROD_v0;
+STRUCT!{struct TCP_ESTATS_PATH_RW_v0 {
+ EnableCollection: BOOLEAN,
+}}
+pub type PTCP_ESTATS_PATH_RW_v0 = *mut TCP_ESTATS_PATH_RW_v0;
+STRUCT!{struct TCP_ESTATS_SEND_BUFF_ROD_v0 {
+ CurRetxQueue: SIZE_T,
+ MaxRetxQueue: SIZE_T,
+ CurAppWQueue: SIZE_T,
+ MaxAppWQueue: SIZE_T,
+}}
+pub type PTCP_ESTATS_SEND_BUFF_ROD_v0 = *mut TCP_ESTATS_SEND_BUFF_ROD_v0;
+STRUCT!{struct TCP_ESTATS_SEND_BUFF_RW_v0 {
+ EnableCollection: BOOLEAN,
+}}
+pub type PTCP_ESTATS_SEND_BUFF_RW_v0 = *mut TCP_ESTATS_SEND_BUFF_RW_v0;
+STRUCT!{struct TCP_ESTATS_REC_ROD_v0 {
+ CurRwinSent: ULONG,
+ MaxRwinSent: ULONG,
+ MinRwinSent: ULONG,
+ LimRwin: ULONG,
+ DupAckEpisodes: ULONG,
+ DupAcksOut: ULONG,
+ CeRcvd: ULONG,
+ EcnSent: ULONG,
+ EcnNoncesRcvd: ULONG,
+ CurReasmQueue: ULONG,
+ MaxReasmQueue: ULONG,
+ CurAppRQueue: SIZE_T,
+ MaxAppRQueue: SIZE_T,
+ WinScaleSent: UCHAR,
+}}
+pub type PTCP_ESTATS_REC_ROD_v0 = *mut TCP_ESTATS_REC_ROD_v0;
+STRUCT!{struct TCP_ESTATS_REC_RW_v0 {
+ EnableCollection: BOOLEAN,
+}}
+pub type PTCP_ESTATS_REC_RW_v0 = *mut TCP_ESTATS_REC_RW_v0;
+STRUCT!{struct TCP_ESTATS_OBS_REC_ROD_v0 {
+ CurRwinRcvd: ULONG,
+ MaxRwinRcvd: ULONG,
+ MinRwinRcvd: ULONG,
+ WinScaleRcvd: UCHAR,
+}}
+pub type PTCP_ESTATS_OBS_REC_ROD_v0 = *mut TCP_ESTATS_OBS_REC_ROD_v0;
+STRUCT!{struct TCP_ESTATS_OBS_REC_RW_v0 {
+ EnableCollection: BOOLEAN,
+}}
+pub type PTCP_ESTATS_OBS_REC_RW_v0 = *mut TCP_ESTATS_OBS_REC_RW_v0;
+STRUCT!{struct TCP_ESTATS_BANDWIDTH_RW_v0 {
+ EnableCollectionOutbound: TCP_BOOLEAN_OPTIONAL,
+ EnableCollectionInbound: TCP_BOOLEAN_OPTIONAL,
+}}
+pub type PTCP_ESTATS_BANDWIDTH_RW_v0 = *mut TCP_ESTATS_BANDWIDTH_RW_v0;
+STRUCT!{struct TCP_ESTATS_BANDWIDTH_ROD_v0 {
+ OutboundBandwidth: ULONG64,
+ InboundBandwidth: ULONG64,
+ OutboundInstability: ULONG64,
+ InboundInstability: ULONG64,
+ OutboundBandwidthPeaked: BOOLEAN,
+ InboundBandwidthPeaked: BOOLEAN,
+}}
+pub type PTCP_ESTATS_BANDWIDTH_ROD_v0 = *mut TCP_ESTATS_BANDWIDTH_ROD_v0;
+STRUCT!{struct TCP_ESTATS_FINE_RTT_RW_v0 {
+ EnableCollection: BOOLEAN,
+}}
+pub type PTCP_ESTATS_FINE_RTT_RW_v0 = *mut TCP_ESTATS_FINE_RTT_RW_v0;
+STRUCT!{struct TCP_ESTATS_FINE_RTT_ROD_v0 {
+ RttVar: ULONG,
+ MaxRtt: ULONG,
+ MinRtt: ULONG,
+ SumRtt: ULONG,
+}}
+pub type PTCP_ESTATS_FINE_RTT_ROD_v0 = *mut TCP_ESTATS_FINE_RTT_ROD_v0;