A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Documentation ▼
Installation
Manual
Models
Contributing
Wiki
Development ▼
API Docs
Issue Tracker
Merge Requests
API
Loading...
Searching...
No Matches
capability-information.cc
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2006 INRIA
3
*
4
* SPDX-License-Identifier: GPL-2.0-only
5
*
6
* Author: Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
7
*/
8
9
#include "
capability-information.h
"
10
11
namespace
ns3
12
{
13
14
CapabilityInformation::CapabilityInformation
()
15
: m_capability(0)
16
{
17
}
18
19
void
20
CapabilityInformation::SetEss
()
21
{
22
Set
(0);
23
Clear
(1);
24
}
25
26
void
27
CapabilityInformation::SetIbss
()
28
{
29
Clear
(0);
30
Set
(1);
31
}
32
33
void
34
CapabilityInformation::SetShortPreamble
(
bool
shortPreamble)
35
{
36
if
(shortPreamble)
37
{
38
Set
(5);
39
}
40
}
41
42
void
43
CapabilityInformation::SetShortSlotTime
(
bool
shortSlotTime)
44
{
45
if
(shortSlotTime)
46
{
47
Set
(10);
48
}
49
}
50
51
void
52
CapabilityInformation::SetCfPollable
()
53
{
54
Set
(2);
55
}
56
57
void
58
CapabilityInformation::SetCriticalUpdate
(
bool
flag)
59
{
60
if
(flag)
61
{
62
Set
(6);
63
}
64
}
65
66
bool
67
CapabilityInformation::IsEss
()
const
68
{
69
return
Is
(0);
70
}
71
72
bool
73
CapabilityInformation::IsIbss
()
const
74
{
75
return
Is
(1);
76
}
77
78
bool
79
CapabilityInformation::IsShortPreamble
()
const
80
{
81
return
Is
(5);
82
}
83
84
bool
85
CapabilityInformation::IsShortSlotTime
()
const
86
{
87
return
Is
(10);
88
}
89
90
bool
91
CapabilityInformation::IsCfPollable
()
const
92
{
93
return
Is
(2);
94
}
95
96
bool
97
CapabilityInformation::IsCriticalUpdate
()
const
98
{
99
return
Is
(6);
100
}
101
102
void
103
CapabilityInformation::Set
(uint8_t n)
104
{
105
uint32_t
mask = 1 << n;
106
m_capability
|= mask;
107
}
108
109
void
110
CapabilityInformation::Clear
(uint8_t n)
111
{
112
uint32_t
mask = 1 << n;
113
m_capability
&= ~mask;
114
}
115
116
bool
117
CapabilityInformation::Is
(uint8_t n)
const
118
{
119
uint32_t
mask = 1 << n;
120
return
(
m_capability
& mask) == mask;
121
}
122
123
uint32_t
124
CapabilityInformation::GetSerializedSize
()
const
125
{
126
return
2;
127
}
128
129
Buffer::Iterator
130
CapabilityInformation::Serialize
(
Buffer::Iterator
start)
const
131
{
132
start.
WriteHtolsbU16
(
m_capability
);
133
return
start;
134
}
135
136
Buffer::Iterator
137
CapabilityInformation::Deserialize
(
Buffer::Iterator
start)
138
{
139
m_capability
= start.ReadLsbtohU16();
140
return
start;
141
}
142
143
}
// namespace ns3
capability-information.h
ns3::Buffer::Iterator
iterator in a Buffer instance
Definition
buffer.h:89
ns3::Buffer::Iterator::WriteHtolsbU16
void WriteHtolsbU16(uint16_t data)
Definition
buffer.cc:891
ns3::CapabilityInformation::SetCriticalUpdate
void SetCriticalUpdate(bool flag)
Set Critical Update flag (see IEEE 802.11be D5.0 9.4.1.4)
Definition
capability-information.cc:58
ns3::CapabilityInformation::SetEss
void SetEss()
Set the Extended Service Set (ESS) bit in the capability information field.
Definition
capability-information.cc:20
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:85
ns3::CapabilityInformation::m_capability
uint16_t m_capability
capability
Definition
capability-information.h:160
ns3::CapabilityInformation::GetSerializedSize
uint32_t GetSerializedSize() const
Return the serialized size of capability information.
Definition
capability-information.cc:124
ns3::CapabilityInformation::CapabilityInformation
CapabilityInformation()
Definition
capability-information.cc:14
ns3::CapabilityInformation::SetCfPollable
void SetCfPollable()
Set the CF-Pollable bit in the capability information field.
Definition
capability-information.cc:52
ns3::CapabilityInformation::IsCriticalUpdate
bool IsCriticalUpdate() const
Check if Critical Update bit is set to 1.
Definition
capability-information.cc:97
ns3::CapabilityInformation::Serialize
Buffer::Iterator Serialize(Buffer::Iterator start) const
Serialize capability information to the given buffer.
Definition
capability-information.cc:130
ns3::CapabilityInformation::Set
void Set(uint8_t n)
Set bit n to 1.
Definition
capability-information.cc:103
ns3::CapabilityInformation::SetShortSlotTime
void SetShortSlotTime(bool shortSlotTime)
Set the short slot time bit in the capability information field.
Definition
capability-information.cc:43
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:67
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:73
ns3::CapabilityInformation::Clear
void Clear(uint8_t n)
Set bit n to 0.
Definition
capability-information.cc:110
ns3::CapabilityInformation::SetShortPreamble
void SetShortPreamble(bool shortPreamble)
Set the short preamble bit in the capability information field.
Definition
capability-information.cc:34
ns3::CapabilityInformation::Is
bool Is(uint8_t n) const
Check if bit n is set to 1.
Definition
capability-information.cc:117
ns3::CapabilityInformation::SetIbss
void SetIbss()
Set the Independent BSS (IBSS) bit in the capability information field.
Definition
capability-information.cc:27
ns3::CapabilityInformation::Deserialize
Buffer::Iterator Deserialize(Buffer::Iterator start)
Deserialize capability information from the given buffer.
Definition
capability-information.cc:137
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:91
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:79
uint32_t
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
src
wifi
model
capability-information.cc
Generated on Mon Feb 17 2025 18:20:56 for ns-3 by
1.11.0