/usr/include/ptlib/qos.h is in libpt-dev 2.10.11~dfsg-2.1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 | /*
* qos.h
*
* QOS class used by PWLIB dscp or Windows GQOS implementation.
*
* Copyright (c) 2003 AliceStreet Ltd
*
* The contents of this file are subject to the Mozilla Public License
* Version 1.0 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS"
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
* the License for the specific language governing rights and limitations
* under the License.
*
* Contributor(s): ______________________________________.
*
* $Revision: 21788 $
* $Author: rjongbloed $
* $Date: 2008-12-11 23:42:13 -0600 (Thu, 11 Dec 2008) $
*/
#ifndef PTLIB_QOS_H
#define PTLIB_QOS_H
#ifdef P_USE_PRAGMA
#pragma interface
#endif
#if P_QOS
#ifdef _WIN32
#ifndef P_KNOCKOUT_WINSOCK2
#include <winsock2.h>
#include <ws2tcpip.h>
#ifndef P_KNOCKOUT_QOS
#include <qossp.h>
#endif // KNOCKOUT_QOS
#endif // KNOCKOUT_WINSOCK2
#endif // _WIN32
#endif // P_QOS
#ifndef QOS_NOT_SPECIFIED
#define QOS_NOT_SPECIFIED 0xFFFFFFFF
#endif
#ifndef SERVICETYPE
#define SERVICETYPE DWORD
#endif
#ifndef SERVICETYPE_GUARANTEED
#define SERVICETYPE_GUARANTEED 0x00000003
#endif
#ifndef SERVICETYPE_CONTROLLEDLOAD
#define SERVICETYPE_CONTROLLEDLOAD 0x00000002
#endif
#ifndef SERVICETYPE_BESTEFFORT
#define SERVICETYPE_BESTEFFORT 0x00000001
#endif
#define SERVICETYPE_PNOTDEFINED 0xFFFFFFFF
class PQoS : public PObject
{
PCLASSINFO(PQoS, PObject);
public:
PQoS();
PQoS(DWORD avgBytesPerSec,
DWORD winServiceType,
int DSCPalternative = -1,
DWORD maxFrameBytes = 1500,
DWORD peakBytesPerSec = QOS_NOT_SPECIFIED);
PQoS(int DSCPvalue);
void SetAvgBytesPerSec(DWORD avgBytesPerSec);
void SetWinServiceType(DWORD winServiceType);
void SetDSCP(int DSCPvalue);
void SetMaxFrameBytes(DWORD maxFrameBytes);
void SetPeakBytesPerSec(DWORD peakBytesPerSec);
DWORD GetTokenRate() const { return tokenRate;}
DWORD GetTokenBucketSize() const { return tokenBucketSize;}
DWORD GetPeakBandwidth() const { return peakBandwidth;}
DWORD GetServiceType() const { return serviceType;}
int GetDSCP() const { return dscp;}
static void SetDSCPAlternative(DWORD winServiceType,
UINT dscp);
static char bestEffortDSCP;
static char controlledLoadDSCP;
static char guaranteedDSCP;
protected:
int dscp;
DWORD tokenRate;
DWORD tokenBucketSize;
DWORD peakBandwidth;
DWORD serviceType;
};
#endif // PTLIB_QOS_H
// End Of File ///////////////////////////////////////////////////////////////
|