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_TCPMIB 7 #define _INC_TCPMIB 8 9 #ifndef ANY_SIZE 10 #define ANY_SIZE 1 11 #endif 12 13 #if (_WIN32_WINNT >= 0x0600) 14 15 #ifdef __cplusplus 16 extern "C" { 17 #endif 18 19 typedef enum _TCP_CONNECTION_OFFLOAD_STATE { 20 TcpConnectionOffloadStateInHost = 0, 21 TcpConnectionOffloadStateOffloading = 1, 22 TcpConnectionOffloadStateOffloaded = 2, 23 TcpConnectionOffloadStateUploading = 3, 24 TcpConnectionOffloadStateMax = 4 25 } TCP_CONNECTION_OFFLOAD_STATE; 26 27 typedef struct _MIB_TCP6ROW { 28 MIB_TCP_STATE State; 29 IN6_ADDR LocalAddr; 30 DWORD dwLocalScopeId; 31 DWORD dwLocalPort; 32 IN6_ADDR RemoteAddr; 33 DWORD dwRemoteScopeId; 34 DWORD dwRemotePort; 35 } MIB_TCP6ROW, *PMIB_TCP6ROW; 36 37 typedef struct _MIB_TCP6TABLE { 38 DWORD dwNumEntries; 39 MIB_TCP6ROW table[ANY_SIZE]; 40 } MIB_TCP6TABLE, *PMIB_TCP6TABLE; 41 42 typedef struct _MIB_TCP6ROW2 { 43 IN6_ADDR LocalAddr; 44 DWORD dwLocalScopeId; 45 DWORD dwLocalPort; 46 IN6_ADDR RemoteAddr; 47 DWORD dwRemoteScopeId; 48 DWORD dwRemotePort; 49 MIB_TCP_STATE State; 50 DWORD dwOwningPid; 51 TCP_CONNECTION_OFFLOAD_STATE dwOffloadState; 52 } MIB_TCP6ROW2, *PMIB_TCP6ROW2; 53 54 typedef struct _MIB_TCP6TABLE2 { 55 DWORD dwNumEntries; 56 MIB_TCP6ROW2 table[ANY_SIZE]; 57 } MIB_TCP6TABLE2, *PMIB_TCP6TABLE2; 58 59 typedef struct _MIB_TCPROW2 { 60 DWORD dwState; 61 DWORD dwLocalAddr; 62 DWORD dwLocalPort; 63 DWORD dwRemoteAddr; 64 DWORD dwRemotePort; 65 TCP_CONNECTION_OFFLOAD_STATE dwOffloadState; 66 } MIB_TCPROW2, *PMIB_TCPROW2; 67 68 typedef struct _MIB_TCPTABLE2 { 69 DWORD dwNumEntries; 70 MIB_TCPROW2 table[ANY_SIZE]; 71 } MIB_TCPTABLE2, *PMIB_TCPTABLE2; 72 73 #ifdef __cplusplus 74 } 75 #endif 76 77 #endif /*(_WIN32_WINNT >= 0x0600)*/ 78 79 #endif /*_INC_TCPMIB*/ 80