Module: wine Branch: master Commit: 9e84dfcfa2d8cd79466a7f543e51749b88074e38 URL: https://source.winehq.org/git/wine.git/?a=commit;h=9e84dfcfa2d8cd79466a7f543...
Author: Gijs Vermeulen gijsvrm@gmail.com Date: Wed Nov 21 11:49:43 2018 +0100
include: Add qos2.h.
Signed-off-by: Gijs Vermeulen gijsvrm@gmail.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
include/Makefile.in | 1 + include/qos2.h | 100 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 101 insertions(+)
diff --git a/include/Makefile.in b/include/Makefile.in index cc78b1c..2953748 100644 --- a/include/Makefile.in +++ b/include/Makefile.in @@ -527,6 +527,7 @@ SOURCES = \ pshpack8.h \ pstore.idl \ qedit.idl \ + qos2.h \ ras.h \ rasdlg.h \ raserror.h \ diff --git a/include/qos2.h b/include/qos2.h new file mode 100644 index 0000000..ac486f7 --- /dev/null +++ b/include/qos2.h @@ -0,0 +1,100 @@ +/* + * Copyright 2018 Gijs Vermeulen + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA + */ + +#ifndef __WINE_QOS2_H__ +#define __WINE_QOS2_H__ + +#ifdef __cplusplus +extern "C" { +#endif + +typedef UINT32 QOS_FLOWID; + +typedef enum _QOS_SHAPING { + QOSShapeOnly, + QOSShapeAndMark, + QOSUseNonConformantMarkings +} QOS_SHAPING, *PQOS_SHAPING; + +typedef enum _QOS_FLOWRATE_REASON { + QOSFlowRateNotApplicable, + QOSFlowRateContentChange, + QOSFlowRateCongestion, + QOSFlowRateHigherContentEncoding, + QOSFlowRateUserCaused +} QOS_FLOWRATE_REASON, PQOS_FLOWRATE_REASON; + +typedef enum _QOS_NOTIFY_FLOW { + QOSNotifyCongested, + QOSNotifyUncongested, + QOSNotifyAvailable +} QOS_NOTIFY_FLOW, *PQOS_NOTIFY_FLOW; + +typedef enum _QOS_QUERY_FLOW { + QOSQueryFlowFundamentals, + QOSQueryPacketPriority, + QOSQueryOutgoingRate +} QOS_QUERY_FLOW; + +typedef enum _QOS_SET_FLOW { + QOSSetTrafficType, + QOSSetOutgoingRate, + QOSSetOutgoingDSCPValue +} QOS_SET_FLOW, *PQOS_SET_FLOW; + +typedef enum _QOS_TRAFFIC_TYPE { + QOSTrafficTypeBestEffort, + QOSTrafficTypeBackground, + QOSTrafficTypeExcellentEffort, + QOSTrafficTypeAudioVideo, + QOSTrafficTypeVoice, + QOSTrafficTypeControl +} QOS_TRAFFIC_TYPE, *PQOS_TRAFFIC_TYPE; + +typedef struct _QOS_FLOW_FUNDAMENTALS { + BOOL BottleneckBandwidthSet; + UINT64 BottleneckBandwidth; + BOOL AvailableBandwidthSet; + UINT64 AvailableBandwidth; + BOOL RTTSet; + UINT32 RTT; +} QOS_FLOW_FUNDAMENTALS, *PQOS_FLOW_FUNDAMENTALS; + +typedef struct _QOS_FLOWRATE_OUTGOING { + UINT64 Bandwidth; + QOS_SHAPING ShapingBehavior; + QOS_FLOWRATE_REASON Reason; +} QOS_FLOWRATE_OUTGOING, *PQOS_FLOWRATE_OUTGOING; + +typedef struct _QOS_PACKET_PRIORITY { + ULONG ConformantDSCPValue; + ULONG NonConformantDSCPValue; + ULONG ConformantL2Value; + ULONG NonConformantL2Value; +} QOS_PACKET_PRIORITY, *PQOS_PACKET_PRIORITY; + +typedef struct _QOS_VERSION { + USHORT MajorVersion; + USHORT MinorVersion; +} QOS_VERSION, *PQOS_VERSION; + +#ifdef __cplusplus +} +#endif + +#endif /* __WINE_QOS2_H__ */