diff options
| author | seyko <seyko2@gmail.com> | 2015-05-14 01:27:46 +0300 |
|---|---|---|
| committer | seyko <seyko2@gmail.com> | 2015-05-14 01:27:46 +0300 |
| commit | 101cc8747f767344d38566bd229f1761ad96f744 (patch) | |
| tree | ef800583f7994bb56c6c32bf4256f44727c5d48d /win32/include/winapi/qos.h | |
| parent | 80322adaa0544eedc7198ed4c529a41856f66f43 (diff) | |
| download | tinycc-101cc8747f767344d38566bd229f1761ad96f744.tar.gz tinycc-101cc8747f767344d38566bd229f1761ad96f744.tar.bz2 | |
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.
Diffstat (limited to 'win32/include/winapi/qos.h')
| -rw-r--r-- | win32/include/winapi/qos.h | 72 |
1 files changed, 72 insertions, 0 deletions
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 |
