A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Portuguese
Docs ▼
Wiki
Manual
Models
Develop ▼
API
Bugs
API
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Groups
Pages
lte-enb-cmac-sap.h
Go to the documentation of this file.
1
/* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */
2
/*
3
* Copyright (c) 2011 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC)
4
*
5
* This program is free software; you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License version 2 as
7
* published by the Free Software Foundation;
8
*
9
* This program is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
* GNU General Public License for more details.
13
*
14
* You should have received a copy of the GNU General Public License
15
* along with this program; if not, write to the Free Software
16
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17
*
18
* Author: Nicola Baldo <nbaldo@cttc.es>
19
* Marco Miozzo <mmiozzo@cttc.es>
20
*/
21
22
#ifndef LTE_ENB_CMAC_SAP_H
23
#define LTE_ENB_CMAC_SAP_H
24
25
#include <ns3/packet.h>
26
#include <ns3/ff-mac-common.h>
27
#include <ns3/eps-bearer.h>
28
#include <ns3/lte-common.h>
29
30
namespace
ns3 {
31
32
33
class
LteMacSapUser;
34
41
class
LteEnbCmacSapProvider
42
{
43
public
:
44
virtual
~LteEnbCmacSapProvider
();
51
virtual
void
ConfigureMac
(uint8_t ulBandwidth,
52
uint8_t dlBandwidth) = 0;
53
54
55
virtual
void
AddUe
(uint16_t rnti) = 0;
56
62
virtual
void
RemoveUe
(uint16_t rnti) = 0;
63
68
struct
LcInfo
69
{
70
uint16_t
rnti
;
71
uint8_t
lcId
;
72
uint8_t
lcGroup
;
73
uint8_t
qci
;
74
bool
isGbr
;
75
uint64_t
mbrUl
;
76
uint64_t
mbrDl
;
77
uint64_t
gbrUl
;
78
uint64_t
gbrDl
;
79
};
80
87
virtual
void
AddLc
(
LcInfo
lcinfo,
LteMacSapUser
* msu) = 0;
88
89
95
virtual
void
ReconfigureLc
(
LcInfo
lcinfo) = 0;
96
97
104
virtual
void
ReleaseLc
(uint16_t rnti, uint8_t lcid) = 0;
105
109
struct
UeConfig
110
{
114
uint16_t
m_rnti
;
118
uint8_t
m_transmissionMode
;
119
};
120
126
virtual
void
UeUpdateConfigurationReq
(
UeConfig
params) = 0;
127
128
133
struct
RachConfig
134
{
135
uint8_t
numberOfRaPreambles
;
136
uint8_t
preambleTransMax
;
137
uint8_t
raResponseWindowSize
;
138
};
139
144
virtual
RachConfig
GetRachConfig
() = 0;
145
150
struct
AllocateNcRaPreambleReturnValue
151
{
152
bool
valid
;
153
uint8_t
raPreambleId
;
154
uint8_t
raPrachMaskIndex
;
155
};
156
164
virtual
AllocateNcRaPreambleReturnValue
AllocateNcRaPreamble
(uint16_t rnti) = 0;
165
166
};
167
168
169
176
class
LteEnbCmacSapUser
177
{
178
public
:
179
virtual
~LteEnbCmacSapUser
();
180
186
virtual
uint16_t
AllocateTemporaryCellRnti
() = 0;
187
195
virtual
void
NotifyLcConfigResult
(uint16_t rnti, uint8_t lcid,
bool
success) = 0;
196
200
struct
UeConfig
201
{
205
uint16_t
m_rnti
;
209
uint8_t
m_transmissionMode
;
210
};
211
217
virtual
void
RrcConfigurationUpdateInd
(
UeConfig
params) = 0;
218
};
219
220
221
222
223
224
225
226
}
// namespace ns3
227
228
229
#endif // MAC_SAP_H
ns3::LteEnbCmacSapProvider::ReconfigureLc
virtual void ReconfigureLc(LcInfo lcinfo)=0
ns3::LteEnbCmacSapProvider::AllocateNcRaPreambleReturnValue
Definition:
lte-enb-cmac-sap.h:150
ns3::LteEnbCmacSapProvider::ReleaseLc
virtual void ReleaseLc(uint16_t rnti, uint8_t lcid)=0
ns3::LteEnbCmacSapUser::UeConfig::m_rnti
uint16_t m_rnti
Definition:
lte-enb-cmac-sap.h:205
ns3::LteEnbCmacSapProvider::UeConfig::m_transmissionMode
uint8_t m_transmissionMode
Definition:
lte-enb-cmac-sap.h:118
ns3::LteEnbCmacSapProvider::RachConfig::preambleTransMax
uint8_t preambleTransMax
Definition:
lte-enb-cmac-sap.h:136
ns3::LteEnbCmacSapProvider::RachConfig::raResponseWindowSize
uint8_t raResponseWindowSize
Definition:
lte-enb-cmac-sap.h:137
ns3::LteEnbCmacSapProvider::LcInfo::qci
uint8_t qci
Definition:
lte-enb-cmac-sap.h:73
ns3::LteEnbCmacSapUser::UeConfig::m_transmissionMode
uint8_t m_transmissionMode
Definition:
lte-enb-cmac-sap.h:209
ns3::LteEnbCmacSapProvider::AddUe
virtual void AddUe(uint16_t rnti)=0
ns3::LteEnbCmacSapProvider::LcInfo::mbrDl
uint64_t mbrDl
Definition:
lte-enb-cmac-sap.h:76
ns3::LteEnbCmacSapUser::NotifyLcConfigResult
virtual void NotifyLcConfigResult(uint16_t rnti, uint8_t lcid, bool success)=0
ns3::LteEnbCmacSapUser
Definition:
lte-enb-cmac-sap.h:176
ns3::LteEnbCmacSapProvider::LcInfo::lcId
uint8_t lcId
Definition:
lte-enb-cmac-sap.h:71
ns3::LteEnbCmacSapProvider::UeConfig::m_rnti
uint16_t m_rnti
Definition:
lte-enb-cmac-sap.h:114
ns3::LteEnbCmacSapProvider::~LteEnbCmacSapProvider
virtual ~LteEnbCmacSapProvider()
Definition:
lte-enb-cmac-sap.cc:28
ns3::LteEnbCmacSapUser::RrcConfigurationUpdateInd
virtual void RrcConfigurationUpdateInd(UeConfig params)=0
ns3::LteEnbCmacSapProvider::LcInfo
Definition:
lte-enb-cmac-sap.h:68
ns3::LteEnbCmacSapProvider::GetRachConfig
virtual RachConfig GetRachConfig()=0
ns3::LteEnbCmacSapUser::~LteEnbCmacSapUser
virtual ~LteEnbCmacSapUser()
Definition:
lte-enb-cmac-sap.cc:32
ns3::LteEnbCmacSapProvider::UeConfig
Parameters for [re]configuring the UE.
Definition:
lte-enb-cmac-sap.h:109
ns3::LteEnbCmacSapProvider::RachConfig::numberOfRaPreambles
uint8_t numberOfRaPreambles
Definition:
lte-enb-cmac-sap.h:135
ns3::LteEnbCmacSapProvider::LcInfo::lcGroup
uint8_t lcGroup
Definition:
lte-enb-cmac-sap.h:72
ns3::LteEnbCmacSapUser::UeConfig
Parameters for [re]configuring the UE.
Definition:
lte-enb-cmac-sap.h:200
ns3::LteEnbCmacSapProvider::LcInfo::rnti
uint16_t rnti
Definition:
lte-enb-cmac-sap.h:70
ns3::LteEnbCmacSapProvider::LcInfo::mbrUl
uint64_t mbrUl
Definition:
lte-enb-cmac-sap.h:75
ns3::LteEnbCmacSapProvider::LcInfo::gbrUl
uint64_t gbrUl
Definition:
lte-enb-cmac-sap.h:77
ns3::LteEnbCmacSapProvider::AddLc
virtual void AddLc(LcInfo lcinfo, LteMacSapUser *msu)=0
ns3::LteEnbCmacSapProvider::ConfigureMac
virtual void ConfigureMac(uint8_t ulBandwidth, uint8_t dlBandwidth)=0
ns3::LteMacSapUser
Definition:
lte-mac-sap.h:94
ns3::LteEnbCmacSapProvider::RachConfig
Definition:
lte-enb-cmac-sap.h:133
ns3::LteEnbCmacSapProvider::AllocateNcRaPreamble
virtual AllocateNcRaPreambleReturnValue AllocateNcRaPreamble(uint16_t rnti)=0
ns3::LteEnbCmacSapProvider::AllocateNcRaPreambleReturnValue::raPrachMaskIndex
uint8_t raPrachMaskIndex
Definition:
lte-enb-cmac-sap.h:154
ns3::LteEnbCmacSapProvider::UeUpdateConfigurationReq
virtual void UeUpdateConfigurationReq(UeConfig params)=0
ns3::LteEnbCmacSapProvider::AllocateNcRaPreambleReturnValue::valid
bool valid
true if a valid RA config was allocated, false otherwise
Definition:
lte-enb-cmac-sap.h:152
ns3::LteEnbCmacSapProvider::RemoveUe
virtual void RemoveUe(uint16_t rnti)=0
ns3::LteEnbCmacSapProvider
Definition:
lte-enb-cmac-sap.h:41
ns3::LteEnbCmacSapProvider::LcInfo::gbrDl
uint64_t gbrDl
Definition:
lte-enb-cmac-sap.h:78
ns3::LteEnbCmacSapProvider::AllocateNcRaPreambleReturnValue::raPreambleId
uint8_t raPreambleId
random access preamble id
Definition:
lte-enb-cmac-sap.h:153
ns3::LteEnbCmacSapUser::AllocateTemporaryCellRnti
virtual uint16_t AllocateTemporaryCellRnti()=0
ns3::LteEnbCmacSapProvider::LcInfo::isGbr
bool isGbr
Definition:
lte-enb-cmac-sap.h:74
src
lte
model
lte-enb-cmac-sap.h
Generated on Sat Nov 16 2013 12:55:31 for ns-3 by
1.8.5