72 lines · 2.0 KB · C
RawDownload
/** * This file has no copyright assigned and is placed in the Public Domain. * This file is part of the w64 mingw-runtime package. * No warranty is given; refer to the file DISCLAIMER 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 {  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