2 * Copyright (C) 2003 Juan Lang
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
18 #ifndef __WINE_TCPMIB_H
19 #define __WINE_TCPMIB_H
21 #define TCPIP_OWNING_MODULE_SIZE 16
28 MIB_TCP_STATE_CLOSED
= 1,
29 MIB_TCP_STATE_LISTEN
= 2,
30 MIB_TCP_STATE_SYN_SENT
= 3,
31 MIB_TCP_STATE_SYN_RCVD
= 4,
32 MIB_TCP_STATE_ESTAB
= 5,
33 MIB_TCP_STATE_FIN_WAIT1
= 6,
34 MIB_TCP_STATE_FIN_WAIT2
= 7,
35 MIB_TCP_STATE_CLOSE_WAIT
= 8,
36 MIB_TCP_STATE_CLOSING
= 9,
37 MIB_TCP_STATE_LAST_ACK
= 10,
38 MIB_TCP_STATE_TIME_WAIT
= 11,
39 MIB_TCP_STATE_DELETE_TCB
= 12,
44 TcpConnectionOffloadStateInHost
,
45 TcpConnectionOffloadStateOffloading
,
46 TcpConnectionOffloadStateOffloaded
,
47 TcpConnectionOffloadStateUploading
,
48 TcpConnectionOffloadStateMax
,
49 } TCP_CONNECTION_OFFLOAD_STATE
, *PTCP_CONNECTION_OFFLOAD_STATE
;
51 typedef struct _MIB_TCPROW
62 } MIB_TCPROW
, *PMIB_TCPROW
;
64 typedef struct _MIB_TCPTABLE
68 } MIB_TCPTABLE
, *PMIB_TCPTABLE
;
70 typedef struct _MIB_TCP6ROW
{
76 DWORD dwRemoteScopeId
;
78 } MIB_TCP6ROW
, *PMIB_TCP6ROW
;
80 typedef struct _MIB_TCP6TABLE
{
83 } MIB_TCP6TABLE
, *PMIB_TCP6TABLE
;
85 typedef struct _MIB_TCP6ROW2
{
90 DWORD dwRemoteScopeId
;
94 TCP_CONNECTION_OFFLOAD_STATE dwOffloadState
;
95 } MIB_TCP6ROW2
, *PMIB_TCP6ROW2
;
97 typedef struct _MIB_TCP6TABLE2
{
99 MIB_TCP6ROW2 table
[1];
100 } MIB_TCP6TABLE2
, *PMIB_TCP6TABLE2
;
102 typedef struct _MIB_TCPROW_OWNER_PID
110 } MIB_TCPROW_OWNER_PID
, *PMIB_TCPROW_OWNER_PID
;
112 typedef struct _MIB_TCPTABLE_OWNER_PID
115 MIB_TCPROW_OWNER_PID table
[1];
116 } MIB_TCPTABLE_OWNER_PID
, *PMIB_TCPTABLE_OWNER_PID
;
118 typedef struct _MIB_TCPROW_OWNER_MODULE
126 LARGE_INTEGER liCreateTimestamp
;
127 ULONGLONG OwningModuleInfo
[TCPIP_OWNING_MODULE_SIZE
];
128 } MIB_TCPROW_OWNER_MODULE
, *PMIB_TCPROW_OWNER_MODULE
;
130 typedef struct _MIB_TCPTABLE_OWNER_MODULE
133 MIB_TCPROW_OWNER_MODULE table
[1];
134 } MIB_TCPTABLE_OWNER_MODULE
, *PMIB_TCPTABLE_OWNER_MODULE
;
136 typedef struct _MIB_TCPROW2
144 TCP_CONNECTION_OFFLOAD_STATE dwOffloadState
;
145 } MIB_TCPROW2
, *PMIB_TCPROW2
;
147 typedef struct _MIB_TCPTABLE2
150 MIB_TCPROW2 table
[1];
151 } MIB_TCPTABLE2
, *PMIB_TCPTABLE2
;
158 TcpRtoAlgorithmOther
= 0,
159 TcpRtoAlgorithmConstant
= 1,
160 TcpRtoAlgorithmRsre
= 2,
161 TcpRtoAlgorithmVanj
= 3,
163 MIB_TCP_RTO_OTHER
= 1,
164 MIB_TCP_RTO_CONSTANT
= 2,
165 MIB_TCP_RTO_RSRE
= 3,
166 MIB_TCP_RTO_VANJ
= 4,
167 } TCP_RTO_ALGORITHM
, *PTCP_RTO_ALGORITHM
;
169 typedef struct _MIB_TCPSTATS
173 DWORD dwRtoAlgorithm
;
174 TCP_RTO_ALGORITHM RtoAlgorithm
;
180 DWORD dwPassiveOpens
;
181 DWORD dwAttemptFails
;
190 } MIB_TCPSTATS
, *PMIB_TCPSTATS
;
192 #endif /* __WINE_TCPMIB_H */