A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Documentation ▼
Installation
Manual
Models
Contributing
Wiki
Development ▼
API Docs
Issue Tracker
Merge Requests
API
capability-information.cc
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2006 INRIA
3
*
4
* This program is free software; you can redistribute it and/or modify
5
* it under the terms of the GNU General Public License version 2 as
6
* published by the Free Software Foundation;
7
*
8
* This program is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU General Public License for more details.
12
*
13
* You should have received a copy of the GNU General Public License
14
* along with this program; if not, write to the Free Software
15
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16
*
17
* Author: Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
18
*/
19
20
#include "
capability-information.h
"
21
22
namespace
ns3
23
{
24
25
CapabilityInformation::CapabilityInformation
()
26
: m_capability(0)
27
{
28
}
29
30
void
31
CapabilityInformation::SetEss
()
32
{
33
Set
(0);
34
Clear
(1);
35
}
36
37
void
38
CapabilityInformation::SetIbss
()
39
{
40
Clear
(0);
41
Set
(1);
42
}
43
44
void
45
CapabilityInformation::SetShortPreamble
(
bool
shortPreamble)
46
{
47
if
(shortPreamble)
48
{
49
Set
(5);
50
}
51
}
52
53
void
54
CapabilityInformation::SetShortSlotTime
(
bool
shortSlotTime)
55
{
56
if
(shortSlotTime)
57
{
58
Set
(10);
59
}
60
}
61
62
void
63
CapabilityInformation::SetCfPollable
()
64
{
65
Set
(2);
66
}
67
68
bool
69
CapabilityInformation::IsEss
()
const
70
{
71
return
Is
(0);
72
}
73
74
bool
75
CapabilityInformation::IsIbss
()
const
76
{
77
return
Is
(1);
78
}
79
80
bool
81
CapabilityInformation::IsShortPreamble
()
const
82
{
83
return
Is
(5);
84
}
85
86
bool
87
CapabilityInformation::IsShortSlotTime
()
const
88
{
89
return
Is
(10);
90
}
91
92
bool
93
CapabilityInformation::IsCfPollable
()
const
94
{
95
return
Is
(2);
96
}
97
98
void
99
CapabilityInformation::Set
(uint8_t n)
100
{
101
uint32_t mask = 1 << n;
102
m_capability
|= mask;
103
}
104
105
void
106
CapabilityInformation::Clear
(uint8_t n)
107
{
108
uint32_t mask = 1 << n;
109
m_capability
&= ~mask;
110
}
111
112
bool
113
CapabilityInformation::Is
(uint8_t n)
const
114
{
115
uint32_t mask = 1 << n;
116
return
(
m_capability
& mask) == mask;
117
}
118
119
uint32_t
120
CapabilityInformation::GetSerializedSize
()
const
121
{
122
return
2;
123
}
124
125
Buffer::Iterator
126
CapabilityInformation::Serialize
(
Buffer::Iterator
start
)
const
127
{
128
start
.WriteHtolsbU16(
m_capability
);
129
return
start
;
130
}
131
132
Buffer::Iterator
133
CapabilityInformation::Deserialize
(
Buffer::Iterator
start
)
134
{
135
m_capability
=
start
.ReadLsbtohU16();
136
return
start
;
137
}
138
139
}
// namespace ns3
capability-information.h
ns3::Buffer::Iterator
iterator in a Buffer instance
Definition:
buffer.h:100
ns3::CapabilityInformation::SetEss
void SetEss()
Set the Extended Service Set (ESS) bit in the capability information field.
Definition:
capability-information.cc:31
ns3::CapabilityInformation::IsShortSlotTime
bool IsShortSlotTime() const
Check if the short slot time in the capability information field is set to 1.
Definition:
capability-information.cc:87
ns3::CapabilityInformation::m_capability
uint16_t m_capability
capability
Definition:
capability-information.h:158
ns3::CapabilityInformation::GetSerializedSize
uint32_t GetSerializedSize() const
Return the serialized size of capability information.
Definition:
capability-information.cc:120
ns3::CapabilityInformation::CapabilityInformation
CapabilityInformation()
Definition:
capability-information.cc:25
ns3::CapabilityInformation::SetCfPollable
void SetCfPollable()
Set the CF-Pollable bit in the capability information field.
Definition:
capability-information.cc:63
ns3::CapabilityInformation::Serialize
Buffer::Iterator Serialize(Buffer::Iterator start) const
Serialize capability information to the given buffer.
Definition:
capability-information.cc:126
ns3::CapabilityInformation::Set
void Set(uint8_t n)
Set bit n to 1.
Definition:
capability-information.cc:99
ns3::CapabilityInformation::SetShortSlotTime
void SetShortSlotTime(bool shortSlotTime)
Set the short slot time bit in the capability information field.
Definition:
capability-information.cc:54
ns3::CapabilityInformation::IsEss
bool IsEss() const
Check if the Extended Service Set (ESS) bit in the capability information field is set to 1.
Definition:
capability-information.cc:69
ns3::CapabilityInformation::IsIbss
bool IsIbss() const
Check if the Independent BSS (IBSS) bit in the capability information field is set to 1.
Definition:
capability-information.cc:75
ns3::CapabilityInformation::Clear
void Clear(uint8_t n)
Set bit n to 0.
Definition:
capability-information.cc:106
ns3::CapabilityInformation::SetShortPreamble
void SetShortPreamble(bool shortPreamble)
Set the short preamble bit in the capability information field.
Definition:
capability-information.cc:45
ns3::CapabilityInformation::Is
bool Is(uint8_t n) const
Check if bit n is set to 1.
Definition:
capability-information.cc:113
ns3::CapabilityInformation::SetIbss
void SetIbss()
Set the Independent BSS (IBSS) bit in the capability information field.
Definition:
capability-information.cc:38
ns3::CapabilityInformation::Deserialize
Buffer::Iterator Deserialize(Buffer::Iterator start)
Deserialize capability information from the given buffer.
Definition:
capability-information.cc:133
ns3::CapabilityInformation::IsCfPollable
bool IsCfPollable() const
Check if the CF-Pollable bit in the capability information field is set to 1.
Definition:
capability-information.cc:93
ns3::CapabilityInformation::IsShortPreamble
bool IsShortPreamble() const
Check if the short preamble bit in the capability information field is set to 1.
Definition:
capability-information.cc:81
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
two-ray-to-three-gpp-ch-calibration.start
start
Definition:
two-ray-to-three-gpp-ch-calibration.py:520
src
wifi
model
capability-information.cc
Generated on Sun Mar 3 2024 17:11:10 for ns-3 by
1.9.1