[PATCH] include: Add qos2.h
Gijs Vermeulen
gijsvrm at gmail.com
Wed Nov 21 04:35:09 CST 2018
Signed-off-by: Gijs Vermeulen <gijsvrm at gmail.com>
---
include/qos2.h | 104 +++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 104 insertions(+)
create mode 100644 include/qos2.h
diff --git a/include/qos2.h b/include/qos2.h
new file mode 100644
index 0000000000..2ae0f2f43d
--- /dev/null
+++ b/include/qos2.h
@@ -0,0 +1,104 @@
+/*
+ * 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
+
+#define QOSSetTrafficType 0
+#define QOSSetOutgoingRate 1
+#define QOSSetOutgoingDSCPValue 2
+
+typedef UINT32 QOS_FLOWID;
+
+typedef enum _QOS_SHAPING {
+ QOSShapeOnly = 0,
+ QOSShapeAndMark = 1,
+ QOSUseNonConformantMarkings = 2
+} QOS_SHAPING, *PQOS_SHAPING;
+
+typedef enum _QOS_FLOWRATE_REASON {
+ QOSFlowRateNotApplicable = 0,
+ QOSFlowRateContentChange = 1,
+ QOSFlowRateCongestion = 2,
+ QOSFlowRateHigherContentEncoding = 3,
+ QOSFlowRateUserCaused = 4
+} QOS_FLOWRATE_REASON, PQOS_FLOWRATE_REASON;
+
+typedef enum _QOS_NOTIFY_FLOW {
+ QOSNotifyCongested = 0,
+ QOSNotifyUncongested = 1,
+ QOSNotifyAvailable = 2
+} QOS_NOTIFY_FLOW, *PQOS_NOTIFY_FLOW;
+
+typedef enum _QOS_QUERY_FLOW {
+ QOSQueryFlowFundamentals = 0,
+ QOSQueryPacketPriority = 1,
+ QOSQueryOutgoingRate = 2
+} QOS_QUERY_FLOW;
+
+typedef enum _QOS_SET_FLOW {
+ QOSSetTrafficType = 0,
+ QOSSetOutgoingRate = 1,
+ QOSSetOutgoingDSCPValue = 2
+} 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__ */
--
2.19.1
More information about the wine-devel
mailing list