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 10extern "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