2 * Copyright 2018 Gijs Vermeulen
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 #ifndef __WINE_QOS2_H__
20 #define __WINE_QOS2_H__
26 typedef UINT32 QOS_FLOWID
;
28 typedef enum _QOS_SHAPING
{
31 QOSUseNonConformantMarkings
32 } QOS_SHAPING
, *PQOS_SHAPING
;
34 typedef enum _QOS_FLOWRATE_REASON
{
35 QOSFlowRateNotApplicable
,
36 QOSFlowRateContentChange
,
37 QOSFlowRateCongestion
,
38 QOSFlowRateHigherContentEncoding
,
40 } QOS_FLOWRATE_REASON
, PQOS_FLOWRATE_REASON
;
42 typedef enum _QOS_NOTIFY_FLOW
{
46 } QOS_NOTIFY_FLOW
, *PQOS_NOTIFY_FLOW
;
48 typedef enum _QOS_QUERY_FLOW
{
49 QOSQueryFlowFundamentals
,
50 QOSQueryPacketPriority
,
54 typedef enum _QOS_SET_FLOW
{
57 QOSSetOutgoingDSCPValue
58 } QOS_SET_FLOW
, *PQOS_SET_FLOW
;
60 typedef enum _QOS_TRAFFIC_TYPE
{
61 QOSTrafficTypeBestEffort
,
62 QOSTrafficTypeBackground
,
63 QOSTrafficTypeExcellentEffort
,
64 QOSTrafficTypeAudioVideo
,
67 } QOS_TRAFFIC_TYPE
, *PQOS_TRAFFIC_TYPE
;
69 typedef struct _QOS_FLOW_FUNDAMENTALS
{
70 BOOL BottleneckBandwidthSet
;
71 UINT64 BottleneckBandwidth
;
72 BOOL AvailableBandwidthSet
;
73 UINT64 AvailableBandwidth
;
76 } QOS_FLOW_FUNDAMENTALS
, *PQOS_FLOW_FUNDAMENTALS
;
78 typedef struct _QOS_FLOWRATE_OUTGOING
{
80 QOS_SHAPING ShapingBehavior
;
81 QOS_FLOWRATE_REASON Reason
;
82 } QOS_FLOWRATE_OUTGOING
, *PQOS_FLOWRATE_OUTGOING
;
84 typedef struct _QOS_PACKET_PRIORITY
{
85 ULONG ConformantDSCPValue
;
86 ULONG NonConformantDSCPValue
;
87 ULONG ConformantL2Value
;
88 ULONG NonConformantL2Value
;
89 } QOS_PACKET_PRIORITY
, *PQOS_PACKET_PRIORITY
;
91 typedef struct _QOS_VERSION
{
94 } QOS_VERSION
, *PQOS_VERSION
;
100 #endif /* __WINE_QOS2_H__ */