[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