A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Documentation ▼
Manual
Models
Contributing
Wiki
Development ▼
API Docs
Issue Tracker
Merge Requests
API
capability-information.cc
Go to the documentation of this file.
1
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2
/*
3
* Copyright (c) 2006 INRIA
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: Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
19
*/
20
21
#include "
capability-information.h
"
22
23
namespace
ns3
{
24
25
CapabilityInformation::CapabilityInformation
()
26
: m_capability (0)
27
{
28
}
29
30
void
31
CapabilityInformation::SetEss
(
void
)
32
{
33
Set
(0);
34
Clear
(1);
35
}
36
37
void
38
CapabilityInformation::SetIbss
(
void
)
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
(
void
)
64
{
65
Set
(2);
66
}
67
68
bool
69
CapabilityInformation::IsEss
(
void
)
const
70
{
71
return
Is
(0);
72
}
73
74
bool
75
CapabilityInformation::IsIbss
(
void
)
const
76
{
77
return
Is
(1);
78
}
79
80
bool
81
CapabilityInformation::IsShortPreamble
(
void
)
const
82
{
83
return
Is
(5);
84
}
85
86
bool
87
CapabilityInformation::IsShortSlotTime
(
void
)
const
88
{
89
return
Is
(10);
90
}
91
92
bool
93
CapabilityInformation::IsCfPollable
(
void
)
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
(
void
)
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:99
ns3::CapabilityInformation::m_capability
uint16_t m_capability
capability
Definition:
capability-information.h:159
ns3::CapabilityInformation::SetIbss
void SetIbss(void)
Set the Independent BSS (IBSS) bit in the capability information field.
Definition:
capability-information.cc:38
ns3::CapabilityInformation::CapabilityInformation
CapabilityInformation()
Definition:
capability-information.cc:25
ns3::CapabilityInformation::IsShortPreamble
bool IsShortPreamble(void) const
Check if the short preamble bit in the capability information field is set to 1.
Definition:
capability-information.cc:81
ns3::CapabilityInformation::SetCfPollable
void SetCfPollable(void)
Set the CF-Pollable bit in the capability information field.
Definition:
capability-information.cc:63
ns3::CapabilityInformation::IsCfPollable
bool IsCfPollable(void) const
Check if the CF-Pollable bit in the capability information field is set to 1.
Definition:
capability-information.cc:93
ns3::CapabilityInformation::Serialize
Buffer::Iterator Serialize(Buffer::Iterator start) const
Serialize capability information to the given buffer.
Definition:
capability-information.cc:126
ns3::CapabilityInformation::IsShortSlotTime
bool IsShortSlotTime(void) const
Check if the short slot time in the capability information field is set to 1.
Definition:
capability-information.cc:87
ns3::CapabilityInformation::IsIbss
bool IsIbss(void) const
Check if the Independent BSS (IBSS) bit in the capability information field is set to 1.
Definition:
capability-information.cc:75
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::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::SetEss
void SetEss(void)
Set the Extended Service Set (ESS) bit in the capability information field.
Definition:
capability-information.cc:31
ns3::CapabilityInformation::Is
bool Is(uint8_t n) const
Check if bit n is set to 1.
Definition:
capability-information.cc:113
ns3::CapabilityInformation::IsEss
bool IsEss(void) 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::Deserialize
Buffer::Iterator Deserialize(Buffer::Iterator start)
Deserialize capability information from the given buffer.
Definition:
capability-information.cc:133
ns3::CapabilityInformation::GetSerializedSize
uint32_t GetSerializedSize(void) const
Return the serialized size of capability information.
Definition:
capability-information.cc:120
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
visualizer.core.start
def start()
Definition:
core.py:1853
src
wifi
model
capability-information.cc
Generated on Tue Feb 6 2024 19:21:28 for ns-3 by
1.9.1