ReactOS 0.4.16-dev-1946-g52006dd
tcpmib.h
Go to the documentation of this file.
1/*
2 * PROJECT: ReactOS PSDK
3 * LICENSE: MIT (https://spdx.org/licenses/MIT)
4 * PURPOSE: TCPMIB Header
5 * COPYRIGHT: Copyright 2025 Carl Bialorucki <carl.bialorucki@reactos.org>
6 */
7
8#ifndef _TCPMIB_
9#define _TCPMIB_
10
11#define TCPIP_OWNING_MODULE_SIZE 16
12#define MIB_TCP_MAXCONN_DYNAMIC ((ULONG)-1)
13
14typedef enum {
27
30
31typedef enum {
38
39typedef struct _MIB_TCPROW {
40 union {
43 };
49
50typedef struct _MIB_TCPTABLE {
54
55#define SIZEOF_TCPTABLE(x) \
56 (FIELD_OFFSET(MIB_TCPTABLE, table[0]) + ((x) * sizeof(MIB_TCPROW)) + ALIGN_SIZE)
57
58typedef struct _MIB_TCPROW2 {
67
68typedef struct _MIB_TCPTABLE2 {
72
73#define SIZEOF_TCPTABLE2(x) \
74 (FIELD_OFFSET(MIB_TCPTABLE2, table[0]) + ((x) * sizeof(MIB_TCPROW2)) + ALIGN_SIZE)
75
76typedef struct _MIB_TCPROW_OWNER_PID {
84
89
90#define SIZEOF_TCPTABLE_OWNER_PID(x) \
91 (FIELD_OFFSET(MIB_TCPTABLE_OWNER_PID, table[0]) + ((x) * sizeof(MIB_TCPROW_OWNER_PID)) + ALIGN_SIZE)
92
103
108
109#define SIZEOF_TCPTABLE_OWNER_MODULE(x) \
110 (FIELD_OFFSET(MIB_TCPTABLE_OWNER_MODULE, table[0]) + ((x) * sizeof(MIB_TCPROW_OWNER_MODULE)) + ALIGN_SIZE)
111
112typedef enum {
117
123
124typedef struct _MIB_TCPSTATS {
125 union {
128 };
144
145#if (NTDDI_VERSION >= NTDDI_WIN10_RS3)
146typedef struct _MIB_TCPSTATS2 {
163#endif // (NTDDI_VERSION >= NTDDI_WIN10_RS3)
164
165#ifdef _WS2IPDEF_
166typedef struct _MIB_TCP6ROW {
175
176typedef struct _MIB_TCP6TABLE {
180
181#define SIZEOF_TCP6TABLE(x) \
182 (FIELD_OFFSET(MIB_TCP6TABLE, table[0]) + ((x) * sizeof(MIB_TCP6ROW)) + ALIGN_SIZE)
183
184typedef struct _MIB_TCP6ROW2 {
195
196typedef struct _MIB_TCP6TABLE2 {
200
201#define SIZEOF_TCP6TABLE2(x) \
202 (FIELD_OFFSET(MIB_TCP6TABLE2, table[0]) + ((x) * sizeof(MIB_TCP6ROW2)) + ALIGN_SIZE)
203
204typedef struct _MIB_TCP6ROW_OWNER_PID {
205 UCHAR ucLocalAddr[16];
214
215typedef struct _MIB_TCP6TABLE_OWNER_PID {
220
221#define SIZEOF_TCP6TABLE_OWNER_PID(x) \
222 (FIELD_OFFSET(MIB_TCP6TABLE_OWNER_PID, table[0]) + ((x) * sizeof(MIB_TCP6ROW_OWNER_PID)) + ALIGN_SIZE)
223
224typedef struct _MIB_TCP6ROW_OWNER_MODULE {
225 UCHAR ucLocalAddr[16];
236
237typedef struct _MIB_TCP6TABLE_OWNER_MODULE {
242
243#define SIZEOF_TCP6TABLE_OWNER_MODULE(x) \
244 (FIELD_OFFSET(MIB_TCP6TABLE_OWNER_MODULE, table[0]) + ((x) * sizeof(MIB_TCP6ROW_OWNER_MODULE)) + ALIGN_SIZE)
245#endif // _WS2IPDEF_
246
247#endif // _TCPMIB_
unsigned long DWORD
Definition: ntddk_ex.h:95
#define _Field_size_(s)
Definition: no_sal2.h:332
TCP_RTO_ALGORITHM
Definition: tcpmib.h:112
@ MIB_TCP_RTO_CONSTANT
Definition: tcpmib.h:119
@ TcpRtoAlgorithmOther
Definition: tcpmib.h:113
@ TcpRtoAlgorithmRsre
Definition: tcpmib.h:115
@ TcpRtoAlgorithmVanj
Definition: tcpmib.h:116
@ MIB_TCP_RTO_OTHER
Definition: tcpmib.h:118
@ MIB_TCP_RTO_RSRE
Definition: tcpmib.h:120
@ MIB_TCP_RTO_VANJ
Definition: tcpmib.h:121
@ TcpRtoAlgorithmConstant
Definition: tcpmib.h:114
struct _MIB_TCPROW * PMIB_TCPROW
struct _MIB_TCPROW MIB_TCPROW
struct _MIB_TCPTABLE_OWNER_PID * PMIB_TCPTABLE_OWNER_PID
struct _MIB_TCPTABLE_OWNER_MODULE * PMIB_TCPTABLE_OWNER_MODULE
struct _MIB_TCPTABLE * PMIB_TCPTABLE
struct _MIB_TCPROW2 MIB_TCPROW2
struct _MIB_TCPROW_OWNER_PID * PMIB_TCPROW_OWNER_PID
struct _MIB_TCPROW2 * PMIB_TCPROW2
struct _MIB_TCPROW_OWNER_PID MIB_TCPROW_OWNER_PID
enum TCP_RTO_ALGORITHM * PTCP_RTO_ALGORITHM
MIB_TCP_STATE
Definition: tcpmib.h:14
@ MIB_TCP_STATE_FIN_WAIT1
Definition: tcpmib.h:20
@ MIB_TCP_STATE_DELETE_TCB
Definition: tcpmib.h:26
@ MIB_TCP_STATE_CLOSING
Definition: tcpmib.h:23
@ MIB_TCP_STATE_TIME_WAIT
Definition: tcpmib.h:25
@ MIB_TCP_STATE_SYN_RCVD
Definition: tcpmib.h:18
@ MIB_TCP_STATE_RESERVED
Definition: tcpmib.h:28
@ MIB_TCP_STATE_SYN_SENT
Definition: tcpmib.h:17
@ MIB_TCP_STATE_ESTAB
Definition: tcpmib.h:19
@ MIB_TCP_STATE_LISTEN
Definition: tcpmib.h:16
@ MIB_TCP_STATE_CLOSED
Definition: tcpmib.h:15
@ MIB_TCP_STATE_LAST_ACK
Definition: tcpmib.h:24
@ MIB_TCP_STATE_FIN_WAIT2
Definition: tcpmib.h:21
@ MIB_TCP_STATE_CLOSE_WAIT
Definition: tcpmib.h:22
struct _MIB_TCPSTATS2 MIB_TCPSTATS2
struct _MIB_TCPSTATS * PMIB_TCPSTATS
struct _MIB_TCPROW_OWNER_MODULE * PMIB_TCPROW_OWNER_MODULE
struct _MIB_TCPTABLE_OWNER_MODULE MIB_TCPTABLE_OWNER_MODULE
struct _MIB_TCPSTATS MIB_TCPSTATS
struct _MIB_TCPTABLE2 * PMIB_TCPTABLE2
struct _MIB_TCPSTATS2 * PMIB_TCPSTATS2
struct _MIB_TCPTABLE2 MIB_TCPTABLE2
struct _MIB_TCPTABLE_OWNER_PID MIB_TCPTABLE_OWNER_PID
enum TCP_CONNECTION_OFFLOAD_STATE * PTCP_CONNECTION_OFFLOAD_STATE
struct _MIB_TCPROW_OWNER_MODULE MIB_TCPROW_OWNER_MODULE
TCP_CONNECTION_OFFLOAD_STATE
Definition: tcpmib.h:31
@ TcpConnectionOffloadStateMax
Definition: tcpmib.h:36
@ TcpConnectionOffloadStateOffloading
Definition: tcpmib.h:33
@ TcpConnectionOffloadStateOffloaded
Definition: tcpmib.h:34
@ TcpConnectionOffloadStateUploading
Definition: tcpmib.h:35
@ TcpConnectionOffloadStateInHost
Definition: tcpmib.h:32
struct _MIB_TCPTABLE MIB_TCPTABLE
DWORD dwOwningPid
Definition: tcpmib.h:93
DWORD dwRemoteScopeId
Definition: tcpmib.h:90
DWORD dwLocalScopeId
Definition: tcpmib.h:87
TCP_CONNECTION_OFFLOAD_STATE dwOffloadState
Definition: tcpmib.h:94
DWORD dwLocalPort
Definition: tcpmib.h:88
MIB_TCP_STATE State
Definition: tcpmib.h:92
IN6_ADDR RemoteAddr
Definition: tcpmib.h:89
DWORD dwRemotePort
Definition: tcpmib.h:91
IN6_ADDR LocalAddr
Definition: tcpmib.h:86
UCHAR ucRemoteAddr[16]
Definition: tcpmib.h:159
ULONGLONG OwningModuleInfo[TCPIP_OWNING_MODULE_SIZE]
Definition: tcpmib.h:165
LARGE_INTEGER liCreateTimestamp
Definition: tcpmib.h:164
UCHAR ucLocalAddr[16]
Definition: tcpmib.h:120
UCHAR ucRemoteAddr[16]
Definition: tcpmib.h:123
DWORD dwLocalPort
Definition: tcpmib.h:74
DWORD dwRemotePort
Definition: tcpmib.h:77
MIB_TCP_STATE State
Definition: tcpmib.h:71
IN6_ADDR RemoteAddr
Definition: tcpmib.h:75
DWORD dwLocalScopeId
Definition: tcpmib.h:73
IN6_ADDR LocalAddr
Definition: tcpmib.h:72
DWORD dwRemoteScopeId
Definition: tcpmib.h:76
DWORD dwNumEntries
Definition: tcpmib.h:98
DWORD dwNumEntries
Definition: tcpmib.h:81
DWORD dwLocalPort
Definition: tcpmib.h:61
DWORD dwOwningPid
Definition: tcpmib.h:64
DWORD dwRemotePort
Definition: tcpmib.h:63
DWORD dwState
Definition: tcpmib.h:59
TCP_CONNECTION_OFFLOAD_STATE dwOffloadState
Definition: tcpmib.h:65
DWORD dwRemoteAddr
Definition: tcpmib.h:62
DWORD dwLocalAddr
Definition: tcpmib.h:60
ULONGLONG OwningModuleInfo[TCPIP_OWNING_MODULE_SIZE]
Definition: tcpmib.h:101
LARGE_INTEGER liCreateTimestamp
Definition: tcpmib.h:100
DWORD dwState
Definition: tcpmib.h:41
DWORD dwLocalPort
Definition: tcpmib.h:45
DWORD dwLocalAddr
Definition: tcpmib.h:44
MIB_TCP_STATE State
Definition: tcpmib.h:42
DWORD dwRemotePort
Definition: tcpmib.h:47
DWORD dwRemoteAddr
Definition: tcpmib.h:46
DWORD dwInErrs
Definition: tcpmib.h:159
DWORD dwRtoMin
Definition: tcpmib.h:148
DWORD dwRtoMax
Definition: tcpmib.h:149
TCP_RTO_ALGORITHM RtoAlgorithm
Definition: tcpmib.h:147
DWORD dwActiveOpens
Definition: tcpmib.h:151
DWORD dwPassiveOpens
Definition: tcpmib.h:152
DWORD dwOutRsts
Definition: tcpmib.h:160
DWORD dwMaxConn
Definition: tcpmib.h:150
DWORD dwCurrEstab
Definition: tcpmib.h:155
DWORD64 dw64OutSegs
Definition: tcpmib.h:157
DWORD dwNumConns
Definition: tcpmib.h:161
DWORD dwRetransSegs
Definition: tcpmib.h:158
DWORD dwEstabResets
Definition: tcpmib.h:154
DWORD64 dw64InSegs
Definition: tcpmib.h:156
DWORD dwAttemptFails
Definition: tcpmib.h:153
DWORD dwRtoMax
Definition: tcpmib.h:130
DWORD dwMaxConn
Definition: tcpmib.h:131
DWORD dwPassiveOpens
Definition: tcpmib.h:133
DWORD dwActiveOpens
Definition: tcpmib.h:132
DWORD dwInErrs
Definition: tcpmib.h:140
DWORD dwRetransSegs
Definition: tcpmib.h:139
DWORD dwInSegs
Definition: tcpmib.h:137
DWORD dwRtoMin
Definition: tcpmib.h:129
DWORD dwRtoAlgorithm
Definition: tcpmib.h:126
DWORD dwOutSegs
Definition: tcpmib.h:138
DWORD dwEstabResets
Definition: tcpmib.h:135
DWORD dwOutRsts
Definition: tcpmib.h:141
DWORD dwCurrEstab
Definition: tcpmib.h:136
DWORD dwNumConns
Definition: tcpmib.h:142
DWORD dwAttemptFails
Definition: tcpmib.h:134
TCP_RTO_ALGORITHM RtoAlgorithm
Definition: tcpmib.h:127
DWORD dwNumEntries
Definition: tcpmib.h:69
DWORD dwNumEntries
Definition: tcpmib.h:51
Definition: inet.h:67
uint64_t DWORD64
Definition: typedefs.h:67
uint64_t ULONGLONG
Definition: typedefs.h:67
struct _MIB_TCP6ROW_OWNER_MODULE MIB_TCP6ROW_OWNER_MODULE
TCP_RTO_ALGORITHM
Definition: tcpmib.h:195
struct _MIB_TCP6ROW2 MIB_TCP6ROW2
struct _MIB_TCP6TABLE_OWNER_PID * PMIB_TCP6TABLE_OWNER_PID
struct _MIB_TCP6TABLE_OWNER_MODULE * PMIB_TCP6TABLE_OWNER_MODULE
struct _MIB_TCP6ROW MIB_TCP6ROW
#define TCPIP_OWNING_MODULE_SIZE
Definition: tcpmib.h:21
MIB_TCP_STATE
Definition: tcpmib.h:27
struct _MIB_TCP6ROW * PMIB_TCP6ROW
struct _MIB_TCP6ROW_OWNER_PID * PMIB_TCP6ROW_OWNER_PID
struct _MIB_TCP6ROW2 * PMIB_TCP6ROW2
struct _MIB_TCP6TABLE_OWNER_PID MIB_TCP6TABLE_OWNER_PID
struct _MIB_TCP6TABLE MIB_TCP6TABLE
struct _MIB_TCP6TABLE_OWNER_MODULE MIB_TCP6TABLE_OWNER_MODULE
struct _MIB_TCP6ROW_OWNER_MODULE * PMIB_TCP6ROW_OWNER_MODULE
struct _MIB_TCP6TABLE * PMIB_TCP6TABLE
struct _MIB_TCP6TABLE2 MIB_TCP6TABLE2
TCP_CONNECTION_OFFLOAD_STATE
Definition: tcpmib.h:43
struct _MIB_TCP6ROW_OWNER_PID MIB_TCP6ROW_OWNER_PID
struct _MIB_TCP6TABLE2 * PMIB_TCP6TABLE2
unsigned char UCHAR
Definition: xmlstorage.h:181