tcpmib.h 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  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. #ifndef ANY_SIZE
  9. #define ANY_SIZE 1
  10. #endif
  11. #if (_WIN32_WINNT >= 0x0600)
  12. #ifdef __cplusplus
  13. extern "C" {
  14. #endif
  15. /* As I read msdn on Vista the defines above were moved into
  16. typedef enum { MIB_..., } MIB_TCP_STATE;
  17. We simply typedef it to int. */
  18. typedef int MIB_TCP_STATE;
  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. typedef struct _MIB_TCP6ROW {
  27. MIB_TCP_STATE State;
  28. IN6_ADDR LocalAddr;
  29. DWORD dwLocalScopeId;
  30. DWORD dwLocalPort;
  31. IN6_ADDR RemoteAddr;
  32. DWORD dwRemoteScopeId;
  33. DWORD dwRemotePort;
  34. } MIB_TCP6ROW, *PMIB_TCP6ROW;
  35. typedef struct _MIB_TCP6TABLE {
  36. DWORD dwNumEntries;
  37. MIB_TCP6ROW table[ANY_SIZE];
  38. } MIB_TCP6TABLE, *PMIB_TCP6TABLE;
  39. typedef struct _MIB_TCP6ROW2 {
  40. IN6_ADDR LocalAddr;
  41. DWORD dwLocalScopeId;
  42. DWORD dwLocalPort;
  43. IN6_ADDR RemoteAddr;
  44. DWORD dwRemoteScopeId;
  45. DWORD dwRemotePort;
  46. MIB_TCP_STATE State;
  47. DWORD dwOwningPid;
  48. TCP_CONNECTION_OFFLOAD_STATE dwOffloadState;
  49. } MIB_TCP6ROW2, *PMIB_TCP6ROW2;
  50. typedef struct _MIB_TCP6TABLE2 {
  51. DWORD dwNumEntries;
  52. MIB_TCP6ROW2 table[ANY_SIZE];
  53. } MIB_TCP6TABLE2, *PMIB_TCP6TABLE2;
  54. typedef struct _MIB_TCPROW2 {
  55. DWORD dwState;
  56. DWORD dwLocalAddr;
  57. DWORD dwLocalPort;
  58. DWORD dwRemoteAddr;
  59. DWORD dwRemotePort;
  60. DWORD dwOwningPid;
  61. TCP_CONNECTION_OFFLOAD_STATE dwOffloadState;
  62. } MIB_TCPROW2, *PMIB_TCPROW2;
  63. typedef struct _MIB_TCPTABLE2 {
  64. DWORD dwNumEntries;
  65. MIB_TCPROW2 table[ANY_SIZE];
  66. } MIB_TCPTABLE2, *PMIB_TCPTABLE2;
  67. #ifdef __cplusplus
  68. }
  69. #endif
  70. #endif /*(_WIN32_WINNT >= 0x0600)*/
  71. #endif /*_INC_TCPMIB*/