This repository has been archived on 2024-12-16. You can view files and clone it, but cannot push or open issues or pull requests.
CodeBlocksPortable/WATCOM/h/nt/qos.h

108 lines
3.1 KiB
C

/*
* qos.h Quality of Service definitions
*
* =========================================================================
*
* Open Watcom Project
*
* Copyright (c) 2004-2010 The Open Watcom Contributors. All Rights Reserved.
*
* This file is automatically generated. Do not edit directly.
*
* =========================================================================
*/
#ifndef __QOS_H_
#define __QOS_H_
#ifndef _ENABLE_AUTODEPEND
#pragma read_only_file;
#endif
#ifdef __cplusplus
extern "C" {
#endif
/* Service type data types */
typedef ULONG SERVICETYPE;
/* Service types */
#define SERVICETYPE_NOTRAFFIC 0x00000000L
#define SERVICETYPE_BESTEFFORT 0x00000001L
#define SERVICETYPE_CONTROLLEDLOAD 0x00000002L
#define SERVICETYPE_GUARANTEED 0x00000003L
#define SERVICETYPE_NETWORK_UNAVAILABLE 0x00000004L
#define SERVICETYPE_GENERAL_INFORMATION 0x00000005L
#define SERVICETYPE_NOCHANGE 0x00000006L
#define SERVICETYPE_NONCONFORMING 0x00000009L
#define SERVICETYPE_NETWORK_CONTROL 0x0000000AL
#define SERVICETYPE_QUALITATIVE 0x0000000DL
/* Service type flags */
#define SERVICE_BESTEFFORT 0x80010000L
#define SERVICE_CONTROLLEDLOAD 0x80020000L
#define SERVICE_GUARANTEED 0x80040000L
#define SERVICE_QUALITATIVE 0x80200000L
#define SERVICE_NO_TRAFFIC_CONTROL 0x81000000L
#define SERVICE_NO_QOS_SIGNALING 0x40000000L
/* Flow specification special value */
#define QOS_NOT_SPECIFIED 0xFFFFFFFFL
/* Peak bandwidth special value */
#define POSITIVE_INFINITY_RATE 0xFFFFFFFEL
/* Quality of Service object identifiers */
#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_DESTRATE (0x00000004 + QOS_GENERAL_ID_BASE)
/* Shape discarding mode values */
#define TC_NONCONF_BORROW 0L
#define TC_NONCONF_SHAPE 1L
#define TC_NONCONF_DISCARD 2L
#define TC_NONCONF_BORROW_PLUS 3L
/* Flow specification */
typedef struct _flowspec {
ULONG TokenRate;
ULONG TokenBucketSize;
ULONG PeakBandwidth;
ULONG Latency;
ULONG DelayVariation;
SERVICETYPE ServiceType;
ULONG MaxSduSize;
ULONG MinimumPolicedSize;
} FLOWSPEC;
typedef FLOWSPEC *PFLOWSPEC;
typedef FLOWSPEC *LPFLOWSPEC;
/* Quality of Service object header */
typedef struct {
ULONG ObjectType;
ULONG ObjectLength;
} QOS_OBJECT_HDR;
typedef QOS_OBJECT_HDR *LPQOS_OBJECT_HDR;
/* Quality of Service shape discard mode */
typedef struct _QOS_SD_MODE {
QOS_OBJECT_HDR ObjectHdr;
ULONG ShapeDiscardMode;
} QOS_SD_MODE;
typedef QOS_SD_MODE *LPQOS_SD_MODE;
/* Quality of Service shaping rate */
typedef struct _QOS_SHAPING_RATE {
QOS_OBJECT_HDR ObjectHdr;
ULONG ShapingRate;
} QOS_SHAPING_RATE;
typedef QOS_SHAPING_RATE *LPQOS_SHAPING_RATE;
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* __QOS_H_ */