|  | /** | 
|  | * 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_TCPMIB | 
|  | #define _INC_TCPMIB | 
|  |  | 
|  | #ifndef ANY_SIZE | 
|  | #define ANY_SIZE 1 | 
|  | #endif | 
|  |  | 
|  | #if (_WIN32_WINNT >= 0x0600) | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | extern "C" { | 
|  | #endif | 
|  |  | 
|  | /* As I read msdn on Vista the defines above were moved into | 
|  | typedef enum { MIB_..., } MIB_TCP_STATE; | 
|  | We simply typedef it to int.  */ | 
|  | typedef int MIB_TCP_STATE; | 
|  |  | 
|  | typedef enum _TCP_CONNECTION_OFFLOAD_STATE { | 
|  | TcpConnectionOffloadStateInHost       = 0, | 
|  | TcpConnectionOffloadStateOffloading   = 1, | 
|  | TcpConnectionOffloadStateOffloaded    = 2, | 
|  | TcpConnectionOffloadStateUploading    = 3, | 
|  | TcpConnectionOffloadStateMax          = 4 | 
|  | } TCP_CONNECTION_OFFLOAD_STATE; | 
|  |  | 
|  | typedef struct _MIB_TCP6ROW { | 
|  | MIB_TCP_STATE State; | 
|  | IN6_ADDR      LocalAddr; | 
|  | DWORD         dwLocalScopeId; | 
|  | DWORD         dwLocalPort; | 
|  | IN6_ADDR      RemoteAddr; | 
|  | DWORD         dwRemoteScopeId; | 
|  | DWORD         dwRemotePort; | 
|  | } MIB_TCP6ROW, *PMIB_TCP6ROW; | 
|  |  | 
|  | typedef struct _MIB_TCP6TABLE { | 
|  | DWORD       dwNumEntries; | 
|  | MIB_TCP6ROW table[ANY_SIZE]; | 
|  | } MIB_TCP6TABLE, *PMIB_TCP6TABLE; | 
|  |  | 
|  | typedef struct _MIB_TCP6ROW2 { | 
|  | IN6_ADDR                     LocalAddr; | 
|  | DWORD                        dwLocalScopeId; | 
|  | DWORD                        dwLocalPort; | 
|  | IN6_ADDR                     RemoteAddr; | 
|  | DWORD                        dwRemoteScopeId; | 
|  | DWORD                        dwRemotePort; | 
|  | MIB_TCP_STATE                State; | 
|  | DWORD                        dwOwningPid; | 
|  | TCP_CONNECTION_OFFLOAD_STATE dwOffloadState; | 
|  | } MIB_TCP6ROW2, *PMIB_TCP6ROW2; | 
|  |  | 
|  | typedef struct _MIB_TCP6TABLE2 { | 
|  | DWORD        dwNumEntries; | 
|  | MIB_TCP6ROW2 table[ANY_SIZE]; | 
|  | } MIB_TCP6TABLE2, *PMIB_TCP6TABLE2; | 
|  |  | 
|  | typedef struct _MIB_TCPROW2 { | 
|  | DWORD                        dwState; | 
|  | DWORD                        dwLocalAddr; | 
|  | DWORD                        dwLocalPort; | 
|  | DWORD                        dwRemoteAddr; | 
|  | DWORD                        dwRemotePort; | 
|  | DWORD                        dwOwningPid; | 
|  | TCP_CONNECTION_OFFLOAD_STATE dwOffloadState; | 
|  | } MIB_TCPROW2, *PMIB_TCPROW2; | 
|  |  | 
|  | typedef struct _MIB_TCPTABLE2 { | 
|  | DWORD       dwNumEntries; | 
|  | MIB_TCPROW2 table[ANY_SIZE]; | 
|  | } MIB_TCPTABLE2, *PMIB_TCPTABLE2; | 
|  |  | 
|  | #ifdef __cplusplus | 
|  | } | 
|  | #endif | 
|  |  | 
|  | #endif /*(_WIN32_WINNT >= 0x0600)*/ | 
|  |  | 
|  | #endif /*_INC_TCPMIB*/ |