/usr/include/ptlib/qos.h is in libpt-1.10.10-dev 1.10.10-3.1ubuntu1.
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 112 113 114 115 116 117 118 119 120 121 122 | /*
* 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): ______________________________________.
*
* $Log: qos.h,v $
* Revision 1.4 2005/11/30 12:47:38 csoutheren
* Removed tabs, reformatted some code, and changed tags for Doxygen
*
* Revision 1.3 2005/07/13 11:48:53 csoutheren
* Backported QOS changes from isvo branch
*
* Revision 1.2.10.1 2005/04/25 13:37:10 shorne
* Added P_KNOCKOUT_WINSOCK32 to avoid compilation errors
*
* Revision 1.2 2003/10/27 03:51:38 csoutheren
* Added ifdef to disable QoS code on systems that do not support it
*
* Revision 1.1 2003/10/27 03:20:10 csoutheren
* Initial version of QoS implementation
* Thanks to Henry Harrison of AliceStreet
*
*
*/
#ifndef _PQOS
#define _PQOS
#ifdef P_USE_PRAGMA
#pragma interface
#endif
#if P_HAS_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_HAS_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 // _PQOS
|