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