aboutsummaryrefslogtreecommitdiff
path: root/x86_64-w64-mingw32/include/ntddpsch.h
blob: 5f0d5eab07eec5afff694afec125c89c1c4d4e5e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
/**
 * This file has no copyright assigned and is placed in the Public Domain.
 * This file is part of the mingw-w64 runtime package.
 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
 */
#ifndef _NTDDPSCH_
#define _NTDDPSCH_

#ifdef __cplusplus
extern "C" {
#endif

#pragma pack(1)

#define PS_COMPONENT_ADAPTER 1
#define PS_COMPONENT_FLOW 2
#define PS_COMPONENT_CONFORMER 3
#define PS_COMPONENT_SHAPER 4
#define PS_COMPONENT_DRRSEQ 5

  typedef struct _PS_COMPONENT_STATS {
    ULONG Type;
    ULONG Length;
    UCHAR Stats[1];
  } PS_COMPONENT_STATS,*PPS_COMPONENT_STATS;

#pragma pack()

#pragma pack(1)
  typedef struct _PS_CONFORMER_STATS {
    ULONG NonconformingPacketsScheduled;
  } PS_CONFORMER_STATS,*PPS_CONFORMER_STATS;
#pragma pack()

#pragma pack(1)
  typedef struct _PS_SHAPER_STATS {
    ULONG MaxPacketsInShaper;
    ULONG AveragePacketsInShaper;
  } PS_SHAPER_STATS,*PPS_SHAPER_STATS;

#pragma pack()

#pragma pack(1)
  typedef struct _PS_DRRSEQ_STATS {
    ULONG MaxPacketsInNetcard;
    ULONG AveragePacketsInNetcard;
    ULONG MaxPacketsInSequencer;
    ULONG AveragePacketsInSequencer;
    ULONG NonconformingPacketsTransmitted;
  } PS_DRRSEQ_STATS,*PPS_DRRSEQ_STATS;
#pragma pack()

#pragma pack(1)
  typedef struct _PS_FLOW_STATS {

    ULONG DroppedPackets;
    ULONG PacketsScheduled;
    ULONG PacketsTransmitted;
    LARGE_INTEGER BytesScheduled;
    LARGE_INTEGER BytesTransmitted;
  } PS_FLOW_STATS,*PPS_FLOW_STATS;
#pragma pack()

#pragma pack(1)
  typedef struct _PS_ADAPTER_STATS {
    ULONG OutOfPackets;
    ULONG FlowsOpened;
    ULONG FlowsClosed;
    ULONG FlowsRejected;
    ULONG FlowsModified;
    ULONG FlowModsRejected;
    ULONG MaxSimultaneousFlows;
  } PS_ADAPTER_STATS,*PPS_ADAPTER_STATS;
#pragma pack()

#define ADAPTER_FLOW_MODE_DIFFSERV 1
#define ADAPTER_FLOW_MODE_STANDARD 2

#ifdef __cplusplus
}
#endif
#endif