From 101cc8747f767344d38566bd229f1761ad96f744 Mon Sep 17 00:00:00 2001 From: seyko Date: Thu, 14 May 2015 01:27:46 +0300 Subject: win32/include/winapi changes from https://github.com/run4flat/tinycc.git just for testing. Is it needed? I'm not a MSYS citizen. run4flat is a tcc fork by David Mertens that knows how to work with multiple symbol tables. Excelent work. A good descriptions of the tcc internals inside a code comments. --- win32/include/winapi/qos.h | 72 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 win32/include/winapi/qos.h (limited to 'win32/include/winapi/qos.h') diff --git a/win32/include/winapi/qos.h b/win32/include/winapi/qos.h new file mode 100644 index 0000000..85dd161 --- /dev/null +++ b/win32/include/winapi/qos.h @@ -0,0 +1,72 @@ +/** + * 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.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 -- cgit v1.3.1