/** * 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; 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*/