Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

119 lines
2.2 KiB

  1. /*++
  2. Copyright (c) 1996-1999 Microsoft Corporation
  3. Module Name:
  4. ntddpsch.h
  5. Abstract:
  6. defines that are exported to user mode
  7. Author:
  8. Revision History:
  9. --*/
  10. #ifndef _NTDDPSCH_
  11. #define _NTDDPSCH_
  12. #if _MSC_VER > 1000
  13. #pragma once
  14. #endif
  15. #ifdef __cplusplus
  16. extern "C" {
  17. #endif
  18. //
  19. // flow data returned in the Stats structure
  20. //
  21. #pragma pack(1)
  22. typedef struct _PS_COMPONENT_STATS {
  23. #define PS_COMPONENT_ADAPTER 1
  24. #define PS_COMPONENT_FLOW 2
  25. #define PS_COMPONENT_CONFORMER 3
  26. #define PS_COMPONENT_SHAPER 4
  27. #define PS_COMPONENT_DRRSEQ 5
  28. ULONG Type;
  29. ULONG Length;
  30. UCHAR Stats[1];
  31. } PS_COMPONENT_STATS, *PPS_COMPONENT_STATS;
  32. #pragma pack()
  33. #pragma pack(1)
  34. typedef struct _PS_CONFORMER_STATS {
  35. ULONG NonconformingPacketsScheduled;
  36. } PS_CONFORMER_STATS, *PPS_CONFORMER_STATS;
  37. #pragma pack()
  38. #pragma pack(1)
  39. typedef struct _PS_SHAPER_STATS {
  40. ULONG MaxPacketsInShaper;
  41. ULONG AveragePacketsInShaper;
  42. } PS_SHAPER_STATS, *PPS_SHAPER_STATS;
  43. #pragma pack()
  44. #pragma pack(1)
  45. typedef struct _PS_DRRSEQ_STATS {
  46. ULONG MaxPacketsInNetcard;
  47. ULONG AveragePacketsInNetcard;
  48. ULONG MaxPacketsInSequencer;
  49. ULONG AveragePacketsInSequencer;
  50. ULONG NonconformingPacketsTransmitted;
  51. } PS_DRRSEQ_STATS, *PPS_DRRSEQ_STATS;
  52. #pragma pack()
  53. #pragma pack(1)
  54. typedef struct _PS_FLOW_STATS {
  55. ULONG DroppedPackets;
  56. ULONG PacketsScheduled;
  57. ULONG PacketsTransmitted;
  58. LARGE_INTEGER BytesScheduled;
  59. LARGE_INTEGER BytesTransmitted;
  60. } PS_FLOW_STATS, *PPS_FLOW_STATS;
  61. #pragma pack()
  62. #pragma pack(1)
  63. typedef struct _PS_ADAPTER_STATS {
  64. //
  65. // OutOfPackets is incremented when no packets for sending/receive packet
  66. // indications are available.
  67. //
  68. ULONG OutOfPackets;
  69. //
  70. // general flow stats
  71. //
  72. ULONG FlowsOpened;
  73. ULONG FlowsClosed;
  74. ULONG FlowsRejected;
  75. ULONG FlowsModified;
  76. ULONG FlowModsRejected;
  77. ULONG MaxSimultaneousFlows;
  78. } PS_ADAPTER_STATS, *PPS_ADAPTER_STATS;
  79. #pragma pack()
  80. //
  81. // Defines that can be used for OID_QOS_FLOW_MODE
  82. //
  83. #define ADAPTER_FLOW_MODE_DIFFSERV 1
  84. #define ADAPTER_FLOW_MODE_STANDARD 2
  85. #ifdef __cplusplus
  86. }
  87. #endif
  88. #endif /* _NTDDPSCH_ */