49d1a4c562
also start prefering NtDll API. so far: * NtQueryInformationFile * NtClose adds a performance workaround for windows unicode conversion. but that should probably be removed before merging
85 lines
2.3 KiB
C
85 lines
2.3 KiB
C
/**
|
|
* 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*/
|