108 lines
3.1 KiB
C
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_ */
|