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