/usr/include/ns3.26/ns3/eps-bearer.h is in libns3-dev 3.26+dfsg-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 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 | /* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
/*
* Copyright (c) 2011 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation;
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* Author: Nicola Baldo <nbaldo@cttc.es>
*/
#ifndef EPS_BEARER
#define EPS_BEARER
#include <ns3/uinteger.h>
namespace ns3 {
/**
* 3GPP TS 36.143 9.2.1.18 GBR QoS Information
*
*/
struct GbrQosInformation
{
/**
* Default constructor, inizializes member variables to zero or equivalent
*/
GbrQosInformation ();
uint64_t gbrDl; /**< Guaranteed Bit Rate (bit/s) in downlink */
uint64_t gbrUl; /**< Guaranteed Bit Rate (bit/s) in uplink */
uint64_t mbrDl; /**< Maximum Bit Rate (bit/s) in downlink */
uint64_t mbrUl; /**< Maximum Bit Rate (bit/s) in uplink */
};
/**
* 3GPP 23.203 Section 6.1.7.3 Allocation and Retention Priority characteristics
*
*/
struct AllocationRetentionPriority
{
/**
* Default constructor, inizializes member variables to zero or equivalent
*/
AllocationRetentionPriority ();
uint8_t priorityLevel; // /< 1-15; 1 = highest
bool preemptionCapability; // /< true if bearer can preempt others
bool preemptionVulnerability; // true if bearer can be preempted by others
};
/**
* This class contains the specification of EPS Bearers.
*
* See the following references:
* 3GPP TS 23.203, Section 4.7.2 The EPS bearer
* 3GPP TS 23.203, Section 4.7.3 Bearer level QoS parameters
* 3GPP TS 36.413 Section 9.2.1.15 E-RAB Level QoS Parameters
*
*/
struct EpsBearer
{
/**
* QoS Class Indicator. See 3GPP 23.203 Section 6.1.7.2 for standard values.
*/
enum Qci
{
GBR_CONV_VOICE = 1,
GBR_CONV_VIDEO = 2,
GBR_GAMING = 3,
GBR_NON_CONV_VIDEO = 4,
NGBR_IMS = 5,
NGBR_VIDEO_TCP_OPERATOR = 6,
NGBR_VOICE_VIDEO_GAMING = 7,
NGBR_VIDEO_TCP_PREMIUM = 8,
NGBR_VIDEO_TCP_DEFAULT = 9,
} qci;
GbrQosInformation gbrQosInfo;
AllocationRetentionPriority arp;
/**
* Deault constructor. QCI will be initialized to NGBR_VIDEO_TCP_DEFAULT
*
*/
EpsBearer ();
/**
*
* @param x the QoS Class Indicator
*
*/
EpsBearer (Qci x);
EpsBearer (Qci x, GbrQosInformation y);
/**
*
* @return true if the EPS Bearer is a Guaranteed Bit Rate bearer, false otherwise
*/
bool IsGbr () const;
/**
*
* @return the priority associated with the QCI of this bearer as per 3GPP 23.203 Section 6.1.7.2
*/
uint8_t GetPriority () const;
/**
*
*
*
* @return the packet delay budget associated with the QCI of this bearer as per 3GPP 23.203 Section 6.1.7.2
*/
uint16_t GetPacketDelayBudgetMs () const;
/**
*
*
*
* @return the packet error loss rate associated with the QCI of this bearer as per 3GPP 23.203 Section 6.1.7.2
*/
double GetPacketErrorLossRate () const;
};
} // namespace ns3
#endif // EPS_BEARER
|