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
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
bool
63
CapabilityInformation::IsEss
(
void
)
const
64
{
65
return
Is
(0);
66
}
67
68
bool
69
CapabilityInformation::IsIbss
(
void
)
const
70
{
71
return
Is
(1);
72
}
73
74
bool
75
CapabilityInformation::IsShortPreamble
(
void
)
const
76
{
77
return
Is
(5);
78
}
79
80
bool
81
CapabilityInformation::IsShortSlotTime
(
void
)
const
82
{
83
return
Is
(10);
84
}
85
86
void
87
CapabilityInformation::Set
(uint8_t n)
88
{
89
uint32_t mask = 1 << n;
90
m_capability
|= mask;
91
}
92
93
void
94
CapabilityInformation::Clear
(uint8_t n)
95
{
96
uint32_t mask = 1 << n;
97
m_capability
&= ~mask;
98
}
99
100
bool
101
CapabilityInformation::Is
(uint8_t n)
const
102
{
103
uint32_t mask = 1 << n;
104
return
(
m_capability
& mask) == mask;
105
}
106
107
uint32_t
108
CapabilityInformation::GetSerializedSize
(
void
)
const
109
{
110
return
2;
111
}
112
113
Buffer::Iterator
114
CapabilityInformation::Serialize
(
Buffer::Iterator
start
)
const
115
{
116
start.
WriteHtolsbU16
(
m_capability
);
117
return
start
;
118
}
119
120
Buffer::Iterator
121
CapabilityInformation::Deserialize
(
Buffer::Iterator
start
)
122
{
123
m_capability
= start.
ReadLsbtohU16
();
124
return
start
;
125
}
126
127
}
//namespace ns3
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:69
ns3::CapabilityInformation::SetIbss
void SetIbss(void)
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:121
visualizer.core.start
def start()
Definition:
core.py:1790
ns3::CapabilityInformation::m_capability
uint16_t m_capability
capability
Definition:
capability-information.h:146
ns3::CapabilityInformation::Serialize
Buffer::Iterator Serialize(Buffer::Iterator start) const
Serialize capability information to the given buffer.
Definition:
capability-information.cc:114
ns3::Buffer::Iterator
iterator in a Buffer instance
Definition:
buffer.h:98
ns3::CapabilityInformation::Is
bool Is(uint8_t n) const
Check if bit n is set to 1.
Definition:
capability-information.cc:101
ns3::CapabilityInformation::SetEss
void SetEss(void)
Set the Extended Service Set (ESS) bit in the capability information field.
Definition:
capability-information.cc:31
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
capability-information.h
ns3::CapabilityInformation::CapabilityInformation
CapabilityInformation()
Definition:
capability-information.cc:25
ns3::CapabilityInformation::SetShortPreamble
void SetShortPreamble(bool shortPreamble)
Set the short preamble bit in the capability information field.
Definition:
capability-information.cc:45
ns3::CapabilityInformation::Set
void Set(uint8_t n)
Set bit n to 1.
Definition:
capability-information.cc:87
ns3::Buffer::Iterator::WriteHtolsbU16
void WriteHtolsbU16(uint16_t data)
Definition:
buffer.cc:913
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:81
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:63
ns3::CapabilityInformation::GetSerializedSize
uint32_t GetSerializedSize(void) const
Return the serialized size of capability information.
Definition:
capability-information.cc:108
ns3::Buffer::Iterator::ReadLsbtohU16
uint16_t ReadLsbtohU16(void)
Definition:
buffer.cc:1068
ns3::CapabilityInformation::Clear
void Clear(uint8_t n)
Set bit n to 0.
Definition:
capability-information.cc:94
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::IsShortPreamble
bool IsShortPreamble(void) const
Check if the short preamble bit in the capability information field is set to 1.
Definition:
capability-information.cc:75
src
wifi
model
capability-information.cc
Generated on Wed Mar 21 2018 14:24:32 for ns-3 by
1.8.9.1