blob: 66a2748319fec8e4083f6f2c1033df0a2dedbafb (
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
|
/*++
Copyright (c) Microsoft Corporation. All rights reserved.
THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
PURPOSE.
Module Name:
Qos.h
Abstract:
This module declares the NDIS QoS related data types, flags, macros, and functions.
Revision History:
--*/
#pragma once
#if (NDIS_SUPPORT_NDIS630)
//
// The MP_ADAPTER_QOS_DATA structure is used to track the global QoS configuration for an adapter
//
typedef struct _MP_ADAPTER_QOS_DATA
{
//
// Tracks global NDIS QoS state
//
#define fMP_QOS_ENABLED 0x00000001
ULONG Flags;
//
// Current QoS capabilities
//
ULONG CurrentMaxNumTCs;
ULONG CurrentMaxNumEtsCapableTCs;
ULONG CurrentMaxNumPfcEnabledTCs;
} MP_ADAPTER_QOS_DATA, *PMP_ADAPTER_QOS_DATA;
#define QOS_ENABLED(_Adapter) \
((_Adapter)->QOSData.Flags & fMP_QOS_ENABLED)
_IRQL_requires_(PASSIVE_LEVEL)
NDIS_STATUS
ReadQOSConfig(
_In_ NDIS_HANDLE ConfigurationHandle,
_Inout_ struct _MP_ADAPTER *Adapter);
_IRQL_requires_(PASSIVE_LEVEL)
NDIS_STATUS
SetQOSParameters(
_Inout_ struct _MP_ADAPTER *Adapter,
_In_ PNDIS_QOS_PARAMETERS Params);
_IRQL_requires_(PASSIVE_LEVEL)
NDIS_STATUS
InitializeQOSConfig(
_Inout_ struct _MP_ADAPTER *Adapter);
#else // NDIS_SUPPORT_NDIS630
#define ReadQOSConfig(ConfigurationHandle, Adapter) NDIS_STATUS_SUCCESS
#define InitializeQOSConfig(Adapter) NDIS_STATUS_SUCCESS
#endif // NDIS_SUPPORT_NDIS630
|