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 _NTDDPSCH_
7 #define _NTDDPSCH_
8 
9 #ifdef __cplusplus
10 extern "C" {
11 #endif
12 
13 #pragma pack(1)
14 
15 #define PS_COMPONENT_ADAPTER 1
16 #define PS_COMPONENT_FLOW 2
17 #define PS_COMPONENT_CONFORMER 3
18 #define PS_COMPONENT_SHAPER 4
19 #define PS_COMPONENT_DRRSEQ 5
20 
21   typedef struct _PS_COMPONENT_STATS {
22     ULONG Type;
23     ULONG Length;
24     UCHAR Stats[1];
25   } PS_COMPONENT_STATS,*PPS_COMPONENT_STATS;
26 
27 #pragma pack()
28 
29 #pragma pack(1)
30   typedef struct _PS_CONFORMER_STATS {
31     ULONG NonconformingPacketsScheduled;
32   } PS_CONFORMER_STATS,*PPS_CONFORMER_STATS;
33 #pragma pack()
34 
35 #pragma pack(1)
36   typedef struct _PS_SHAPER_STATS {
37     ULONG MaxPacketsInShaper;
38     ULONG AveragePacketsInShaper;
39   } PS_SHAPER_STATS,*PPS_SHAPER_STATS;
40 
41 #pragma pack()
42 
43 #pragma pack(1)
44   typedef struct _PS_DRRSEQ_STATS {
45     ULONG MaxPacketsInNetcard;
46     ULONG AveragePacketsInNetcard;
47     ULONG MaxPacketsInSequencer;
48     ULONG AveragePacketsInSequencer;
49     ULONG NonconformingPacketsTransmitted;
50   } PS_DRRSEQ_STATS,*PPS_DRRSEQ_STATS;
51 #pragma pack()
52 
53 #pragma pack(1)
54   typedef struct _PS_FLOW_STATS {
55 
56     ULONG DroppedPackets;
57     ULONG PacketsScheduled;
58     ULONG PacketsTransmitted;
59     LARGE_INTEGER BytesScheduled;
60     LARGE_INTEGER BytesTransmitted;
61   } PS_FLOW_STATS,*PPS_FLOW_STATS;
62 #pragma pack()
63 
64 #pragma pack(1)
65   typedef struct _PS_ADAPTER_STATS {
66     ULONG OutOfPackets;
67     ULONG FlowsOpened;
68     ULONG FlowsClosed;
69     ULONG FlowsRejected;
70     ULONG FlowsModified;
71     ULONG FlowModsRejected;
72     ULONG MaxSimultaneousFlows;
73   } PS_ADAPTER_STATS,*PPS_ADAPTER_STATS;
74 #pragma pack()
75 
76 #define ADAPTER_FLOW_MODE_DIFFSERV 1
77 #define ADAPTER_FLOW_MODE_STANDARD 2
78 
79 #ifdef __cplusplus
80 }
81 #endif
82 #endif
83