| /** | |
| * This file has no copyright assigned and is placed in the Public Domain. | |
| * This file is part of the mingw-w64 runtime package. | |
| * No warranty is given; refer to the file DISCLAIMER.PD within this package. | |
| */ | |
| #ifndef __QOS_H_ | |
| #define __QOS_H_ | |
| typedef ULONG SERVICETYPE; | |
| #define SERVICETYPE_NOTRAFFIC 0x00000000 | |
| #define SERVICETYPE_BESTEFFORT 0x00000001 | |
| #define SERVICETYPE_CONTROLLEDLOAD 0x00000002 | |
| #define SERVICETYPE_GUARANTEED 0x00000003 | |
| #define SERVICETYPE_NETWORK_UNAVAILABLE 0x00000004 | |
| #define SERVICETYPE_GENERAL_INFORMATION 0x00000005 | |
| #define SERVICETYPE_NOCHANGE 0x00000006 | |
| #define SERVICETYPE_NONCONFORMING 0x00000009 | |
| #define SERVICETYPE_NETWORK_CONTROL 0x0000000A | |
| #define SERVICETYPE_QUALITATIVE 0x0000000D | |
| #define SERVICE_BESTEFFORT 0x80010000 | |
| #define SERVICE_CONTROLLEDLOAD 0x80020000 | |
| #define SERVICE_GUARANTEED 0x80040000 | |
| #define SERVICE_QUALITATIVE 0x80200000 | |
| #define SERVICE_NO_TRAFFIC_CONTROL 0x81000000 | |
| #define SERVICE_NO_QOS_SIGNALING 0x40000000 | |
| typedef struct _flowspec { | |
| ULONG TokenRate; | |
| ULONG TokenBucketSize; | |
| ULONG PeakBandwidth; | |
| ULONG Latency; | |
| ULONG DelayVariation; | |
| SERVICETYPE ServiceType; | |
| ULONG MaxSduSize; | |
| ULONG MinimumPolicedSize; | |
| } FLOWSPEC,*PFLOWSPEC,*LPFLOWSPEC; | |
| #define QOS_NOT_SPECIFIED 0xFFFFFFFF | |
| #define POSITIVE_INFINITY_RATE 0xFFFFFFFE | |
| typedef struct _QOS_OBJECT_HDR { | |
| ULONG ObjectType; | |
| ULONG ObjectLength; | |
| } QOS_OBJECT_HDR, *LPQOS_OBJECT_HDR; | |
| #define QOS_GENERAL_ID_BASE 2000 | |
| #define QOS_OBJECT_END_OF_LIST (0x00000001 + QOS_GENERAL_ID_BASE) | |
| #define QOS_OBJECT_SD_MODE (0x00000002 + QOS_GENERAL_ID_BASE) | |
| #define QOS_OBJECT_SHAPING_RATE (0x00000003 + QOS_GENERAL_ID_BASE) | |
| #define QOS_OBJECT_DESTADDR (0x00000004 + QOS_GENERAL_ID_BASE) | |
| typedef struct _QOS_SD_MODE { | |
| QOS_OBJECT_HDR ObjectHdr; | |
| ULONG ShapeDiscardMode; | |
| } QOS_SD_MODE, *LPQOS_SD_MODE; | |
| #define TC_NONCONF_BORROW 0 | |
| #define TC_NONCONF_SHAPE 1 | |
| #define TC_NONCONF_DISCARD 2 | |
| #define TC_NONCONF_BORROW_PLUS 3 | |
| typedef struct _QOS_SHAPING_RATE { | |
| QOS_OBJECT_HDR ObjectHdr; | |
| ULONG ShapingRate; | |
| } QOS_SHAPING_RATE, *LPQOS_SHAPING_RATE; | |
| #endif |