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 __QOSSP_H_
7#define __QOSSP_H_
8
9#define RSVP_OBJECT_ID_BASE 1000
10#define RSVP_OBJECT_STATUS_INFO (0x00000000 + RSVP_OBJECT_ID_BASE)
11#define RSVP_OBJECT_RESERVE_INFO (0x00000001 + RSVP_OBJECT_ID_BASE)
12#define RSVP_OBJECT_ADSPEC (0x00000002 + RSVP_OBJECT_ID_BASE)
13#define RSVP_OBJECT_POLICY_INFO (0x00000003 + RSVP_OBJECT_ID_BASE)
14#define RSVP_OBJECT_FILTERSPEC_LIST (0x00000004 + RSVP_OBJECT_ID_BASE)
15
16typedef union _IN_ADDR_IPV4 {
17  ULONG Addr;
18  UCHAR AddrBytes[4];
19} IN_ADDR_IPV4,*LPIN_ADDR_IPV4;
20
21typedef struct _IN_ADDR_IPV6 {
22  UCHAR Addr[16];
23} IN_ADDR_IPV6,*LPIN_ADDR_IPV6;
24
25typedef const IN_ADDR_IPV6 *LPCIN_ADDR_IPV6;
26
27typedef struct _RSVP_FILTERSPEC_V4 {
28  IN_ADDR_IPV4 Address;
29  USHORT Unused;
30  USHORT Port;
31} RSVP_FILTERSPEC_V4,*LPRSVP_FILTERSPEC_V4;
32
33typedef struct _RSVP_FILTERSPEC_V6 {
34  IN_ADDR_IPV6 Address;
35  USHORT UnUsed;
36  USHORT Port;
37} RSVP_FILTERSPEC_V6,*LPRSVP_FILTERSPEC_V6;
38
39typedef struct _RSVP_FILTERSPEC_V6_FLOW {
40  IN_ADDR_IPV6 Address;
41  UCHAR UnUsed;
42  UCHAR FlowLabel[3];
43} RSVP_FILTERSPEC_V6_FLOW,*LPRSVP_FILTERSPEC_V6_FLOW;
44
45typedef struct _RSVP_FILTERSPEC_V4_GPI {
46  IN_ADDR_IPV4 Address;
47  ULONG GeneralPortId;
48} RSVP_FILTERSPEC_V4_GPI,*LPRSVP_FILTERSPEC_V4_GPI;
49
50typedef struct _RSVP_FILTERSPEC_V6_GPI {
51  IN_ADDR_IPV6 Address;
52  ULONG GeneralPortId;
53} RSVP_FILTERSPEC_V6_GPI,*LPRSVP_FILTERSPEC_V6_GPI;
54
55typedef enum {
56  FILTERSPECV4 = 1,FILTERSPECV6,FILTERSPECV6_FLOW,FILTERSPECV4_GPI,FILTERSPECV6_GPI,FILTERSPEC_END
57} FilterType;
58
59typedef struct _RSVP_FILTERSPEC {
60  FilterType Type;
61  __C89_NAMELESS union {
62    RSVP_FILTERSPEC_V4 FilterSpecV4;
63    RSVP_FILTERSPEC_V6 FilterSpecV6;
64    RSVP_FILTERSPEC_V6_FLOW FilterSpecV6Flow;
65    RSVP_FILTERSPEC_V4_GPI FilterSpecV4Gpi;
66    RSVP_FILTERSPEC_V6_GPI FilterSpecV6Gpi;
67  };
68} RSVP_FILTERSPEC,*LPRSVP_FILTERSPEC;
69
70typedef struct _FLOWDESCRIPTOR {
71  FLOWSPEC FlowSpec;
72  ULONG NumFilters;
73  LPRSVP_FILTERSPEC FilterList;
74} FLOWDESCRIPTOR,*LPFLOWDESCRIPTOR;
75
76typedef struct _RSVP_POLICY {
77  USHORT Len;
78  USHORT Type;
79  UCHAR Info[4];
80} RSVP_POLICY,*LPRSVP_POLICY;
81
82typedef const RSVP_POLICY *LPCRSVP_POLICY;
83#define RSVP_POLICY_HDR_LEN (sizeof(USHORT) + sizeof(USHORT))
84
85typedef struct _RSVP_POLICY_INFO {
86  QOS_OBJECT_HDR ObjectHdr;
87  ULONG NumPolicyElement;
88  RSVP_POLICY PolicyElement[1];
89} RSVP_POLICY_INFO,*LPRSVP_POLICY_INFO;
90
91typedef struct _RSVP_RESERVE_INFO {
92  QOS_OBJECT_HDR ObjectHdr;
93  ULONG Style;
94  ULONG ConfirmRequest;
95  LPRSVP_POLICY_INFO PolicyElementList;
96  ULONG NumFlowDesc;
97  LPFLOWDESCRIPTOR FlowDescList;
98} RSVP_RESERVE_INFO,*LPRSVP_RESERVE_INFO;
99
100typedef const RSVP_RESERVE_INFO *LPCRSVP_RESERVE_INFO;
101
102#define RSVP_DEFAULT_STYLE 0x00000000
103#define RSVP_WILDCARD_STYLE 0x00000001
104#define RSVP_FIXED_FILTER_STYLE 0x00000002
105#define RSVP_SHARED_EXPLICIT_STYLE 0x00000003
106
107typedef struct _RSVP_STATUS_INFO {
108  QOS_OBJECT_HDR ObjectHdr;
109  ULONG StatusCode;
110  ULONG ExtendedStatus1;
111  ULONG ExtendedStatus2;
112} RSVP_STATUS_INFO,*LPRSVP_STATUS_INFO;
113
114typedef const RSVP_STATUS_INFO *LPCRSVP_STATUS_INFO;
115
116typedef struct _QOS_DESTADDR {
117  QOS_OBJECT_HDR ObjectHdr;
118  const struct sockaddr *SocketAddress;
119  ULONG SocketAddressLength;
120} QOS_DESTADDR,*LPQOS_DESTADDR;
121
122typedef const QOS_DESTADDR *LPCQOS_DESTADDR;
123
124typedef struct _AD_GENERAL_PARAMS {
125  ULONG IntServAwareHopCount;
126  ULONG PathBandwidthEstimate;
127  ULONG MinimumLatency;
128  ULONG PathMTU;
129  ULONG Flags;
130} AD_GENERAL_PARAMS,*LPAD_GENERAL_PARAMS;
131
132#define INDETERMINATE_LATENCY 0xFFFFFFFF;
133
134#define AD_FLAG_BREAK_BIT 0x00000001
135
136typedef struct _AD_GUARANTEED {
137  ULONG CTotal;
138  ULONG DTotal;
139  ULONG CSum;
140  ULONG DSum;
141} AD_GUARANTEED,*LPAD_GUARANTEED;
142
143typedef struct _PARAM_BUFFER {
144  ULONG ParameterId;
145  ULONG Length;
146  UCHAR Buffer[1];
147
148} PARAM_BUFFER,*LPPARAM_BUFFER;
149
150typedef struct _CONTROL_SERVICE {
151  ULONG Length;
152  SERVICETYPE Service;
153  AD_GENERAL_PARAMS Overrides;
154  __C89_NAMELESS union {
155    AD_GUARANTEED Guaranteed;
156    PARAM_BUFFER ParamBuffer[1];
157  };
158} CONTROL_SERVICE,*LPCONTROL_SERVICE;
159
160typedef struct _RSVP_ADSPEC {
161  QOS_OBJECT_HDR ObjectHdr;
162  AD_GENERAL_PARAMS GeneralParams;
163  ULONG NumberOfServices;
164  CONTROL_SERVICE Services[1];
165} RSVP_ADSPEC,*LPRSVP_ADSPEC;
166
167#define mIOC_IN 0x80000000
168#define mIOC_OUT 0x40000000
169#define mIOC_VENDOR 0x04000000
170#define mCOMPANY 0x18000000
171#define ioctl_code 0x00000001
172
173#define SIO_CHK_QOS mIOC_IN | mIOC_OUT | mIOC_VENDOR | mCOMPANY | ioctl_code
174
175#define QOSSPBASE 50000
176
177#define ALLOWED_TO_SEND_DATA (QOSSPBASE+1)
178#define ABLE_TO_RECV_RSVP (QOSSPBASE+2)
179#define LINE_RATE (QOSSPBASE+3)
180#define LOCAL_TRAFFIC_CONTROL (QOSSPBASE+4)
181#define LOCAL_QOSABILITY (QOSSPBASE+5)
182#define END_TO_END_QOSABILITY (QOSSPBASE+6)
183#define INFO_NOT_AVAILABLE 0xFFFFFFFF
184#define ANY_DEST_ADDR 0xFFFFFFFF
185#define MODERATELY_DELAY_SENSITIVE 0xFFFFFFFD
186#define HIGHLY_DELAY_SENSITIVE 0xFFFFFFFE
187#define QOSSP_ERR_BASE (QOSSPBASE+6000)
188
189#define GQOS_NO_ERRORCODE (0)
190#define GQOS_NO_ERRORVALUE (0)
191#define GQOS_ERRORCODE_UNKNOWN (0xFFFFFFFF)
192#define GQOS_ERRORVALUE_UNKNOWN (0xFFFFFFFF)
193#define GQOS_NET_ADMISSION (QOSSP_ERR_BASE+100)
194#define GQOS_OTHER (QOSSP_ERR_BASE+100+1)
195#define GQOS_DELAYBND (QOSSP_ERR_BASE+100+2)
196#define GQOS_BANDWIDTH (QOSSP_ERR_BASE+100+3)
197#define GQOS_MTU (QOSSP_ERR_BASE+100+4)
198#define GQOS_FLOW_RATE (QOSSP_ERR_BASE+100+5)
199#define GQOS_PEAK_RATE (QOSSP_ERR_BASE+100+6)
200#define GQOS_AGG_PEAK_RATE (QOSSP_ERR_BASE+100+7)
201#define GQOS_NET_POLICY (QOSSP_ERR_BASE+200)
202#define GQOS_POLICY_ERROR_UNKNOWN (QOSSP_ERR_BASE+200+0)
203#define GQOS_POLICY_GLOBAL_DEF_FLOW_COUNT (QOSSP_ERR_BASE+200+1)
204#define GQOS_POLICY_GLOBAL_GRP_FLOW_COUNT (QOSSP_ERR_BASE+200+2)
205#define GQOS_POLICY_GLOBAL_USER_FLOW_COUNT (QOSSP_ERR_BASE+200+3)
206#define GQOS_POLICY_GLOBAL_UNK_USER_FLOW_COUNT (QOSSP_ERR_BASE+200+4)
207#define GQOS_POLICY_SUBNET_DEF_FLOW_COUNT (QOSSP_ERR_BASE+200+5)
208#define GQOS_POLICY_SUBNET_GRP_FLOW_COUNT (QOSSP_ERR_BASE+200+6)
209#define GQOS_POLICY_SUBNET_USER_FLOW_COUNT (QOSSP_ERR_BASE+200+7)
210#define GQOS_POLICY_SUBNET_UNK_USER_FLOW_COUNT (QOSSP_ERR_BASE+200+8)
211#define GQOS_POLICY_GLOBAL_DEF_FLOW_DURATION (QOSSP_ERR_BASE+200+9)
212#define GQOS_POLICY_GLOBAL_GRP_FLOW_DURATION (QOSSP_ERR_BASE+200+10)
213#define GQOS_POLICY_GLOBAL_USER_FLOW_DURATION (QOSSP_ERR_BASE+200+11)
214#define GQOS_POLICY_GLOBAL_UNK_USER_FLOW_DURATION (QOSSP_ERR_BASE+200+12)
215#define GQOS_POLICY_SUBNET_DEF_FLOW_DURATION (QOSSP_ERR_BASE+200+13)
216#define GQOS_POLICY_SUBNET_GRP_FLOW_DURATION (QOSSP_ERR_BASE+200+14)
217#define GQOS_POLICY_SUBNET_USER_FLOW_DURATION (QOSSP_ERR_BASE+200+15)
218#define GQOS_POLICY_SUBNET_UNK_USER_FLOW_DURATION (QOSSP_ERR_BASE+200+16)
219#define GQOS_POLICY_GLOBAL_DEF_FLOW_RATE (QOSSP_ERR_BASE+200+17)
220#define GQOS_POLICY_GLOBAL_GRP_FLOW_RATE (QOSSP_ERR_BASE+200+18)
221#define GQOS_POLICY_GLOBAL_USER_FLOW_RATE (QOSSP_ERR_BASE+200+19)
222#define GQOS_POLICY_GLOBAL_UNK_USER_FLOW_RATE (QOSSP_ERR_BASE+200+20)
223#define GQOS_POLICY_SUBNET_DEF_FLOW_RATE (QOSSP_ERR_BASE+200+21)
224#define GQOS_POLICY_SUBNET_GRP_FLOW_RATE (QOSSP_ERR_BASE+200+22)
225#define GQOS_POLICY_SUBNET_USER_FLOW_RATE (QOSSP_ERR_BASE+200+23)
226#define GQOS_POLICY_SUBNET_UNK_USER_FLOW_RATE (QOSSP_ERR_BASE+200+24)
227#define GQOS_POLICY_GLOBAL_DEF_PEAK_RATE (QOSSP_ERR_BASE+200+25)
228#define GQOS_POLICY_GLOBAL_GRP_PEAK_RATE (QOSSP_ERR_BASE+200+26)
229#define GQOS_POLICY_GLOBAL_USER_PEAK_RATE (QOSSP_ERR_BASE+200+27)
230#define GQOS_POLICY_GLOBAL_UNK_USER_PEAK_RATE (QOSSP_ERR_BASE+200+28)
231#define GQOS_POLICY_SUBNET_DEF_PEAK_RATE (QOSSP_ERR_BASE+200+29)
232#define GQOS_POLICY_SUBNET_GRP_PEAK_RATE (QOSSP_ERR_BASE+200+30)
233#define GQOS_POLICY_SUBNET_USER_PEAK_RATE (QOSSP_ERR_BASE+200+31)
234#define GQOS_POLICY_SUBNET_UNK_USER_PEAK_RATE (QOSSP_ERR_BASE+200+32)
235#define GQOS_POLICY_GLOBAL_DEF_SUM_FLOW_RATE (QOSSP_ERR_BASE+200+33)
236#define GQOS_POLICY_GLOBAL_GRP_SUM_FLOW_RATE (QOSSP_ERR_BASE+200+34)
237#define GQOS_POLICY_GLOBAL_USER_SUM_FLOW_RATE (QOSSP_ERR_BASE+200+35)
238#define GQOS_POLICY_GLOBAL_UNK_USER_SUM_FLOW_RATE (QOSSP_ERR_BASE+200+36)
239#define GQOS_POLICY_SUBNET_DEF_SUM_FLOW_RATE (QOSSP_ERR_BASE+200+37)
240#define GQOS_POLICY_SUBNET_GRP_SUM_FLOW_RATE (QOSSP_ERR_BASE+200+38)
241#define GQOS_POLICY_SUBNET_USER_SUM_FLOW_RATE (QOSSP_ERR_BASE+200+39)
242#define GQOS_POLICY_SUBNET_UNK_USER_SUM_FLOW_RATE (QOSSP_ERR_BASE+200+40)
243#define GQOS_POLICY_GLOBAL_DEF_SUM_PEAK_RATE (QOSSP_ERR_BASE+200+41)
244#define GQOS_POLICY_GLOBAL_GRP_SUM_PEAK_RATE (QOSSP_ERR_BASE+200+42)
245#define GQOS_POLICY_GLOBAL_USER_SUM_PEAK_RATE (QOSSP_ERR_BASE+200+43)
246#define GQOS_POLICY_GLOBAL_UNK_USER_SUM_PEAK_RATE (QOSSP_ERR_BASE+200+44)
247#define GQOS_POLICY_SUBNET_DEF_SUM_PEAK_RATE (QOSSP_ERR_BASE+200+45)
248#define GQOS_POLICY_SUBNET_GRP_SUM_PEAK_RATE (QOSSP_ERR_BASE+200+46)
249#define GQOS_POLICY_SUBNET_USER_SUM_PEAK_RATE (QOSSP_ERR_BASE+200+47)
250#define GQOS_POLICY_SUBNET_UNK_USER_SUM_PEAK_RATE (QOSSP_ERR_BASE+200+48)
251#define GQOS_POLICY_UNKNOWN_USER (QOSSP_ERR_BASE+200+49)
252#define GQOS_POLICY_NO_PRIVILEGES (QOSSP_ERR_BASE+200+50)
253#define GQOS_POLICY_EXPIRED_USER_TOKEN (QOSSP_ERR_BASE+200+51)
254#define GQOS_POLICY_NO_RESOURCES (QOSSP_ERR_BASE+200+52)
255#define GQOS_POLICY_PRE_EMPTED (QOSSP_ERR_BASE+200+53)
256#define GQOS_POLICY_USER_CHANGED (QOSSP_ERR_BASE+200+54)
257#define GQOS_POLICY_NO_ACCEPTS (QOSSP_ERR_BASE+200+55)
258#define GQOS_POLICY_NO_MEMORY (QOSSP_ERR_BASE+200+56)
259#define GQOS_POLICY_CRAZY_FLOWSPEC (QOSSP_ERR_BASE+200+57)
260#define GQOS_POLICY_NO_MORE_INFO (QOSSP_ERR_BASE+200+58)
261#define GQOS_POLICY_UNSUPPORTED_CREDENTIAL_TYPE (QOSSP_ERR_BASE+200+59)
262#define GQOS_POLICY_INSUFFICIENT_PRIVILEGES (QOSSP_ERR_BASE+200+60)
263#define GQOS_POLICY_EXPIRED_CREDENTIAL (QOSSP_ERR_BASE+200+61)
264#define GQOS_POLICY_IDENTITY_CHANGED (QOSSP_ERR_BASE+200+62)
265#define GQOS_POLICY_NO_QOS_PROVIDED (QOSSP_ERR_BASE+200+63)
266#define GQOS_POLICY_DO_NOT_SEND (QOSSP_ERR_BASE+200+64)
267#define GQOS_POLICY_ERROR_USERID (QOSSP_ERR_BASE+200+99)
268#define GQOS_RSVP (QOSSP_ERR_BASE+300)
269#define GQOS_NO_PATH (QOSSP_ERR_BASE+300+1)
270#define GQOS_NO_SENDER (QOSSP_ERR_BASE+300+2)
271#define GQOS_BAD_STYLE (QOSSP_ERR_BASE+300+3)
272#define GQOS_UNKNOWN_STYLE (QOSSP_ERR_BASE+300+4)
273#define GQOS_BAD_DSTPORT (QOSSP_ERR_BASE+300+5)
274#define GQOS_BAD_SNDPORT (QOSSP_ERR_BASE+300+6)
275#define GQOS_AMBIG_FILTER (QOSSP_ERR_BASE+300+7)
276#define GQOS_PREEMPTED (QOSSP_ERR_BASE+300+8)
277#define GQOS_UNKN_OBJ_CLASS (QOSSP_ERR_BASE+300+9)
278#define GQOS_UNKNOWN_CTYPE (QOSSP_ERR_BASE+300+10)
279#define GQOS_INVALID (QOSSP_ERR_BASE+300+11)
280#define GQOS_API (QOSSP_ERR_BASE+400)
281#define GQOS_API_BADSEND (QOSSP_ERR_BASE+400+1)
282#define GQOS_API_BADRECV (QOSSP_ERR_BASE+400+2)
283#define GQOS_API_BADSPORT (QOSSP_ERR_BASE+400+3)
284#define GQOS_KERNEL_TC_SYS (QOSSP_ERR_BASE+500)
285#define GQOS_TC_GENERIC (QOSSP_ERR_BASE+500+1)
286#define GQOS_TC_INVALID (QOSSP_ERR_BASE+500+2)
287#define GQOS_NO_MEMORY (QOSSP_ERR_BASE+500+3)
288#define GQOS_BAD_ADDRESSTYPE (QOSSP_ERR_BASE+500+4)
289#define GQOS_BAD_DUPLICATE (QOSSP_ERR_BASE+500+5)
290#define GQOS_CONFLICT (QOSSP_ERR_BASE+500+6)
291#define GQOS_NOTREADY (QOSSP_ERR_BASE+500+7)
292#define GQOS_WOULDBLOCK (QOSSP_ERR_BASE+500+8)
293#define GQOS_INCOMPATIBLE (QOSSP_ERR_BASE+500+9)
294#define GQOS_BAD_SDMODE (QOSSP_ERR_BASE+500+10)
295#define GQOS_BAD_QOSPRIORITY (QOSSP_ERR_BASE+500+11)
296#define GQOS_BAD_TRAFFICCLASS (QOSSP_ERR_BASE+500+12)
297#define GQOS_NO_SYS_RESOURCES (QOSSP_ERR_BASE+500+13)
298#define GQOS_RSVP_SYS (QOSSP_ERR_BASE+600)
299#define GQOS_OTHER_SYS (QOSSP_ERR_BASE+600+1)
300#define GQOS_MEMORY_SYS (QOSSP_ERR_BASE+600+2)
301#define GQOS_API_SYS (QOSSP_ERR_BASE+600+3)
302#define GQOS_SETQOS_NO_LOCAL_APPS (QOSSP_ERR_BASE+600+4)
303#define GQOS_KERNEL_TC (QOSSP_ERR_BASE+700)
304#define GQOS_CONFLICT_SERV (QOSSP_ERR_BASE+700+1)
305#define GQOS_NO_SERV (QOSSP_ERR_BASE+700+2)
306#define GQOS_BAD_FLOWSPEC (QOSSP_ERR_BASE+700+3)
307#define GQOS_BAD_TSPEC (QOSSP_ERR_BASE+700+4)
308#define GQOS_BAD_ADSPEC (QOSSP_ERR_BASE+700+5)
309#define GQOS_IOCTL_SYSTEMFAILURE (QOSSP_ERR_BASE+800+1)
310#define GQOS_IOCTL_NOBYTESRETURNED (QOSSP_ERR_BASE+800+2)
311#define GQOS_IOCTL_INVALIDSOCKET (QOSSP_ERR_BASE+800+3)
312#define GQOS_IOCTL_INV_FUNCPTR (QOSSP_ERR_BASE+800+4)
313#define GQOS_IOCTL_INV_OVERLAPPED (QOSSP_ERR_BASE+800+5)
314#define GQOS_SETQOS_BADINBUFFER (QOSSP_ERR_BASE+810+1)
315#define GQOS_SETQOS_BADFLOWSPEC (QOSSP_ERR_BASE+810+2)
316#define GQOS_SETQOS_COLLISION (QOSSP_ERR_BASE+810+3)
317#define GQOS_SETQOS_BADPROVSPECBUF (QOSSP_ERR_BASE+810+4)
318#define GQOS_SETQOS_ILLEGALOP (QOSSP_ERR_BASE+810+5)
319#define GQOS_SETQOS_INVALIDADDRESS (QOSSP_ERR_BASE+810+6)
320#define GQOS_SETQOS_OUTOFMEMORY (QOSSP_ERR_BASE+810+7)
321#define GQOS_SETQOS_EXCEPTION (QOSSP_ERR_BASE+810+8)
322#define GQOS_SETQOS_BADADDRLEN (QOSSP_ERR_BASE+810+9)
323#define GQOS_SETQOS_NOSOCKNAME (QOSSP_ERR_BASE+810+10)
324#define GQOS_SETQOS_IPTOSFAIL (QOSSP_ERR_BASE+810+11)
325#define GQOS_SETQOS_OPENSESSIONFAIL (QOSSP_ERR_BASE+810+12)
326#define GQOS_SETQOS_SENDFAIL (QOSSP_ERR_BASE+810+13)
327#define GQOS_SETQOS_RECVFAIL (QOSSP_ERR_BASE+810+14)
328#define GQOS_SETQOS_BADPOLICYOBJECT (QOSSP_ERR_BASE+810+15)
329#define GQOS_SETQOS_UNKNOWNFILTEROBJ (QOSSP_ERR_BASE+810+16)
330#define GQOS_SETQOS_BADFILTERTYPE (QOSSP_ERR_BASE+810+17)
331#define GQOS_SETQOS_BADFILTERCOUNT (QOSSP_ERR_BASE+810+18)
332#define GQOS_SETQOS_BADOBJLENGTH (QOSSP_ERR_BASE+810+19)
333#define GQOS_SETQOS_BADFLOWCOUNT (QOSSP_ERR_BASE+810+20)
334#define GQOS_SETQOS_UNKNOWNPSOBJ (QOSSP_ERR_BASE+810+21)
335#define GQOS_SETQOS_BADPOLICYOBJ (QOSSP_ERR_BASE+810+22)
336#define GQOS_SETQOS_BADFLOWDESC (QOSSP_ERR_BASE+810+23)
337#define GQOS_SETQOS_BADPROVSPECOBJ (QOSSP_ERR_BASE+810+24)
338#define GQOS_SETQOS_NOLOOPBACK (QOSSP_ERR_BASE+810+25)
339#define GQOS_SETQOS_MODENOTSUPPORTED (QOSSP_ERR_BASE+810+26)
340#define GQOS_SETQOS_MISSINGFLOWDESC (QOSSP_ERR_BASE+810+27)
341#define GQOS_GETQOS_BADOUTBUFFER (QOSSP_ERR_BASE+840+1)
342#define GQOS_GETQOS_SYSTEMFAILURE (QOSSP_ERR_BASE+840+2)
343#define GQOS_GETQOS_EXCEPTION (QOSSP_ERR_BASE+840+3)
344#define GQOS_GETQOS_INTERNALFAILURE (QOSSP_ERR_BASE+840+4)
345#define GQOS_CHKQOS_BADINBUFFER (QOSSP_ERR_BASE+850+1)
346#define GQOS_CHKQOS_BADOUTBUFFER (QOSSP_ERR_BASE+850+2)
347#define GQOS_CHKQOS_SYSTEMFAILURE (QOSSP_ERR_BASE+850+3)
348#define GQOS_CHKQOS_INTERNALFAILURE (QOSSP_ERR_BASE+850+4)
349#define GQOS_CHKQOS_BADPARAMETER (QOSSP_ERR_BASE+850+5)
350#define GQOS_CHKQOS_EXCEPTION (QOSSP_ERR_BASE+850+6)
351#endif
352