1/** 2 * This file has no copyright assigned and is placed in the Public Domain. 3 * This file is part of the mingw-w64 runtime package. 4 * No warranty is given; refer to the file DISCLAIMER.PD within this package. 5 */ 6#ifndef __QOS_H_ 7#define __QOS_H_ 8 9typedef ULONG SERVICETYPE; 10 11#define SERVICETYPE_NOTRAFFIC 0x00000000 12#define SERVICETYPE_BESTEFFORT 0x00000001 13#define SERVICETYPE_CONTROLLEDLOAD 0x00000002 14#define SERVICETYPE_GUARANTEED 0x00000003 15 16#define SERVICETYPE_NETWORK_UNAVAILABLE 0x00000004 17#define SERVICETYPE_GENERAL_INFORMATION 0x00000005 18#define SERVICETYPE_NOCHANGE 0x00000006 19#define SERVICETYPE_NONCONFORMING 0x00000009 20#define SERVICETYPE_NETWORK_CONTROL 0x0000000A 21#define SERVICETYPE_QUALITATIVE 0x0000000D 22 23#define SERVICE_BESTEFFORT 0x80010000 24#define SERVICE_CONTROLLEDLOAD 0x80020000 25#define SERVICE_GUARANTEED 0x80040000 26#define SERVICE_QUALITATIVE 0x80200000 27 28#define SERVICE_NO_TRAFFIC_CONTROL 0x81000000 29 30#define SERVICE_NO_QOS_SIGNALING 0x40000000 31 32 typedef struct _flowspec { 33 ULONG TokenRate; 34 ULONG TokenBucketSize; 35 ULONG PeakBandwidth; 36 ULONG Latency; 37 ULONG DelayVariation; 38 SERVICETYPE ServiceType; 39 ULONG MaxSduSize; 40 ULONG MinimumPolicedSize; 41 } FLOWSPEC,*PFLOWSPEC,*LPFLOWSPEC; 42 43#define QOS_NOT_SPECIFIED 0xFFFFFFFF 44#define POSITIVE_INFINITY_RATE 0xFFFFFFFE 45 46 typedef struct _QOS_OBJECT_HDR { 47 ULONG ObjectType; 48 ULONG ObjectLength; 49 } QOS_OBJECT_HDR, *LPQOS_OBJECT_HDR; 50 51#define QOS_GENERAL_ID_BASE 2000 52#define QOS_OBJECT_END_OF_LIST (0x00000001 + QOS_GENERAL_ID_BASE) 53#define QOS_OBJECT_SD_MODE (0x00000002 + QOS_GENERAL_ID_BASE) 54#define QOS_OBJECT_SHAPING_RATE (0x00000003 + QOS_GENERAL_ID_BASE) 55#define QOS_OBJECT_DESTADDR (0x00000004 + QOS_GENERAL_ID_BASE) 56 57 typedef struct _QOS_SD_MODE { 58 QOS_OBJECT_HDR ObjectHdr; 59 ULONG ShapeDiscardMode; 60 } QOS_SD_MODE, *LPQOS_SD_MODE; 61 62#define TC_NONCONF_BORROW 0 63#define TC_NONCONF_SHAPE 1 64#define TC_NONCONF_DISCARD 2 65#define TC_NONCONF_BORROW_PLUS 3 66 67 typedef struct _QOS_SHAPING_RATE { 68 QOS_OBJECT_HDR ObjectHdr; 69 ULONG ShapingRate; 70 } QOS_SHAPING_RATE, *LPQOS_SHAPING_RATE; 71 72#endif 73